namespace for BLAS functions More...
Functions | |
void | sgemv_ (const char *transA, const int *m, const int *n, const float *alpha, const float *A, const int *ldA, const float *x, const int *incx, const float *beta, float *y, const int *incy) |
void | dgemv_ (const char *transA, const int *m, const int *n, const double *alpha, const double *A, const int *ldA, const double *x, const int *incx, const double *beta, double *y, const int *incy) |
void | cgemv_ (const char *transA, const int *m, const int *n, const void *alpha, const void *A, const int *ldA, const void *x, const int *incx, const void *beta, void *y, const int *incy) |
void | zgemv_ (const char *transA, const int *m, const int *n, const void *alpha, const void *A, const int *ldA, const void *x, const int *incx, const void *beta, void *y, const int *incy) |
void | sgemm_ (const char *transA, const char *transB, const int *m, const int *n, const int *k, const float *alpha, const float *A, const int *ldA, const float *B, const int *ldB, const float *beta, float *C, const int *ldC) |
void | dgemm_ (const char *transA, const char *transB, const int *m, const int *n, const int *k, const double *alpha, const double *A, const int *ldA, const double *B, const int *ldB, const double *beta, double *C, const int *ldC) |
void | cgemm_ (const char *transA, const char *transB, const int *m, const int *n, const int *k, const void *alpha, const void *A, const int *ldA, const void *B, const int *ldB, const void *beta, void *C, const int *ldC) |
void | zgemm_ (const char *transA, const char *transB, const int *m, const int *n, const int *k, const void *alpha, const void *A, const int *ldA, const void *B, const int *ldB, const void *beta, void *C, const int *ldC) |
template<typename eT > | |
void | gemv_ (const char *transA, const int *m, const int *n, const eT *alpha, const eT *A, const int *ldA, const eT *x, const int *incx, const eT *beta, eT *y, const int *incy) |
template<typename eT > | |
void | gemm_ (const char *transA, const char *transB, const int *m, const int *n, const int *k, const eT *alpha, const eT *A, const int *ldA, const eT *B, const int *ldB, const eT *beta, eT *C, const int *ldC) |
namespace for BLAS functions
void blas::sgemv_ | ( | const char * | transA, | |
const int * | m, | |||
const int * | n, | |||
const float * | alpha, | |||
const float * | A, | |||
const int * | ldA, | |||
const float * | x, | |||
const int * | incx, | |||
const float * | beta, | |||
float * | y, | |||
const int * | incy | |||
) |
Referenced by gemv_().
void blas::dgemv_ | ( | const char * | transA, | |
const int * | m, | |||
const int * | n, | |||
const double * | alpha, | |||
const double * | A, | |||
const int * | ldA, | |||
const double * | x, | |||
const int * | incx, | |||
const double * | beta, | |||
double * | y, | |||
const int * | incy | |||
) |
Referenced by gemv_().
void blas::cgemv_ | ( | const char * | transA, | |
const int * | m, | |||
const int * | n, | |||
const void * | alpha, | |||
const void * | A, | |||
const int * | ldA, | |||
const void * | x, | |||
const int * | incx, | |||
const void * | beta, | |||
void * | y, | |||
const int * | incy | |||
) |
Referenced by gemv_().
void blas::zgemv_ | ( | const char * | transA, | |
const int * | m, | |||
const int * | n, | |||
const void * | alpha, | |||
const void * | A, | |||
const int * | ldA, | |||
const void * | x, | |||
const int * | incx, | |||
const void * | beta, | |||
void * | y, | |||
const int * | incy | |||
) |
Referenced by gemv_().
void blas::sgemm_ | ( | const char * | transA, | |
const char * | transB, | |||
const int * | m, | |||
const int * | n, | |||
const int * | k, | |||
const float * | alpha, | |||
const float * | A, | |||
const int * | ldA, | |||
const float * | B, | |||
const int * | ldB, | |||
const float * | beta, | |||
float * | C, | |||
const int * | ldC | |||
) |
Referenced by gemm_().
void blas::dgemm_ | ( | const char * | transA, | |
const char * | transB, | |||
const int * | m, | |||
const int * | n, | |||
const int * | k, | |||
const double * | alpha, | |||
const double * | A, | |||
const int * | ldA, | |||
const double * | B, | |||
const int * | ldB, | |||
const double * | beta, | |||
double * | C, | |||
const int * | ldC | |||
) |
Referenced by gemm_().
void blas::cgemm_ | ( | const char * | transA, | |
const char * | transB, | |||
const int * | m, | |||
const int * | n, | |||
const int * | k, | |||
const void * | alpha, | |||
const void * | A, | |||
const int * | ldA, | |||
const void * | B, | |||
const int * | ldB, | |||
const void * | beta, | |||
void * | C, | |||
const int * | ldC | |||
) |
Referenced by gemm_().
void blas::zgemm_ | ( | const char * | transA, | |
const char * | transB, | |||
const int * | m, | |||
const int * | n, | |||
const int * | k, | |||
const void * | alpha, | |||
const void * | A, | |||
const int * | ldA, | |||
const void * | B, | |||
const int * | ldB, | |||
const void * | beta, | |||
void * | C, | |||
const int * | ldC | |||
) |
Referenced by gemm_().
void blas::gemv_ | ( | const char * | transA, | |
const int * | m, | |||
const int * | n, | |||
const eT * | alpha, | |||
const eT * | A, | |||
const int * | ldA, | |||
const eT * | x, | |||
const int * | incx, | |||
const eT * | beta, | |||
eT * | y, | |||
const int * | incy | |||
) | [inline] |
Definition at line 73 of file blas_proto.hpp.
References cgemv_(), dgemv_(), sgemv_(), and zgemv_().
00074 { 00075 arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); 00076 00077 if(is_float<eT>::value == true) 00078 { 00079 typedef float T; 00080 sgemv_(transA, m, n, (const T*)alpha, (const T*)A, ldA, (const T*)x, incx, (const T*)beta, (T*)y, incy); 00081 } 00082 else 00083 if(is_double<eT>::value == true) 00084 { 00085 typedef double T; 00086 dgemv_(transA, m, n, (const T*)alpha, (const T*)A, ldA, (const T*)x, incx, (const T*)beta, (T*)y, incy); 00087 } 00088 else 00089 if(is_supported_complex_float<eT>::value == true) 00090 { 00091 typedef std::complex<float> T; 00092 cgemv_(transA, m, n, (const T*)alpha, (const T*)A, ldA, (const T*)x, incx, (const T*)beta, (T*)y, incy); 00093 } 00094 else 00095 if(is_supported_complex_double<eT>::value == true) 00096 { 00097 typedef std::complex<double> T; 00098 zgemv_(transA, m, n, (const T*)alpha, (const T*)A, ldA, (const T*)x, incx, (const T*)beta, (T*)y, incy); 00099 } 00100 00101 }
void blas::gemm_ | ( | const char * | transA, | |
const char * | transB, | |||
const int * | m, | |||
const int * | n, | |||
const int * | k, | |||
const eT * | alpha, | |||
const eT * | A, | |||
const int * | ldA, | |||
const eT * | B, | |||
const int * | ldB, | |||
const eT * | beta, | |||
eT * | C, | |||
const int * | ldC | |||
) | [inline] |
Definition at line 108 of file blas_proto.hpp.
References cgemm_(), dgemm_(), sgemm_(), and zgemm_().
00109 { 00110 arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); 00111 00112 if(is_float<eT>::value == true) 00113 { 00114 typedef float T; 00115 sgemm_(transA, transB, m, n, k, (const T*)alpha, (const T*)A, ldA, (const T*)B, ldB, (const T*)beta, (T*)C, ldC); 00116 } 00117 else 00118 if(is_double<eT>::value == true) 00119 { 00120 typedef double T; 00121 dgemm_(transA, transB, m, n, k, (const T*)alpha, (const T*)A, ldA, (const T*)B, ldB, (const T*)beta, (T*)C, ldC); 00122 } 00123 else 00124 if(is_supported_complex_float<eT>::value == true) 00125 { 00126 typedef std::complex<float> T; 00127 cgemm_(transA, transB, m, n, k, (const T*)alpha, (const T*)A, ldA, (const T*)B, ldB, (const T*)beta, (T*)C, ldC); 00128 } 00129 else 00130 if(is_supported_complex_double<eT>::value == true) 00131 { 00132 typedef std::complex<double> T; 00133 zgemm_(transA, transB, m, n, k, (const T*)alpha, (const T*)A, ldA, (const T*)B, ldB, (const T*)beta, (T*)C, ldC); 00134 } 00135 00136 }