33 #ifndef _LAPACKE_CONFIG_H_
34 #define _LAPACKE_CONFIG_H_
37 #if defined(LAPACK_COMPLEX_CPP)
48 #if defined(LAPACK_ILP64)
49 #define lapack_int int64_t
51 #define lapack_int int32_t
59 #if defined(LAPACK_ILP64)
60 #define LAPACK_IFMT PRId64
62 #define LAPACK_IFMT PRId32
66 #ifndef lapack_logical
67 #define lapack_logical lapack_int
70 #ifndef LAPACK_COMPLEX_CUSTOM
72 #if defined(LAPACK_COMPLEX_STRUCTURE)
74 typedef struct {
float real, imag; } _lapack_complex_float;
75 typedef struct {
double real, imag; } _lapack_complex_double;
76 #define lapack_complex_float _lapack_complex_float
77 #define lapack_complex_double _lapack_complex_double
78 #define lapack_complex_float_real(z) ((z).real)
79 #define lapack_complex_float_imag(z) ((z).imag)
80 #define lapack_complex_double_real(z) ((z).real)
81 #define lapack_complex_double_imag(z) ((z).imag)
83 #elif defined(LAPACK_COMPLEX_C99)
86 #define lapack_complex_float float _Complex
87 #define lapack_complex_double double _Complex
88 #define lapack_complex_float_real(z) (creal(z))
89 #define lapack_complex_float_imag(z) (cimag(z))
90 #define lapack_complex_double_real(z) (creal(z))
91 #define lapack_complex_double_imag(z) (cimag(z))
93 #elif defined(LAPACK_COMPLEX_CPP)
95 #define lapack_complex_float std::complex<float>
96 #define lapack_complex_double std::complex<double>
97 #define lapack_complex_float_real(z) ((z).real())
98 #define lapack_complex_float_imag(z) ((z).imag())
99 #define lapack_complex_double_real(z) ((z).real())
100 #define lapack_complex_double_imag(z) ((z).imag())
105 #define lapack_complex_float float _Complex
106 #define lapack_complex_double double _Complex
107 #define lapack_complex_float_real(z) (creal(z))
108 #define lapack_complex_float_imag(z) (cimag(z))
109 #define lapack_complex_double_real(z) (creal(z))
110 #define lapack_complex_double_imag(z) (cimag(z))
114 lapack_complex_float lapack_make_complex_float(
float re,
float im );
115 lapack_complex_double lapack_make_complex_double(
double re,
double im );
119 #ifndef LAPACK_malloc
120 #define LAPACK_malloc( size ) malloc( size )
124 #define LAPACK_free( p ) free( p )