DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Functions | Variables
cblas_template.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T >
cblas_asum (const int n, const T *X, const int incX)
 
template<>
double cblas_asum< double > (const int n, const double *X, const int incX)
 
template<>
float cblas_asum< float > (const int n, const float *X, const int incX)
 
template<typename T >
void cblas_axpy (const int n, const T a, const T *X, const int incX, T *Y, const int incY)
 
template<>
void cblas_axpy< bool > (const int n, const bool a, const bool *X, const int incX, bool *Y, const int incY)
 
template<>
void cblas_axpy< double > (const int n, const double a, const double *X, const int incX, double *Y, const int incY)
 
template<>
void cblas_axpy< float > (const int n, const float a, const float *X, const int incX, float *Y, const int incY)
 
template<>
void cblas_axpy< int > (const int n, const int a, const int *X, const int incX, int *Y, const int incY)
 
template<typename T >
void cblas_copy (const int n, const T *X, const int incX, T *Y, const int incY)
 
template<>
void cblas_copy< bool > (const int n, const bool *X, const int incX, bool *Y, const int incY)
 
template<>
void cblas_copy< double > (const int n, const double *X, const int incX, double *Y, const int incY)
 
template<>
void cblas_copy< float > (const int n, const float *X, const int incX, float *Y, const int incY)
 
template<>
void cblas_copy< int > (const int n, const int *X, const int incX, int *Y, const int incY)
 
template<typename T >
cblas_dot (const int n, const T *X, const int incX, const T *Y, const int incY)
 
template<>
bool cblas_dot< bool > (const int n, const bool *X, const int incX, const bool *Y, const int incY)
 
template<>
double cblas_dot< double > (const int n, const double *X, const int incX, const double *Y, const int incY)
 
template<>
float cblas_dot< float > (const int n, const float *X, const int incX, const float *Y, const int incY)
 
template<>
int cblas_dot< int > (const int n, const int *X, const int incX, const int *Y, const int incY)
 
template<typename T >
void cblas_gemm (const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const T alpha, const T *A, const int lda, const T *B, const int ldb, const T beta, T *C, const int ldc)
 
template<>
void cblas_gemm< bool > (const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const bool alpha, const bool *A, const int lda, const bool *B, const int ldb, const bool beta, bool *C, const int ldc)
 
template<>
void cblas_gemm< double > (const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE 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)
 
template<>
void cblas_gemm< float > (const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE 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)
 
template<>
void cblas_gemm< int > (const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const int alpha, const int *A, const int lda, const int *B, const int ldb, const int beta, int *C, const int ldc)
 
template<typename T >
void cblas_gemv (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const int M, const int N, const T alpha, const T *A, const int lda, const T *X, const int incX, const T beta, T *Y, const int incY)
 
template<>
void cblas_gemv< bool > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const int M, const int N, const bool alpha, const bool *A, const int lda, const bool *X, const int incX, const bool beta, bool *Y, const int incY)
 
template<>
void cblas_gemv< double > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE 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)
 
template<>
void cblas_gemv< float > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE 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)
 
template<>
void cblas_gemv< int > (const CBLAS_ORDER order, const CBLAS_TRANSPOSE TransA, const int M, const int N, const int alpha, const int *A, const int lda, const int *X, const int incX, const int beta, int *Y, const int incY)
 
template<typename T >
void cblas_ger (const CBLAS_ORDER order, const int M, const int N, const T alpha, const T *X, const int incX, const T *Y, const int incY, T *A, const int lda)
 
template<>
void cblas_ger< double > (const CBLAS_ORDER order, const int M, const int N, const double alpha, const double *X, const int incX, const double *Y, const int incY, double *A, const int lda)
 
template<>
void cblas_ger< float > (const CBLAS_ORDER order, const int M, const int N, const float alpha, const float *X, const int incX, const float *Y, const int incY, float *A, const int lda)
 
template<typename T >
int cblas_iamax (const int n, const T *X, const int incX)
 
template<>
int cblas_iamax< double > (const int n, const double *X, const int incX)
 
template<>
int cblas_iamax< float > (const int n, const float *X, const int incX)
 
template<typename T >
int cblas_iamin (const int n, const T *X, const int incX)
 
template<typename T >
int cblas_iamin (int n, T *X, int incX)
 
vcl_size_t cblas_idamin (const int n, const double *X, const int incX)
 
vcl_size_t cblas_isamin (const int n, const float *X, const int incX)
 
template<typename T >
cblas_nrm2 (const int n, const T *X, const int incX)
 
template<>
double cblas_nrm2< double > (const int n, const double *X, const int incX)
 
template<>
float cblas_nrm2< float > (const int n, const float *X, const int incX)
 
template<typename T >
void cblas_scal (const int n, const T a, T *X, const int incX)
 
template<>
void cblas_scal< bool > (const int n, const bool a, bool *X, const int incX)
 
template<>
void cblas_scal< double > (const int n, const double a, double *X, const int incX)
 
template<>
void cblas_scal< float > (const int n, const float a, float *X, const int incX)
 
template<>
void cblas_scal< int > (const int n, const int a, int *X, const int incX)
 
template<typename T >
void cblas_symv (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const int N, const T alpha, const T *A, const int lda, const T *X, const int incX, const T beta, T *Y, const int incY)
 
template<>
void cblas_symv (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, 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)
 
template<>
void cblas_symv (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, 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)
 
template<typename T >
void cblas_syr (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const int N, const T alpha, const T *X, const int incX, T *A, const int lda)
 
template<>
void cblas_syr (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const int N, const double alpha, const double *X, const int incX, double *A, const int lda)
 
template<>
void cblas_syr (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const int N, const float alpha, const float *X, const int incX, float *A, const int lda)
 
template<typename T >
void cblas_syrk (const CBLAS_ORDER Order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE Trans, const int N, const int K, const T alpha, const T *A, const int lda, const T beta, T *C, const int ldc)
 
template<>
void cblas_syrk< bool > (const CBLAS_ORDER Order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE Trans, const int N, const int K, const bool alpha, const bool *A, const int lda, const bool beta, bool *C, const int ldc)
 
template<>
void cblas_syrk< double > (const CBLAS_ORDER Order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE Trans, const int N, const int K, const double alpha, const double *A, const int lda, const double beta, double *C, const int ldc)
 
template<>
void cblas_syrk< float > (const CBLAS_ORDER Order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE Trans, const int N, const int K, const float alpha, const float *A, const int lda, const float beta, float *C, const int ldc)
 
template<>
void cblas_syrk< int > (const CBLAS_ORDER Order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE Trans, const int N, const int K, const int alpha, const int *A, const int lda, const int beta, int *C, const int ldc)
 
template<typename T >
void cblas_trmm (const CBLAS_ORDER Order, const CBLAS_SIDE Side, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int M, const int N, const T alpha, const T *A, const int lda, T *B, const int ldb)
 
template<>
void cblas_trmm< double > (const CBLAS_ORDER Order, const CBLAS_SIDE Side, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int M, const int N, const double alpha, const double *A, const int lda, double *B, const int ldb)
 
template<>
void cblas_trmm< float > (const CBLAS_ORDER Order, const CBLAS_SIDE Side, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int M, const int N, const float alpha, const float *A, const int lda, float *B, const int ldb)
 
template<typename T >
void cblas_trmv (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int N, const T *A, const int lda, T *X, const int incX)
 
template<>
void cblas_trmv< double > (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int N, const double *A, const int lda, double *X, const int incX)
 
template<>
void cblas_trmv< float > (const CBLAS_ORDER order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int N, const float *A, const int lda, float *X, const int incX)
 
void dlasrt2_ (char *id, const int *n, double *d, int *key, int *info)
 
void dlasrt_ (char *id, const int *n, double *d, int *info)
 
void dsytrf_ (char *uplo, int *n, double *a, int *lda, int *ipiv, double *work, int *lwork, int *info)
 
void dsytri_ (char *uplo, int *n, double *a, int *lda, int *ipiv, double *work, int *info)
 
void dtrtri_ (char *uplo, char *diag, int *n, double *a, int *lda, int *info)
 
template<typename T >
void lasrt (char &id, const int &n, T *d)
 
template<>
void lasrt (char &id, const int &n, double *d)
 
template<>
void lasrt (char &id, const int &n, float *d)
 
template<typename T >
void lasrt2 (char &id, const int &n, T *d, int *key)
 
template<>
void lasrt2 (char &id, const int &n, double *d, int *key)
 
template<>
void lasrt2 (char &id, const int &n, float *d, int *key)
 
void slasrt2_ (char *id, const int *n, float *d, int *key, int *info)
 
void slasrt_ (char *id, const int *n, float *d, int *info)
 
void ssytrf_ (char *uplo, int *n, float *a, int *lda, int *ipiv, float *work, int *lwork, int *info)
 
void ssytri_ (char *uplo, int *n, float *a, int *lda, int *ipiv, float *work, int *info)
 
void strtri_ (char *uplo, char *diag, int *n, float *a, int *lda, int *info)
 
template<typename T >
void sytrf (char &uplo, int &n, T *a, int &lda, int *ipiv, T *work, int &lwork)
 
template<>
void sytrf< double > (char &uplo, int &n, double *a, int &lda, int *ipiv, double *work, int &lwork)
 
template<>
void sytrf< float > (char &uplo, int &n, float *a, int &lda, int *ipiv, float *work, int &lwork)
 
template<typename T >
void sytri (char &uplo, int &n, T *a, int &lda, int *ipiv, T *work)
 
template<>
void sytri< double > (char &uplo, int &n, double *a, int &lda, int *ipiv, double *work)
 
template<>
void sytri< float > (char &uplo, int &n, float *a, int &lda, int *ipiv, float *work)
 
template<typename T >
void trtri (char &uplo, char &diag, int &n, T *a, int &lda)
 
template<>
void trtri< double > (char &uplo, char &diag, int &n, double *a, int &lda)
 
template<>
void trtri< float > (char &uplo, char &diag, int &n, float *a, int &lda)
 
template<typename T >
void vAbs (const int n, const T *vecIn, T *vecOut)
 
template<typename T >
void vAdd (const int n, const T *vecIn, const T *vecIn2, T *vecOut)
 
template<typename T >
void vDiv (const int n, const T *vecIn, const T *vecIn2, T *vecOut)
 
template<typename T >
void vExp (const int n, const T *vecIn, T *vecOut)
 
template<typename T >
void vInv (const int n, const T *vecIn, T *vecOut)
 
template<typename T >
void vInvSqrt (const int n, const T *vecIn, T *vecOut)
 
template<typename T >
void vMul (const int n, const T *vecIn, const T *vecIn2, T *vecOut)
 
template<typename T >
void vSqr (const int n, const T *vecIn, T *vecOut)
 
template<typename T >
void vSqrt (const int n, const T *vecIn, T *vecOut)
 
template<typename T >
void vSub (const int n, const T *vecIn, const T *vecIn2, T *vecOut)
 

Variables

static char decr ='D'
 
static char incr ='I'
 
static int info =0
 
static char low ='l'
 
static char nonUnit ='n'
 
static char upper ='u'
 

Function Documentation

template<typename T >
T cblas_asum ( const int  n,
const T *  X,
const int  incX 
)

interface to cblas_*asum

template<>
double cblas_asum< double > ( const int  n,
const double *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_dasum.

Definition at line 262 of file cblas_template.h.

References cblas_dasum().

+ Here is the call graph for this function:

template<>
float cblas_asum< float > ( const int  n,
const float *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_sasum.

Definition at line 266 of file cblas_template.h.

References cblas_sasum().

+ Here is the call graph for this function:

template<typename T >
void cblas_axpy ( const int  n,
const T  a,
const T *  X,
const int  incX,
T *  Y,
const int  incY 
)

interface to cblas_*axpy

template<>
void cblas_axpy< bool > ( const int  n,
const bool  a,
const bool *  X,
const int  incX,
bool *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_saxpy.

Definition at line 233 of file cblas_template.h.

template<>
void cblas_axpy< double > ( const int  n,
const double  a,
const double *  X,
const int  incX,
double *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_daxpy.

Definition at line 215 of file cblas_template.h.

References cblas_daxpy().

+ Here is the call graph for this function:

template<>
void cblas_axpy< float > ( const int  n,
const float  a,
const float *  X,
const int  incX,
float *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_saxpy.

Definition at line 220 of file cblas_template.h.

References cblas_saxpy().

+ Here is the call graph for this function:

template<>
void cblas_axpy< int > ( const int  n,
const int  a,
const int *  X,
const int  incX,
int *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_saxpy.

Definition at line 226 of file cblas_template.h.

template<typename T >
void cblas_copy ( const int  n,
const T *  X,
const int  incX,
T *  Y,
const int  incY 
)

interface to cblas_*copy

template<>
void cblas_copy< bool > ( const int  n,
const bool *  X,
const int  incX,
bool *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_scopy.

Definition at line 208 of file cblas_template.h.

template<>
void cblas_copy< double > ( const int  n,
const double *  X,
const int  incX,
double *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_dcopy.

Definition at line 192 of file cblas_template.h.

References cblas_dcopy().

+ Here is the call graph for this function:

template<>
void cblas_copy< float > ( const int  n,
const float *  X,
const int  incX,
float *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_scopy.

Definition at line 197 of file cblas_template.h.

References cblas_scopy().

+ Here is the call graph for this function:

template<>
void cblas_copy< int > ( const int  n,
const int *  X,
const int  incX,
int *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_scopy.

Definition at line 202 of file cblas_template.h.

template<typename T >
T cblas_dot ( const int  n,
const T *  X,
const int  incX,
const T *  Y,
const int  incY 
)

interface to cblas_*adot

template<>
bool cblas_dot< bool > ( const int  n,
const bool *  X,
const int  incX,
const bool *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_sdot.

not implemented

Definition at line 291 of file cblas_template.h.

template<>
double cblas_dot< double > ( const int  n,
const double *  X,
const int  incX,
const double *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_ddot.

Definition at line 270 of file cblas_template.h.

References cblas_ddot().

+ Here is the call graph for this function:

template<>
float cblas_dot< float > ( const int  n,
const float *  X,
const int  incX,
const float *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_sdot.

Definition at line 275 of file cblas_template.h.

References cblas_sdot().

+ Here is the call graph for this function:

template<>
int cblas_dot< int > ( const int  n,
const int *  X,
const int  incX,
const int *  Y,
const int  incY 
)
inline

Definition at line 279 of file cblas_template.h.

template<typename T >
void cblas_gemm ( const CBLAS_ORDER  Order,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_TRANSPOSE  TransB,
const int  M,
const int  N,
const int  K,
const T  alpha,
const T *  A,
const int  lda,
const T *  B,
const int  ldb,
const T  beta,
T *  C,
const int  ldc 
)

interface to cblas_*gemm

template<>
void cblas_gemm< bool > ( const CBLAS_ORDER  Order,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_TRANSPOSE  TransB,
const int  M,
const int  N,
const int  K,
const bool  alpha,
const bool *  A,
const int  lda,
const bool *  B,
const int  ldb,
const bool  beta,
bool *  C,
const int  ldc 
)
inline

Implementation of the interface for cblas_sgemm.

not implemented

Definition at line 410 of file cblas_template.h.

template<>
void cblas_gemm< double > ( const CBLAS_ORDER  Order,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_TRANSPOSE  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 
)
inline

Implementation of the interface for cblas_dgemm.

Definition at line 387 of file cblas_template.h.

References cblas_dgemm().

+ Here is the call graph for this function:

template<>
void cblas_gemm< float > ( const CBLAS_ORDER  Order,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_TRANSPOSE  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 
)
inline

Implementation of the interface for cblas_sgemm.

Definition at line 395 of file cblas_template.h.

References cblas_sgemm().

+ Here is the call graph for this function:

template<>
void cblas_gemm< int > ( const CBLAS_ORDER  Order,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_TRANSPOSE  TransB,
const int  M,
const int  N,
const int  K,
const int  alpha,
const int *  A,
const int  lda,
const int *  B,
const int  ldb,
const int  beta,
int *  C,
const int  ldc 
)
inline

not implemented

Definition at line 402 of file cblas_template.h.

template<typename T >
void cblas_gemv ( const CBLAS_ORDER  order,
const CBLAS_TRANSPOSE  TransA,
const int  M,
const int  N,
const T  alpha,
const T *  A,
const int  lda,
const T *  X,
const int  incX,
const T  beta,
T *  Y,
const int  incY 
)

interface to cblas_*gemv

template<>
void cblas_gemv< bool > ( const CBLAS_ORDER  order,
const CBLAS_TRANSPOSE  TransA,
const int  M,
const int  N,
const bool  alpha,
const bool *  A,
const int  lda,
const bool *  X,
const int  incX,
const bool  beta,
bool *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_sgemv.

not implemented

Definition at line 323 of file cblas_template.h.

template<>
void cblas_gemv< double > ( const CBLAS_ORDER  order,
const CBLAS_TRANSPOSE  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 
)
inline

Implementation of the interface for cblas_dgemv.

Definition at line 299 of file cblas_template.h.

References cblas_dgemv().

+ Here is the call graph for this function:

template<>
void cblas_gemv< float > ( const CBLAS_ORDER  order,
const CBLAS_TRANSPOSE  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 
)
inline

Implementation of the interface for cblas_sgemv.

Definition at line 307 of file cblas_template.h.

References cblas_sgemv().

+ Here is the call graph for this function:

template<>
void cblas_gemv< int > ( const CBLAS_ORDER  order,
const CBLAS_TRANSPOSE  TransA,
const int  M,
const int  N,
const int  alpha,
const int *  A,
const int  lda,
const int *  X,
const int  incX,
const int  beta,
int *  Y,
const int  incY 
)
inline

Implementation of the interface for cblas_sgemv.

not implemented

Definition at line 315 of file cblas_template.h.

template<typename T >
void cblas_ger ( const CBLAS_ORDER  order,
const int  M,
const int  N,
const T  alpha,
const T *  X,
const int  incX,
const T *  Y,
const int  incY,
T *  A,
const int  lda 
)

interface to cblas_*ger

template<>
void cblas_ger< double > ( const CBLAS_ORDER  order,
const int  M,
const int  N,
const double  alpha,
const double *  X,
const int  incX,
const double *  Y,
const int  incY,
double *  A,
const int  lda 
)
inline

Implementation of the interface for cblas_dger.

Definition at line 332 of file cblas_template.h.

References cblas_dger().

+ Here is the call graph for this function:

template<>
void cblas_ger< float > ( const CBLAS_ORDER  order,
const int  M,
const int  N,
const float  alpha,
const float *  X,
const int  incX,
const float *  Y,
const int  incY,
float *  A,
const int  lda 
)
inline

Implementation of the interface for cblas_sger.

Definition at line 338 of file cblas_template.h.

References cblas_sger().

+ Here is the call graph for this function:

template<typename T >
int cblas_iamax ( const INTT  N,
const T *  X,
const INTT  incX 
)
inline

interface to cblas_i*amax

template function definitions. Level 1

Definition at line 183 of file utlBlas.h.

References spams::abs(), and utl::max_element().

+ Here is the call graph for this function:

template<>
int cblas_iamax< double > ( const int  n,
const double *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_idamax.

Definition at line 464 of file cblas_template.h.

References cblas_idamax().

+ Here is the call graph for this function:

template<>
int cblas_iamax< float > ( const int  n,
const float *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_isamax.

Definition at line 469 of file cblas_template.h.

References cblas_isamax().

+ Here is the call graph for this function:

template<typename T >
int cblas_iamin ( const int  n,
const T *  X,
const int  incX 
)
inline

interface to cblas_i*amin

Definition at line 170 of file utlBlas.h.

References spams::abs(), CBLAS_INDEX, and utl::min_element().

Referenced by utl::NDArrayBase< T, 4 >::AbsoluteMinValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
int cblas_iamin ( int  n,
T *  X,
int  incX 
)
inline

Slow implementation of cblas_idamin and cblas_isamin.

Definition at line 686 of file cblas_template.h.

References utl::min().

+ Here is the call graph for this function:

vcl_size_t cblas_idamin ( const int  n,
const double *  X,
const int  incX 
)

external functions

Referenced by lasrt2().

+ Here is the caller graph for this function:

vcl_size_t cblas_isamin ( const int  n,
const float *  X,
const int  incX 
)

Referenced by lasrt2().

+ Here is the caller graph for this function:

template<typename T >
T cblas_nrm2 ( const int  n,
const T *  X,
const int  incX 
)

interface to cblas_*nrm2

template<>
double cblas_nrm2< double > ( const int  n,
const double *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_dnrm2.

Definition at line 182 of file cblas_template.h.

References cblas_dnrm2().

+ Here is the call graph for this function:

template<>
float cblas_nrm2< float > ( const int  n,
const float *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_snrm2.

Definition at line 187 of file cblas_template.h.

References cblas_snrm2().

+ Here is the call graph for this function:

template<typename T >
void cblas_scal ( const int  n,
const T  a,
T *  X,
const int  incX 
)

interface to cblas_*scal

template<>
void cblas_scal< bool > ( const int  n,
const bool  a,
bool *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_sscal.

not implemented

Definition at line 256 of file cblas_template.h.

template<>
void cblas_scal< double > ( const int  n,
const double  a,
double *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_dscal.

Definition at line 241 of file cblas_template.h.

References cblas_dscal().

+ Here is the call graph for this function:

template<>
void cblas_scal< float > ( const int  n,
const float  a,
float *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_sscal.

Definition at line 246 of file cblas_template.h.

References cblas_sscal().

+ Here is the call graph for this function:

template<>
void cblas_scal< int > ( const int  n,
const int  a,
int *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_sscal.

Definition at line 251 of file cblas_template.h.

template<typename T >
void cblas_symv ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const int  N,
const T  alpha,
const T *  A,
const int  lda,
const T *  X,
const int  incX,
const T  beta,
T *  Y,
const int  incY 
)
inline

interface to cblas_*symv

template<>
void cblas_symv ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
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 
)
inline

Implementation of cblas_ssymv.

Definition at line 370 of file cblas_template.h.

References cblas_ssymv().

+ Here is the call graph for this function:

template<>
void cblas_symv ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
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 
)
inline

Implementation of cblas_dsymv.

Definition at line 377 of file cblas_template.h.

References cblas_dsymv().

+ Here is the call graph for this function:

template<typename T >
void cblas_syr ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const int  N,
const T  alpha,
const T *  X,
const int  incX,
T *  A,
const int  lda 
)
inline

interface to cblas_*syr

template<>
void cblas_syr ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const int  N,
const double  alpha,
const double *  X,
const int  incX,
double *  A,
const int  lda 
)
inline

Implementation of cblas_dsyr.

Definition at line 356 of file cblas_template.h.

References cblas_dsyr().

+ Here is the call graph for this function:

template<>
void cblas_syr ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const int  N,
const float  alpha,
const float *  X,
const int  incX,
float *  A,
const int  lda 
)
inline

Implementation of cblas_ssyr.

Definition at line 363 of file cblas_template.h.

References cblas_ssyr().

+ Here is the call graph for this function:

template<typename T >
void cblas_syrk ( const CBLAS_ORDER  Order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  Trans,
const int  N,
const int  K,
const T  alpha,
const T *  A,
const int  lda,
const T  beta,
T *  C,
const int  ldc 
)

interface to cblas_*syrk

template<>
void cblas_syrk< bool > ( const CBLAS_ORDER  Order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  Trans,
const int  N,
const int  K,
const bool  alpha,
const bool *  A,
const int  lda,
const bool  beta,
bool *  C,
const int  ldc 
)
inline

Implementation of the interface for cblas_ssyrk.

not implemented

Definition at line 440 of file cblas_template.h.

template<>
void cblas_syrk< double > ( const CBLAS_ORDER  Order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  Trans,
const int  N,
const int  K,
const double  alpha,
const double *  A,
const int  lda,
const double  beta,
double *  C,
const int  ldc 
)
inline

Implementation of the interface for cblas_dsyrk.

Definition at line 419 of file cblas_template.h.

References cblas_dsyrk().

+ Here is the call graph for this function:

template<>
void cblas_syrk< float > ( const CBLAS_ORDER  Order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  Trans,
const int  N,
const int  K,
const float  alpha,
const float *  A,
const int  lda,
const float  beta,
float *  C,
const int  ldc 
)
inline

Implementation of the interface for cblas_ssyrk.

Definition at line 426 of file cblas_template.h.

References cblas_ssyrk().

+ Here is the call graph for this function:

template<>
void cblas_syrk< int > ( const CBLAS_ORDER  Order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  Trans,
const int  N,
const int  K,
const int  alpha,
const int *  A,
const int  lda,
const int  beta,
int *  C,
const int  ldc 
)
inline

Implementation of the interface for cblas_ssyrk.

not implemented

Definition at line 433 of file cblas_template.h.

template<typename T >
void cblas_trmm ( const CBLAS_ORDER  Order,
const CBLAS_SIDE  Side,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_DIAG  Diag,
const int  M,
const int  N,
const T  alpha,
const T *  A,
const int  lda,
T *  B,
const int  ldb 
)

interface to cblas_*trmm

template<>
void cblas_trmm< double > ( const CBLAS_ORDER  Order,
const CBLAS_SIDE  Side,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_DIAG  Diag,
const int  M,
const int  N,
const double  alpha,
const double *  A,
const int  lda,
double *  B,
const int  ldb 
)
inline

Implementation of the interface for cblas_dtrmm.

Definition at line 448 of file cblas_template.h.

References cblas_dtrmm().

+ Here is the call graph for this function:

template<>
void cblas_trmm< float > ( const CBLAS_ORDER  Order,
const CBLAS_SIDE  Side,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_DIAG  Diag,
const int  M,
const int  N,
const float  alpha,
const float *  A,
const int  lda,
float *  B,
const int  ldb 
)
inline

Implementation of the interface for cblas_strmm.

Definition at line 456 of file cblas_template.h.

References cblas_strmm().

+ Here is the call graph for this function:

template<typename T >
void cblas_trmv ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_DIAG  Diag,
const int  N,
const T *  A,
const int  lda,
T *  X,
const int  incX 
)
inline

interface to cblas_*trmv

template<>
void cblas_trmv< double > ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_DIAG  Diag,
const int  N,
const double *  A,
const int  lda,
double *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_dtrmv.

Definition at line 344 of file cblas_template.h.

References cblas_dtrmv().

+ Here is the call graph for this function:

template<>
void cblas_trmv< float > ( const CBLAS_ORDER  order,
const CBLAS_UPLO  Uplo,
const CBLAS_TRANSPOSE  TransA,
const CBLAS_DIAG  Diag,
const int  N,
const float *  A,
const int  lda,
float *  X,
const int  incX 
)
inline

Implementation of the interface for cblas_strmv.

Definition at line 350 of file cblas_template.h.

References cblas_strmv().

+ Here is the call graph for this function:

void dlasrt2_ ( char *  id,
const int *  n,
double *  d,
int *  key,
int *  info 
)

Referenced by lasrt2().

+ Here is the caller graph for this function:

void dlasrt_ ( char *  id,
const int *  n,
double *  d,
int *  info 
)

Referenced by lasrt().

+ Here is the caller graph for this function:

void dsytrf_ ( char *  uplo,
int *  n,
double *  a,
int *  lda,
int *  ipiv,
double *  work,
int *  lwork,
int *  info 
)

Referenced by sytrf< double >().

+ Here is the caller graph for this function:

void dsytri_ ( char *  uplo,
int *  n,
double *  a,
int *  lda,
int *  ipiv,
double *  work,
int *  info 
)

Referenced by sytri< double >().

+ Here is the caller graph for this function:

void dtrtri_ ( char *  uplo,
char *  diag,
int *  n,
double *  a,
int *  lda,
int *  info 
)

Referenced by trtri< double >().

+ Here is the caller graph for this function:

template<typename T >
void lasrt ( char &  id,
const int &  n,
T *  d 
)

interaface to *lasrt

template<>
void lasrt ( char &  id,
const int &  n,
double *  d 
)
inline

interaface to *lasrt

Definition at line 506 of file cblas_template.h.

References dlasrt_(), and info.

+ Here is the call graph for this function:

template<>
void lasrt ( char &  id,
const int &  n,
float *  d 
)
inline

interaface to *lasrt

Definition at line 510 of file cblas_template.h.

References info, and slasrt_().

+ Here is the call graph for this function:

template<typename T >
void lasrt2 ( char &  id,
const int &  n,
T *  d,
int *  key 
)
template<>
void lasrt2 ( char &  id,
const int &  n,
double *  d,
int *  key 
)
inline

Definition at line 513 of file cblas_template.h.

References dlasrt2_(), and info.

+ Here is the call graph for this function:

template<>
void lasrt2 ( char &  id,
const int &  n,
float *  d,
int *  key 
)
inline

interaface to *lasrt

Definition at line 517 of file cblas_template.h.

References cblas_idamin(), cblas_isamin(), info, slasrt2_(), vAbs(), and vSqr().

+ Here is the call graph for this function:

void slasrt2_ ( char *  id,
const int *  n,
float *  d,
int *  key,
int *  info 
)

Referenced by lasrt2().

+ Here is the caller graph for this function:

void slasrt_ ( char *  id,
const int *  n,
float *  d,
int *  info 
)

Referenced by lasrt().

+ Here is the caller graph for this function:

void ssytrf_ ( char *  uplo,
int *  n,
float *  a,
int *  lda,
int *  ipiv,
float *  work,
int *  lwork,
int *  info 
)

Referenced by sytrf< float >().

+ Here is the caller graph for this function:

void ssytri_ ( char *  uplo,
int *  n,
float *  a,
int *  lda,
int *  ipiv,
float *  work,
int *  info 
)

Referenced by sytri< float >().

+ Here is the caller graph for this function:

void strtri_ ( char *  uplo,
char *  diag,
int *  n,
float *  a,
int *  lda,
int *  info 
)

Referenced by trtri< float >().

+ Here is the caller graph for this function:

template<typename T >
void sytrf ( char &  uplo,
int &  n,
T *  a,
int &  lda,
int *  ipiv,
T *  work,
int &  lwork 
)

interface to *sytrf

template<>
void sytrf< double > ( char &  uplo,
int &  n,
double *  a,
int &  lda,
int *  ipiv,
double *  work,
int &  lwork 
)
inline

Implemenation of the interface for dsytrf.

Definition at line 486 of file cblas_template.h.

References dsytrf_(), and info.

+ Here is the call graph for this function:

template<>
void sytrf< float > ( char &  uplo,
int &  n,
float *  a,
int &  lda,
int *  ipiv,
float *  work,
int &  lwork 
)
inline

Implemenation of the interface for ssytrf.

Definition at line 491 of file cblas_template.h.

References info, and ssytrf_().

+ Here is the call graph for this function:

template<typename T >
void sytri ( char &  uplo,
int &  n,
T *  a,
int &  lda,
int *  ipiv,
T *  work 
)

interface to *sytri

template<>
void sytri< double > ( char &  uplo,
int &  n,
double *  a,
int &  lda,
int *  ipiv,
double *  work 
)
inline

Implemenation of the interface for dsytri.

Definition at line 496 of file cblas_template.h.

References dsytri_(), and info.

+ Here is the call graph for this function:

template<>
void sytri< float > ( char &  uplo,
int &  n,
float *  a,
int &  lda,
int *  ipiv,
float *  work 
)
inline

Implemenation of the interface for ssytri.

Definition at line 501 of file cblas_template.h.

References info, and ssytri_().

+ Here is the call graph for this function:

template<typename T >
void trtri ( char &  uplo,
char &  diag,
int &  n,
T *  a,
int &  lda 
)

interface to *trtri

template<>
void trtri< double > ( char &  uplo,
char &  diag,
int &  n,
double *  a,
int &  lda 
)
inline

Implemenation of the interface for dtrtri.

Definition at line 476 of file cblas_template.h.

References dtrtri_(), and info.

+ Here is the call graph for this function:

template<>
void trtri< float > ( char &  uplo,
char &  diag,
int &  n,
float *  a,
int &  lda 
)
inline

Implemenation of the interface for strtri.

Definition at line 481 of file cblas_template.h.

References info, and strtri_().

+ Here is the call graph for this function:

template<typename T >
void vAbs ( const int  n,
const T *  vecIn,
T *  vecOut 
)
inline

interface to v*Abs

Slow implementation of vAbs.

Definition at line 680 of file cblas_template.h.

Referenced by lasrt2().

+ Here is the caller graph for this function:

template<typename T >
void vAdd ( const int  n,
const T *  vecIn,
const T *  vecIn2,
T *  vecOut 
)
inline

interface to v*Add

Slow implementation of vdAdd and vsAdd.

Definition at line 665 of file cblas_template.h.

template<typename T >
void vDiv ( const int  n,
const T *  vecIn,
const T *  vecIn2,
T *  vecOut 
)
inline

interface to v*Div

Slow implementation of vdDiv and vsDiv.

Definition at line 675 of file cblas_template.h.

template<typename T >
void vExp ( const int  n,
const T *  vecIn,
T *  vecOut 
)
inline

interface to v*Exp

Slow implementation of vdExp and vsExp.

Definition at line 661 of file cblas_template.h.

template<typename T >
void vInv ( const int  n,
const T *  vecIn,
T *  vecOut 
)
inline

interface to v*Inv

Slow implementation of vdInv and vsInv.

Definition at line 657 of file cblas_template.h.

template<typename T >
void vInvSqrt ( const int  n,
const T *  vecIn,
T *  vecOut 
)
inline

interface to v*Sqr

Definition at line 647 of file cblas_template.h.

template<typename T >
void vMul ( const int  n,
const T *  vecIn,
const T *  vecIn2,
T *  vecOut 
)
inline

interface to v*Mul

Slow implementation of vdMul and vsMul.

Definition at line 670 of file cblas_template.h.

template<typename T >
void vSqr ( const int  n,
const T *  vecIn,
T *  vecOut 
)
inline

interface to v*Sqr

If the MKL is not present, a slow implementation is used instead.

Slow implementation of vdSqr and vsSqr

Definition at line 641 of file cblas_template.h.

Referenced by lasrt2().

+ Here is the caller graph for this function:

template<typename T >
void vSqrt ( const int  n,
const T *  vecIn,
T *  vecOut 
)
inline

interface to v*Sqr

Definition at line 644 of file cblas_template.h.

template<typename T >
void vSub ( const int  n,
const T *  vecIn,
const T *  vecIn2,
T *  vecOut 
)
inline

interface to v*Sub

Slow implementation of vdSub and vsSub.

Definition at line 652 of file cblas_template.h.

Variable Documentation

char decr ='D'
static

Definition at line 12 of file cblas_template.h.

char incr ='I'
static

Definition at line 11 of file cblas_template.h.

int info =0
static
char low ='l'
static

a few static variables for lapack

Definition at line 7 of file cblas_template.h.

char nonUnit ='n'
static

Definition at line 8 of file cblas_template.h.

char upper ='u'
static

Definition at line 9 of file cblas_template.h.