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_FLOAT
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_FLOAT result;
18         cxxblas::nrm2<CBLAS_INT,
19                       CXXBLAS_FLOAT,
20                       CBLAS_FLOAT>(n, x, incX, result);
21         return result;
22     }
23 #else
24     ;
25 #endif // CREATE_CBLAS
26 
27 #ifdef CREATE_BLAS
28     CBLAS_FLOAT
29     BLAS_NAME(CBLAS_INT *_n, const CBLAS_FLOAT *x, CBLAS_INT *_incX)
30     {
31 
32         CBLAS_INT n    = *_n;
33         CBLAS_INT incX = *_incX;
34 
35         // the blas interface calls the cblas interface
36         // so any blas-test will also test the cblas-interface
37         return CBLAS_NAME(n, x, incX);
38     }
39 #endif // CREATE_BLAS
40 
41 // extern "C"