2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34#ifndef _LAPACKE_CONFIG_H_
35#define _LAPACKE_CONFIG_H_
38#define LAPACK_COMPLEX_CPP
40#if defined(LAPACK_COMPLEX_CPP
)
49#if defined(LAPACK_ILP64)
50#define lapack_int long
60#ifndef LAPACK_COMPLEX_CUSTOM
62#if defined(LAPACK_COMPLEX_STRUCTURE)
66} _lapack_complex_float;
69} _lapack_complex_double;
70#define lapack_complex_float _lapack_complex_float
71#define lapack_complex_double _lapack_complex_double
72#define lapack_complex_float_real(z) ((z).real)
73#define lapack_complex_float_imag(z) ((z).imag)
74#define lapack_complex_double_real(z) ((z).real)
75#define lapack_complex_double_imag(z) ((z).imag)
77#elif defined(LAPACK_COMPLEX_C99)
80#define lapack_complex_float float _Complex
81#define lapack_complex_double double _Complex
82#define lapack_complex_float_real(z) (creal(z))
83#define lapack_complex_float_imag(z) (cimag(z))
84#define lapack_complex_double_real(z) (creal(z))
85#define lapack_complex_double_imag(z) (cimag(z))
87#elif defined(LAPACK_COMPLEX_CPP
)
89#define lapack_complex_float std::complex<float>
90#define lapack_complex_double std::complex<double>
91#define lapack_complex_float_real(z) ((z).real())
92#define lapack_complex_float_imag(z) ((z).imag())
93#define lapack_complex_double_real(z) ((z).real())
94#define lapack_complex_double_imag(z) ((z).imag())
99#define lapack_complex_float float _Complex
100#define lapack_complex_double double _Complex
101#define lapack_complex_float_real(z) (creal(z))
102#define lapack_complex_float_imag(z) (cimag(z))
103#define lapack_complex_double_real(z) (creal(z))
104#define lapack_complex_double_imag(z) (cimag(z))
109#pragma clang diagnostic push
110#pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
117#pragma clang diagnostic pop
123#define LAPACK_malloc(size) malloc(size)
127#define LAPACK_free(p) free(p)
#define LAPACK_cheevx_2stage
#define LAPACK_chesv_rook
#define LAPACK_csytrf_rook
#define LAPACK_ssbevd_2stage
#define LAPACK_dsytrd_2stage
#define LAPACK_zhetrs_aa_2stage
#define LAPACK_sorcsd2by1
#define LAPACK_chesv_aa_2stage
#define LAPACK_dsbevd_2stage
#define LAPACK_zhesv_rook
#define LAPACK_csytrs_aa_2stage
#define LAPACK_dsyevd_2stage
#define LAPACK_zhbev_2stage
#define LAPACK_zsytrf_aa_2stage
#define LAPACK_chetrs_aa_2stage
#define LAPACK_cheevr_2stage
#define LAPACK_zhesv_aa_2stage
#define LAPACK_ssytrf_aa_2stage
#define LAPACK_ssysv_aa_2stage
#define LAPACK_ssyevx_2stage
#define LAPACK_csytrf_aa_2stage
#define LAPACK_dsytrs_rook
#define LAPACK_chetrs_rook
#define LAPACK_ssbevx_2stage
#define LAPACK_chbev_2stage
#define LAPACK_zhbevx_2stage
#define LAPACK_cheev_2stage
#define LAPACK_dsbev_2stage
#define LAPACK_chetrf_aa_2stage
#define LAPACK_zhetrs_rook
#define LAPACK_dorcsd2by1
#define LAPACK_ssbev_2stage
#define LAPACK_ssyevr_2stage
#define LAPACK_dsytrs_aa_2stage
#define LAPACK_zhbevd_2stage
#define LAPACK_chbevx_2stage
#define LAPACK_dsbevx_2stage
#define LAPACK_dsyevr_2stage
#define LAPACK_zsysv_rook
#define LAPACK_zsytrs_aa_2stage
#define LAPACK_zsytrf_rook
#define LAPACK_dsytrf_aa_2stage
#define LAPACK_dsyevx_2stage
#define LAPACK_ssytrs_rook
#define LAPACK_ssytrd_2stage
#define LAPACK_chegv_2stage
#define LAPACK_chbevd_2stage
#define LAPACK_chetrd_2stage
#define LAPACK_dsytrf_rook
#define LAPACK_zheevr_2stage
#define LAPACK_cheevd_2stage
#define LAPACK_csysv_rook
#define LAPACK_dsysv_aa_2stage
#define LAPACK_ssyev_2stage
#define LAPACK_zhegv_2stage
#define LAPACK_ssyevd_2stage
#define LAPACK_ssytrs_aa_2stage
#define LAPACK_zhetrf_aa_2stage
#define LAPACK_chetrf_rook
#define LAPACK_dsyev_2stage
#define HAVE_LAPACK_CONFIG_H
#define LAPACK_zhetrf_rook
#define LAPACK_zheev_2stage
#define LAPACK_zsysv_aa_2stage
#define LAPACK_ssytrf_rook
#define LAPACK_dsysv_rook
#define LAPACK_zheevx_2stage
#define LAPACK_zsytrs_rook
#define LAPACK_zhetrd_2stage
#define LAPACK_ssysv_rook
#define LAPACK_cuncsd2by1
#define LAPACK_zuncsd2by1
#define LAPACK_dsygv_2stage
#define LAPACK_zheevd_2stage
#define LAPACK_csytrs_rook
#define LAPACK_ssygv_2stage
#define LAPACK_csysv_aa_2stage
#define lapack_complex_float_real(z)
#define lapack_complex_float_imag(z)
#define lapack_complex_double_real(z)
#define lapack_complex_double
#define lapack_complex_float
#define lapack_complex_double_imag(z)
#define LAPACK_GLOBAL(lcname, UCNAME)