max@0
|
1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
|
max@0
|
2 // Copyright (C) 2008-2011 Conrad Sanderson
|
max@0
|
3 //
|
max@0
|
4 // This file is part of the Armadillo C++ library.
|
max@0
|
5 // It is provided without any warranty of fitness
|
max@0
|
6 // for any purpose. You can redistribute this file
|
max@0
|
7 // and/or modify it under the terms of the GNU
|
max@0
|
8 // Lesser General Public License (LGPL) as published
|
max@0
|
9 // by the Free Software Foundation, either version 3
|
max@0
|
10 // of the License or (at your option) any later version.
|
max@0
|
11 // (see http://www.opensource.org/licenses for more info)
|
max@0
|
12
|
max@0
|
13
|
max@0
|
14
|
max@0
|
15 #ifdef ARMA_USE_BLAS
|
max@0
|
16
|
max@0
|
17
|
max@0
|
18 #if !defined(ARMA_BLAS_CAPITALS)
|
max@0
|
19
|
max@0
|
20 #define arma_sdot sdot
|
max@0
|
21 #define arma_ddot ddot
|
max@0
|
22
|
max@0
|
23 #define arma_sgemv sgemv
|
max@0
|
24 #define arma_dgemv dgemv
|
max@0
|
25 #define arma_cgemv cgemv
|
max@0
|
26 #define arma_zgemv zgemv
|
max@0
|
27
|
max@0
|
28 #define arma_sgemm sgemm
|
max@0
|
29 #define arma_dgemm dgemm
|
max@0
|
30 #define arma_cgemm cgemm
|
max@0
|
31 #define arma_zgemm zgemm
|
max@0
|
32
|
max@0
|
33 #else
|
max@0
|
34
|
max@0
|
35 #define arma_sdot SDOT
|
max@0
|
36 #define arma_ddot DDOT
|
max@0
|
37
|
max@0
|
38 #define arma_sgemv SGEMV
|
max@0
|
39 #define arma_dgemv DGEMV
|
max@0
|
40 #define arma_cgemv CGEMV
|
max@0
|
41 #define arma_zgemv ZGEMV
|
max@0
|
42
|
max@0
|
43 #define arma_sgemm SGEMM
|
max@0
|
44 #define arma_dgemm DGEMM
|
max@0
|
45 #define arma_cgemm CGEMM
|
max@0
|
46 #define arma_zgemm ZGEMM
|
max@0
|
47
|
max@0
|
48 #endif
|
max@0
|
49
|
max@0
|
50
|
max@0
|
51
|
max@0
|
52 extern "C"
|
max@0
|
53 {
|
max@0
|
54 float arma_fortran(arma_sdot)(blas_int* n, const float* x, blas_int* incx, const float* y, blas_int* incy);
|
max@0
|
55 double arma_fortran(arma_ddot)(blas_int* n, const double* x, blas_int* incx, const double* y, blas_int* incy);
|
max@0
|
56
|
max@0
|
57 void arma_fortran(arma_sgemv)(const char* transA, const blas_int* m, const blas_int* n, const float* alpha, const float* A, const blas_int* ldA, const float* x, const blas_int* incx, const float* beta, float* y, const blas_int* incy);
|
max@0
|
58 void arma_fortran(arma_dgemv)(const char* transA, const blas_int* m, const blas_int* n, const double* alpha, const double* A, const blas_int* ldA, const double* x, const blas_int* incx, const double* beta, double* y, const blas_int* incy);
|
max@0
|
59 void arma_fortran(arma_cgemv)(const char* transA, const blas_int* m, const blas_int* n, const void* alpha, const void* A, const blas_int* ldA, const void* x, const blas_int* incx, const void* beta, void* y, const blas_int* incy);
|
max@0
|
60 void arma_fortran(arma_zgemv)(const char* transA, const blas_int* m, const blas_int* n, const void* alpha, const void* A, const blas_int* ldA, const void* x, const blas_int* incx, const void* beta, void* y, const blas_int* incy);
|
max@0
|
61
|
max@0
|
62 void arma_fortran(arma_sgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const float* alpha, const float* A, const blas_int* ldA, const float* B, const blas_int* ldB, const float* beta, float* C, const blas_int* ldC);
|
max@0
|
63 void arma_fortran(arma_dgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const double* alpha, const double* A, const blas_int* ldA, const double* B, const blas_int* ldB, const double* beta, double* C, const blas_int* ldC);
|
max@0
|
64 void arma_fortran(arma_cgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const void* alpha, const void* A, const blas_int* ldA, const void* B, const blas_int* ldB, const void* beta, void* C, const blas_int* ldC);
|
max@0
|
65 void arma_fortran(arma_zgemm)(const char* transA, const char* transB, const blas_int* m, const blas_int* n, const blas_int* k, const void* alpha, const void* A, const blas_int* ldA, const void* B, const blas_int* ldB, const void* beta, void* C, const blas_int* ldC);
|
max@0
|
66
|
max@0
|
67 // void arma_fortran(arma_dswap)(const blas_int* n, double* x, const blas_int* incx, double* y, const blas_int* incy);
|
max@0
|
68 // void arma_fortran(arma_dscal)(const blas_int* n, const double* alpha, double* x, const blas_int* incx);
|
max@0
|
69 // void arma_fortran(arma_dcopy)(const blas_int* n, const double* x, const blas_int* incx, double* y, const blas_int* incy);
|
max@0
|
70 // void arma_fortran(arma_daxpy)(const blas_int* n, const double* alpha, const double* x, const blas_int* incx, double* y, const blas_int* incy);
|
max@0
|
71 // void arma_fortran(arma_dger )(const blas_int* m, const blas_int* n, const double* alpha, const double* x, const blas_int* incx, const double* y, const blas_int* incy, double* A, const blas_int* ldA);
|
max@0
|
72 }
|
max@0
|
73
|
max@0
|
74
|
max@0
|
75 #endif
|