1 #include <cxxblas/cxxblas.cxx>
2
3 extern "C" {
4
5 #ifndef COMPLEX_FLOAT1
6 typedef CBLAS_FLOAT CXXBLAS_FLOAT;
7 #else
8 typedef std::complex<CBLAS_FLOAT> CXXBLAS_FLOAT;
9 #endif
10
11 CBLAS_INT
12 CBLAS_NAME(CBLAS_INT n, const CBLAS_FLOAT *_x, CBLAS_INT incX)
13 #ifdef CREATE_CBLAS
14 {
15 const CXXBLAS_FLOAT *x = reinterpret_cast<const CXXBLAS_FLOAT *>(_x);
16
17 CBLAS_INT result;
18 cxxblas::iamax(n, x, incX, result);
19 return result;
20 }
21 #else
22 ;
23 #endif // CREATE_CBLAS
24
25 #ifdef CREATE_BLAS
26 CBLAS_INT
27 BLAS_NAME(CBLAS_INT *_n, const CBLAS_FLOAT *x, CBLAS_INT *_incX)
28 {
29
30 CBLAS_INT n = *_n;
31 CBLAS_INT incX = *_incX;
32
33 // the blas interface calls the cblas interface
34 // so any blas-test will also test the cblas-interface
35 return CBLAS_NAME(n, x, incX)+1;
36 }
37 #endif // CREATE_BLAS
38
39 } // extern "C"
2
3 extern "C" {
4
5 #ifndef COMPLEX_FLOAT1
6 typedef CBLAS_FLOAT CXXBLAS_FLOAT;
7 #else
8 typedef std::complex<CBLAS_FLOAT> CXXBLAS_FLOAT;
9 #endif
10
11 CBLAS_INT
12 CBLAS_NAME(CBLAS_INT n, const CBLAS_FLOAT *_x, CBLAS_INT incX)
13 #ifdef CREATE_CBLAS
14 {
15 const CXXBLAS_FLOAT *x = reinterpret_cast<const CXXBLAS_FLOAT *>(_x);
16
17 CBLAS_INT result;
18 cxxblas::iamax(n, x, incX, result);
19 return result;
20 }
21 #else
22 ;
23 #endif // CREATE_CBLAS
24
25 #ifdef CREATE_BLAS
26 CBLAS_INT
27 BLAS_NAME(CBLAS_INT *_n, const CBLAS_FLOAT *x, CBLAS_INT *_incX)
28 {
29
30 CBLAS_INT n = *_n;
31 CBLAS_INT incX = *_incX;
32
33 // the blas interface calls the cblas interface
34 // so any blas-test will also test the cblas-interface
35 return CBLAS_NAME(n, x, incX)+1;
36 }
37 #endif // CREATE_BLAS
38
39 } // extern "C"