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
67#define lapack_logical lapack_int
70#ifndef LAPACK_COMPLEX_CUSTOM
72#if defined(LAPACK_COMPLEX_STRUCTURE)
74typedef struct {
float real, imag; } _lapack_complex_float;
75typedef 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))
120#define LAPACK_malloc( size ) malloc( size )
124#define LAPACK_free( p ) free( p )
lapack_complex_float lapack_make_complex_float(float re, float im)
lapack_complex_double lapack_make_complex_double(double re, double im)
#define lapack_complex_double
#define lapack_complex_float