Skip to content

Commit d2f1594

Browse files
authored
Merge pull request #4368 from martin-frbg/issue4073
Add complex type definitions for MSVC in Reference-LAPACK's lapack.h
2 parents 8793601 + aa46f1e commit d2f1594

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

lapack-netlib/LAPACKE/include/lapacke_config.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,17 @@ extern "C" {
6868
#endif
6969

7070
#ifndef LAPACK_COMPLEX_CUSTOM
71+
#if defined(_MSC_VER)
72+
#define _CRT_USE_C_COMPLEX_H
73+
#include <complex.h>
74+
#define LAPACK_COMPLEX_CUSTOM
75+
#define lapack_complex_float _Fcomplex
76+
#define lapack_complex_double _Dcomplex
77+
#define lapack_complex_float_real(z) (creal(z))
78+
#define lapack_complex_float_imag(z) (cimag(z))
79+
#define lapack_complex_double_real(z) (creal(z))
80+
#define lapack_complex_double_imag(z) (cimag(z))
81+
#else
7182

7283
#if defined(LAPACK_COMPLEX_STRUCTURE)
7384

@@ -109,6 +120,7 @@ typedef struct { double real, imag; } _lapack_complex_double;
109120
#define lapack_complex_double_real(z) (creal(z))
110121
#define lapack_complex_double_imag(z) (cimag(z))
111122

123+
#endif
112124
#endif
113125

114126
lapack_complex_float lapack_make_complex_float( float re, float im );

0 commit comments

Comments
 (0)