Chris@49: // Copyright (C) 2008-2011 NICTA (www.nicta.com.au) Chris@49: // Copyright (C) 2008-2011 Conrad Sanderson Chris@49: // Chris@49: // This Source Code Form is subject to the terms of the Mozilla Public Chris@49: // License, v. 2.0. If a copy of the MPL was not distributed with this Chris@49: // file, You can obtain one at http://mozilla.org/MPL/2.0/. Chris@49: Chris@49: Chris@49: Chris@49: #ifdef ARMA_USE_BLAS Chris@49: Chris@49: Chris@49: #if !defined(ARMA_BLAS_CAPITALS) Chris@49: Chris@49: #define arma_sdot sdot Chris@49: #define arma_ddot ddot Chris@49: Chris@49: #define arma_sgemv sgemv Chris@49: #define arma_dgemv dgemv Chris@49: #define arma_cgemv cgemv Chris@49: #define arma_zgemv zgemv Chris@49: Chris@49: #define arma_sgemm sgemm Chris@49: #define arma_dgemm dgemm Chris@49: #define arma_cgemm cgemm Chris@49: #define arma_zgemm zgemm Chris@49: Chris@49: #else Chris@49: Chris@49: #define arma_sdot SDOT Chris@49: #define arma_ddot DDOT Chris@49: Chris@49: #define arma_sgemv SGEMV Chris@49: #define arma_dgemv DGEMV Chris@49: #define arma_cgemv CGEMV Chris@49: #define arma_zgemv ZGEMV Chris@49: Chris@49: #define arma_sgemm SGEMM Chris@49: #define arma_dgemm DGEMM Chris@49: #define arma_cgemm CGEMM Chris@49: #define arma_zgemm ZGEMM Chris@49: Chris@49: #endif Chris@49: Chris@49: Chris@49: Chris@49: extern "C" Chris@49: { Chris@49: float arma_fortran(arma_sdot)(blas_int* n, const float* x, blas_int* incx, const float* y, blas_int* incy); Chris@49: double arma_fortran(arma_ddot)(blas_int* n, const double* x, blas_int* incx, const double* y, blas_int* incy); Chris@49: Chris@49: 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); Chris@49: 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); Chris@49: 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); Chris@49: 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); Chris@49: Chris@49: 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); Chris@49: 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); Chris@49: 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); Chris@49: 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); Chris@49: Chris@49: // void arma_fortran(arma_dswap)(const blas_int* n, double* x, const blas_int* incx, double* y, const blas_int* incy); Chris@49: // void arma_fortran(arma_dscal)(const blas_int* n, const double* alpha, double* x, const blas_int* incx); Chris@49: // void arma_fortran(arma_dcopy)(const blas_int* n, const double* x, const blas_int* incx, double* y, const blas_int* incy); Chris@49: // 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); Chris@49: // 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); Chris@49: } Chris@49: Chris@49: Chris@49: #endif