Add MSVC-compatible complex types
This commit is contained in:
parent
dcf6999c4e
commit
dcdc351272
|
@ -68,6 +68,17 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LAPACK_COMPLEX_CUSTOM
|
#ifndef LAPACK_COMPLEX_CUSTOM
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
#define _CRT_USE_C_COMPLEX_H
|
||||||
|
#include <complex.h>
|
||||||
|
#define LAPACK_COMPLEX_CUSTOM
|
||||||
|
#define lapack_complex_float _Fcomplex
|
||||||
|
#define lapack_complex_double _Dcomplex
|
||||||
|
#define lapack_complex_float_real(z) (creal(z))
|
||||||
|
#define lapack_complex_float_imag(z) (cimag(z))
|
||||||
|
#define lapack_complex_double_real(z) (creal(z))
|
||||||
|
#define lapack_complex_double_imag(z) (cimag(z))
|
||||||
|
#else
|
||||||
|
|
||||||
#if defined(LAPACK_COMPLEX_STRUCTURE)
|
#if defined(LAPACK_COMPLEX_STRUCTURE)
|
||||||
|
|
||||||
|
@ -109,6 +120,7 @@ typedef struct { double real, imag; } _lapack_complex_double;
|
||||||
#define lapack_complex_double_real(z) (creal(z))
|
#define lapack_complex_double_real(z) (creal(z))
|
||||||
#define lapack_complex_double_imag(z) (cimag(z))
|
#define lapack_complex_double_imag(z) (cimag(z))
|
||||||
|
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lapack_complex_float lapack_make_complex_float( float re, float im );
|
lapack_complex_float lapack_make_complex_float( float re, float im );
|
||||||
|
|
Loading…
Reference in New Issue