QMCPACK
BLAS.hpp File Reference
+ Include dependency graph for BLAS.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LAPACK
 

Namespaces

 BLAS
 Interfaces to blas library.
 

Functions

static void axpy (int n, double x, const double *a, double *b)
 
static void axpy (int n, double x, const double *a, int incx, double *b, int incy)
 
static void axpy (int n, const double *a, double *b)
 
static void axpy (int n, float x, const float *a, int incx, float *b, int incy)
 
static void axpy (int n, float x, const float *a, float *b)
 
static void axpy (int n, const std::complex< float > x, const std::complex< float > *a, int incx, std::complex< float > *b, int incy)
 
static void axpy (int n, const std::complex< double > x, const std::complex< double > *a, int incx, std::complex< double > *b, int incy)
 
static float norm2 (int n, const float *a, int incx=1)
 
static float norm2 (int n, const std::complex< float > *a, int incx=1)
 
static double norm2 (int n, const double *a, int incx=1)
 
static double norm2 (int n, const std::complex< double > *a, int incx=1)
 
static void scal (int n, float alpha, float *x, int incx=1)
 
static void scal (int n, std::complex< float > alpha, std::complex< float > *x, int incx=1)
 
static void scal (int n, double alpha, double *x, int incx=1)
 
static void scal (int n, std::complex< double > alpha, std::complex< double > *x, int incx=1)
 
static void scal (int n, double alpha, std::complex< double > *x, int incx=1)
 
static void scal (int n, float alpha, std::complex< float > *x, int incx=1)
 
static void gemv (int n, int m, const double *restrict amat, const double *restrict x, double *restrict y)
 
static void gemv (int n, int m, const float *restrict amat, const float *restrict x, float *restrict y)
 
static void gemv (int n, int m, const std::complex< double > *restrict amat, const std::complex< double > *restrict x, std::complex< double > *restrict y)
 
static void gemv (int n, int m, const std::complex< float > *restrict amat, const std::complex< float > *restrict x, std::complex< float > *restrict y)
 
static void gemv_trans (int n, int m, const double *restrict amat, const double *restrict x, double *restrict y)
 
static void gemv_trans (int n, int m, const float *restrict amat, const float *restrict x, float *restrict y)
 
static void gemv_trans (int n, int m, const std::complex< double > *restrict amat, const std::complex< double > *restrict x, std::complex< double > *restrict y)
 
static void gemv_trans (int n, int m, const std::complex< float > *restrict amat, const std::complex< float > *restrict x, std::complex< float > *restrict y)
 
static void gemv (char trans_in, int n, int m, double alpha, const double *restrict amat, int lda, const double *x, int incx, double beta, double *y, int incy)
 
static void gemv (char trans_in, int n, int m, float alpha, const float *restrict amat, int lda, const float *x, int incx, float beta, float *y, int incy)
 
static void gemv (char trans_in, int n, int m, const std::complex< double > &alpha, const std::complex< double > *restrict amat, int lda, const std::complex< double > *restrict x, int incx, const std::complex< double > &beta, std::complex< double > *y, int incy)
 
static void gemv (char trans_in, int n, int m, const std::complex< float > &alpha, const std::complex< float > *restrict amat, int lda, const std::complex< float > *restrict x, int incx, const std::complex< float > &beta, std::complex< float > *y, int incy)
 
static void gemm (char Atrans, char Btrans, int M, int N, int K, double alpha, const double *A, int lda, const double *restrict B, int ldb, double beta, double *restrict C, int ldc)
 
static void gemm (char Atrans, char Btrans, int M, int N, int K, float alpha, const float *A, int lda, const float *restrict B, int ldb, float beta, float *restrict C, int ldc)
 
static void gemm (char Atrans, char Btrans, int M, int N, int K, std::complex< double > alpha, const std::complex< double > *A, int lda, const std::complex< double > *restrict B, int ldb, std::complex< double > beta, std::complex< double > *restrict C, int ldc)
 
static void gemm (char Atrans, char Btrans, int M, int N, int K, std::complex< float > alpha, const std::complex< float > *A, int lda, const std::complex< float > *restrict B, int ldb, std::complex< float > beta, std::complex< float > *restrict C, int ldc)
 
template<typename T >
static T dot (int n, const T *restrict a, const T *restrict b)
 
template<typename T >
static std::complex< T > dot (int n, const std::complex< T > *restrict a, const T *restrict b)
 
template<typename T >
static std::complex< T > dot (int n, const std::complex< T > *restrict a, const std::complex< T > *restrict b)
 
template<typename T >
static std::complex< T > dot (int n, const T *restrict a, const std::complex< T > *restrict b)
 
template<typename T >
static T dot (int n, const T *restrict a, int incx, const T *restrict b, int incy)
 
template<typename T >
static std::complex< T > dot (int n, const std::complex< T > *restrict a, int incx, const T *restrict b, int incy)
 
template<typename T >
static std::complex< T > dot (int n, const T *restrict a, int incx, const std::complex< T > *restrict b, int incy)
 
template<typename T >
static std::complex< T > dot (int n, const std::complex< T > *restrict a, int incx, const std::complex< T > *restrict b, int incy)
 
template<typename T >
static void copy (int n, const T *restrict a, T *restrict b)
 
template<typename T >
static void copy (T *restrict target, const T *restrict source, int n)
 copy using memcpy(target,source,size) More...
 
template<typename T >
static void copy (int n, const std::complex< T > *restrict a, T *restrict b)
 
template<typename T >
static void copy (int n, const T *restrict a, std::complex< T > *restrict b)
 
template<typename T >
static void copy (int n, const T *restrict x, int incx, T *restrict y, int incy)
 
static void ger (int m, int n, double alpha, const double *x, int incx, const double *y, int incy, double *a, int lda)
 
static void ger (int m, int n, float alpha, const float *x, int incx, const float *y, int incy, float *a, int lda)
 
static void ger (int m, int n, const std::complex< double > &alpha, const std::complex< double > *x, int incx, const std::complex< double > *y, int incy, std::complex< double > *a, int lda)
 
static void ger (int m, int n, const std::complex< float > &alpha, const std::complex< float > *x, int incx, const std::complex< float > *y, int incy, std::complex< float > *a, int lda)
 

Variables

constexpr int INCX = 1
 
constexpr int INCY = 1
 
constexpr char UPLO = 'L'
 
constexpr char TRANS = 'T'
 
constexpr char NOTRANS = 'N'
 
constexpr float sone = 1.0e0
 
constexpr float szero = 0.0e0
 
constexpr double done = 1.0e0
 
constexpr double dzero = 0.0e0
 
constexpr std::complex< float > cone = 1.0e0
 
constexpr std::complex< float > czero = 0.0e0
 
constexpr std::complex< double > zone = 1.0e0
 
constexpr std::complex< double > zzero = 0.0e0