00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifdef ARMA_USE_BLAS
00016
00017
00018 #if !defined(ARMA_BLAS_CAPITALS)
00019
00020 #define arma_sdot sdot
00021 #define arma_ddot ddot
00022
00023 #define arma_sgemv sgemv
00024 #define arma_dgemv dgemv
00025 #define arma_cgemv cgemv
00026 #define arma_zgemv zgemv
00027
00028 #define arma_sgemm sgemm
00029 #define arma_dgemm dgemm
00030 #define arma_cgemm cgemm
00031 #define arma_zgemm zgemm
00032
00033 #else
00034
00035 #define arma_sdot SDOT
00036 #define arma_ddot DDOT
00037
00038 #define arma_sgemv SGEMV
00039 #define arma_dgemv DGEMV
00040 #define arma_cgemv CGEMV
00041 #define arma_zgemv ZGEMV
00042
00043 #define arma_sgemm SGEMM
00044 #define arma_dgemm DGEMM
00045 #define arma_cgemm CGEMM
00046 #define arma_zgemm ZGEMM
00047
00048 #endif
00049
00050
00051
00052 extern "C"
00053 {
00054 float arma_fortran(arma_sdot)(blas_int* n, const float* x, blas_int* incx, const float* y, blas_int* incy);
00055 double arma_fortran(arma_ddot)(blas_int* n, const double* x, blas_int* incx, const double* y, blas_int* incy);
00056
00057 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);
00058 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);
00059 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);
00060 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);
00061
00062 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);
00063 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);
00064 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);
00065 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);
00066
00067
00068
00069
00070
00071
00072 }
00073
00074
00075 #endif