DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Namespaces | Macros | Typedefs | Functions
utlBlas.h File Reference
#include <utl_cblas.h>
#include <vector>
#include <cmath>
#include <algorithm>
#include <complex>
+ Include dependency graph for utlBlas.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 utl
 

Macros

#define __utl_gemm_MatrixTimesMatrix(T, FuncName, FuncHelperName, RowMajorMatrixName, GetRowsFuncName, GetColsFuncName, GetDataFuncName, ReSizeFuncName)
 
#define __utl_gemv_MatrixTimesVector(T, FuncName, FuncHelperName, RowMajorMatrixName, GetRowsFuncName, GetColsFuncName, MatrixGetDataFuncName, VectorName, GetSizeFuncName, VectorGetDataFuncName, ReSizeFuncName)
 
#define __utl_gevm_MatrixTimesVector(T, FuncName, FuncHelperName, RowMajorMatrixName, GetRowsFuncName, GetColsFuncName, MatrixGetDataFuncName, VectorName, GetSizeFuncName, VectorGetDataFuncName, ReSizeFuncName)
 
#define __utl_syrk_Matrix(T, FuncName, FuncHelperName, RowMajorMatrixName, GetRowsFuncName, GetColsFuncName, GetDataFuncName, ReSizeFuncName)
 

Typedefs

typedef int utl::INTT
 

Functions

template<class T >
utl::cblas_asum (const INTT N, const T *X, const INTT incX)
 
double utl::cblas_asum (const INTT N, const std::complex< double > *X, const INTT incX)
 
float utl::cblas_asum (const INTT N, const std::complex< float > *X, const INTT incX)
 
template<>
double utl::cblas_asum< double > (const INTT N, const double *X, const INTT incX)
 
template<>
float utl::cblas_asum< float > (const INTT N, const float *X, const INTT incX)
 
template<class T >
void utl::cblas_axpby (const INTT N, const T alpha, const T *X, const INTT incX, const T beta, T *Y, const INTT incY)
 
template<class T >
void utl::cblas_copy (const INTT N, const T *X, const INTT incX, T *Y, const INTT incY)
 
template<>
void utl::cblas_copy< double > (const INTT N, const double *X, const INTT incX, double *Y, const INTT incY)
 
template<>
void utl::cblas_copy< float > (const INTT N, const float *X, const INTT incX, float *Y, const INTT incY)
 
template<>
void utl::cblas_copy< std::complex< double > > (const INTT N, const std::complex< double > *X, const INTT incX, std::complex< double > *Y, const INTT incY)
 
template<>
void utl::cblas_copy< std::complex< float > > (const INTT N, const std::complex< float > *X, const INTT incX, std::complex< float > *Y, const INTT incY)
 
template<class T >
utl::cblas_dot (const INTT N, const T *X, const INTT incX, const T *Y, const INTT incY)
 
template<>
double utl::cblas_dot< double > (const INTT N, const double *X, const INTT incX, const double *Y, const INTT incY)
 
template<>
float utl::cblas_dot< float > (const INTT N, const float *X, const INTT incX, const float *Y, const INTT incY)
 
template<>
std::complex< double > utl::cblas_dot< std::complex< double > > (const INTT N, const std::complex< double > *X, const INTT incX, const std::complex< double > *Y, const INTT incY)
 
template<class T >
void utl::cblas_gemm (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const INTT M, const INTT N, const INTT K, const T alpha, const T *A, const INTT lda, const T *B, const INTT ldb, const T beta, T *C, const INTT ldc)
 
template<>
void utl::cblas_gemm< double > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const INTT M, const INTT N, const INTT K, const double alpha, const double *A, const INTT lda, const double *B, const INTT ldb, const double beta, double *C, const INTT ldc)
 
template<>
void utl::cblas_gemm< float > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const INTT M, const INTT N, const INTT K, const float alpha, const float *A, const INTT lda, const float *B, const INTT ldb, const float beta, float *C, const INTT ldc)
 
template<>
void utl::cblas_gemm< std::complex< double > > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const INTT M, const INTT N, const INTT K, const std::complex< double > alpha, const std::complex< double > *A, const INTT lda, const std::complex< double > *B, const INTT ldb, const std::complex< double > beta, std::complex< double > *C, const INTT ldc)
 
template<class T >
void utl::cblas_gemv (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const INTT M, const INTT N, const T alpha, const T *A, const INTT lda, const T *X, const INTT incX, const T beta, T *Y, const INTT incY)
 
template<>
void utl::cblas_gemv< double > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const INTT M, const INTT N, const double alpha, const double *A, const INTT lda, const double *X, const INTT incX, const double beta, double *Y, const INTT incY)
 
template<>
void utl::cblas_gemv< float > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const INTT M, const INTT N, const float alpha, const float *A, const INTT lda, const float *X, const INTT incX, const float beta, float *Y, const INTT incY)
 
template<>
void utl::cblas_gemv< std::complex< double > > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const INTT M, const INTT N, const std::complex< double > alpha, const std::complex< double > *A, const INTT lda, const std::complex< double > *X, const INTT incX, const std::complex< double > beta, std::complex< double > *Y, const INTT incY)
 
template<>
void utl::cblas_gemv< std::complex< float > > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const INTT M, const INTT N, const std::complex< float > alpha, const std::complex< float > *A, const INTT lda, const std::complex< float > *X, const INTT incX, const std::complex< float > beta, std::complex< float > *Y, const INTT incY)
 
template<class T >
void utl::cblas_ger (const CBLAS_ORDER order, const INTT M, const INTT N, const T alpha, const T *X, const INTT incX, const T *Y, const INTT incY, T *A, const INTT lda)
 
template<>
void utl::cblas_ger< double > (const CBLAS_ORDER order, const INTT M, const INTT N, const double alpha, const double *X, const INTT incX, const double *Y, const INTT incY, double *A, const INTT lda)
 
template<>
void utl::cblas_ger< float > (const CBLAS_ORDER order, const INTT M, const INTT N, const float alpha, const float *X, const INTT incX, const float *Y, const INTT incY, float *A, const INTT lda)
 
template<class T >
int utl::cblas_iamax (const INTT N, const T *X, const INTT incX)
 
template<>
int utl::cblas_iamax< double > (const INTT N, const double *X, const INTT incX)
 
template<>
int utl::cblas_iamax< float > (const INTT N, const float *X, const INTT incX)
 
template<>
int utl::cblas_iamax< std::complex< double > > (const INTT N, const std::complex< double > *X, const INTT incX)
 
template<>
int utl::cblas_iamax< std::complex< float > > (const INTT N, const std::complex< float > *X, const INTT incX)
 
template<class T >
int utl::cblas_iamin (const INTT N, const T *X, const INTT incX)
 
template<class T >
utl::cblas_nrm2 (const INTT N, const T *X, const INTT incX)
 
double utl::cblas_nrm2 (const INTT N, const std::complex< double > *X, const INTT incX)
 
float utl::cblas_nrm2 (const INTT N, const std::complex< float > *X, const INTT incX)
 
template<>
double utl::cblas_nrm2< double > (const INTT N, const double *X, const INTT incX)
 
template<>
float utl::cblas_nrm2< float > (const INTT N, const float *X, const INTT incX)
 
template<class T >
void utl::cblas_scal (const INTT N, const T alpha, T *X, const INTT incX)
 
template<>
void utl::cblas_scal< double > (const INTT N, const double alpha, double *X, const INTT incX)
 
template<>
void utl::cblas_scal< float > (const INTT N, const float alpha, float *X, const INTT incX)
 
template<>
void utl::cblas_scal< std::complex< double > > (const INTT N, const std::complex< double > alpha, std::complex< double > *X, const INTT incX)
 
template<>
void utl::cblas_scal< std::complex< float > > (const INTT N, const std::complex< float > alpha, std::complex< float > *X, const INTT incX)
 
template<class T >
void utl::cblas_swap (const INTT N, T *X, const INTT incX, T *Y, const INTT incY)
 
template<>
void utl::cblas_swap< double > (const INTT N, double *X, const INTT incX, double *Y, const INTT incY)
 
template<>
void utl::cblas_swap< float > (const INTT N, float *X, const INTT incX, float *Y, const INTT incY)
 
template<class T >
void utl::cblas_syr (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const INTT N, const T alpha, const T *X, const INTT incX, T *A, const INTT lda)
 
template<>
void utl::cblas_syr< double > (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const INTT N, const double alpha, const double *X, const INTT incX, double *A, const INTT lda)
 
template<>
void utl::cblas_syr< float > (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const INTT N, const float alpha, const float *X, const INTT incX, float *A, const INTT lda)
 
template<class T >
void utl::cblas_syrk (CBLAS_ORDER order, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, INTT N, INTT K, T alpha, T *A, INTT lda, T beta, T *C, INTT ldc)
 
template<>
void utl::cblas_syrk< double > (CBLAS_ORDER order, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, INTT N, INTT K, double alpha, double *A, INTT lda, double beta, double *C, INTT ldc)
 
template<>
void utl::cblas_syrk< float > (CBLAS_ORDER order, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, INTT N, INTT K, float alpha, float *A, INTT lda, float beta, float *C, INTT ldc)
 

Detailed Description

Author
Dr. Jian Cheng (JC), jian..nosp@m.chen.nosp@m.g.198.nosp@m.3@gm.nosp@m.ail.c.nosp@m.om

Definition in file utlBlas.h.