Skip to content

Commit 2320e0b

Browse files
authored
Merge pull request #5244 from chitao1234/develop
allow the use of LAPACK_COMPLEX_CPP when using MSVC compiler
2 parents 151b742 + e1bd631 commit 2320e0b

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lapack-netlib/LAPACKE/include/lapacke_config.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,16 @@ extern "C" {
7575

7676
#ifndef LAPACK_COMPLEX_CUSTOM
7777
#if defined(_MSC_VER) && !defined(__INTEL_CLANG_COMPILER)
78+
#if defined(LAPACK_COMPLEX_CPP)
79+
#include <complex>
80+
#define lapack_complex_float std::complex<float>
81+
#define lapack_complex_double std::complex<double>
82+
#define lapack_complex_float_real(z) ((z).real())
83+
#define lapack_complex_float_imag(z) ((z).imag())
84+
#define lapack_complex_double_real(z) ((z).real())
85+
#define lapack_complex_double_imag(z) ((z).imag())
7886
#define _CRT_USE_C_COMPLEX_H
87+
#else
7988
#include <complex.h>
8089
#define LAPACK_COMPLEX_CUSTOM
8190
#define lapack_complex_float _Fcomplex
@@ -84,6 +93,7 @@ extern "C" {
8493
#define lapack_complex_float_imag(z) (cimag(z))
8594
#define lapack_complex_double_real(z) (creal(z))
8695
#define lapack_complex_double_imag(z) (cimag(z))
96+
#endif
8797
#else
8898

8999
#if defined(LAPACK_COMPLEX_STRUCTURE)

0 commit comments

Comments
 (0)