Nektar++
Functions
Blas Namespace Reference

Functions

void F77NAME() dcopy (const int &n, const double *x, const int &incx, double *y, const int &incy)
 
void F77NAME() scopy (const int &n, const float *x, const int &incx, float *y, const int &incy)
 
void F77NAME() daxpy (const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)
 
void F77NAME() saxpy (const int &n, const float &alpha, const float *x, const int &incx, const float *y, const int &incy)
 
void F77NAME() dswap (const int &n, double *x, const int &incx, double *y, const int &incy)
 
void F77NAME() sswap (const int &n, float *x, const int &incx, float *y, const int &incy)
 
void F77NAME() dscal (const int &n, const double &alpha, double *x, const int &incx)
 
void F77NAME() sscal (const int &n, const float &alpha, float *x, const int &incx)
 
void F77NAME() drot (const int &n, double *x, const int &incx, double *y, const int &incy, const double &c, const double &s)
 
void F77NAME() srot (const int &n, float *x, const int &incx, float *y, const int &incy, const float &c, const float &s)
 
double F77NAME() ddot (const int &n, const double *x, const int &incx, const double *y, const int &incy)
 
float F77NAME() sdot (const int &n, const float *x, const int &incx, const float *y, const int &incy)
 
double F77NAME() dnrm2 (const int &n, const double *x, const int &incx)
 
float F77NAME() snrm2 (const int &n, const float *x, const int &incx)
 
double F77NAME() dasum (const int &n, const double *x, const int &incx)
 
float F77NAME() sasum (const int &n, const float *x, const int &incx)
 
int F77NAME() idamax (const int &n, const double *x, const int &incx)
 
int F77NAME() isamax (const int &n, const float *x, const int &incx)
 
void F77NAME() dgemv (const char &trans, 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 F77NAME() sgemv (const char &trans, 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 F77NAME() dgbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() sgbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() dtpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 
void F77NAME() stpmv (const char &uplo, const char &trans, const char &diag, const int &n, const float *ap, float *x, const int &incx)
 
void F77NAME() dspmv (const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() sspmv (const char &uplo, const int &n, const float &alpha, const float *a, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() dsbmv (const char &uplo, const int &m, const int &k, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() ssbmv (const char &uplo, const int &m, const int &k, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() dger (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)
 
void F77NAME() sger (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)
 
void F77NAME() dgemm (const char &trans, const char &transb, const int &m1, 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 F77NAME() sgemm (const char &trans, const char &transb, const int &m1, 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)
 
static void Dcopy (const int &n, const double *x, const int &incx, double *y, const int &incy)
 BLAS level 1: Copy x to y. More...
 
static void Daxpy (const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)
 BLAS level 1: y = alpha x plus y. More...
 
static void Dswap (const int &n, double *x, const int &incx, double *y, const int &incy)
 BLAS level 1: Swap x with y. More...
 
static void Dscal (const int &n, const double &alpha, double *x, const int &incx)
 BLAS level 1: x = alpha x. More...
 
static void Drot (const int &n, double *x, const int &incx, double *y, const int &incy, const double &c, const double &s)
 BLAS level 1: Plane rotation by c = cos(theta), s = sin(theta) More...
 
static double Ddot (const int &n, const double *x, const int &incx, const double *y, const int &incy)
 BLAS level 1: output = \( x^T y \). More...
 
static double Dnrm2 (const int &n, const double *x, const int &incx)
 
static double Dasum (const int &n, const double *x, const int &incx)
 BLAS level 1: output = \( ||x||_1 \). More...
 
static int Idamax (const int &n, const double *x, const int &incx)
 BLAS level 1: output = 1st value where \( |x[i]| = max |x|_1 \) Note it is modified to return a value between (0,n-1) as per the standard C convention. More...
 
static void Ger (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)
 BLAS level 2: Matrix vector multiply A = alpha*x*y**T + A where A[m x n]. More...
 
static void Ger (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)
 BLAS level 2: Matrix vector multiply A = alpha*x*y**T + A where A[m x n]. More...
 
static void Gemv (const char &trans, 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)
 BLAS level 2: Matrix vector multiply y = A x where A[m x n]. More...
 
static void Gemv (const char &trans, 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)
 BLAS level 2: Matrix vector multiply y = A x where A[m x n]. More...
 
static void Dgemv (const char &trans, 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)
 BLAS level 2: Matrix vector multiply y = A x where A[m x n]. More...
 
static void Gbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
static void Gbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
static void Dgbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
static void Tpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 
static void Tpmv (const char &uplo, const char &trans, const char &diag, const int &n, const float *ap, float *x, const int &incx)
 
static void Dtpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 
static void Spmv (const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = A x where A is symmetric packed. More...
 
static void Spmv (const char &uplo, const int &n, const float &alpha, const float *a, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = A x where A is symmetric packed. More...
 
static void Dspmv (const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = A x where A is symmetric packed. More...
 
static void Dsbmv (const char &uplo, const int &m, const int &k, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
static void Gemm (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)
 BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,. More...
 
static void Gemm (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)
 BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,. More...
 
static 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)
 BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,. More...
 
static void Cdgemm (const int M, const int N, const int K, const double a, const double *A, const int ldA, const double *B, const int ldB, const double b, double *C, const int ldC)
 
static void Dcopy (const int &n, const Nektar::Array< Nektar::OneD, const double > &x, const int &incx, Nektar::Array< Nektar::OneD, double > &y, const int &incy)
 
static void Daxpy (const int &n, const double &alpha, const Nektar::Array< Nektar::OneD, const double > &x, const int &incx, Nektar::Array< Nektar::OneD, double > &y, const int &incy)
 BLAS level 1: y = alpha x plus y. More...
 
static double Ddot (const int &n, const Nektar::Array< Nektar::OneD, const double > &x, const int &incx, const Nektar::Array< Nektar::OneD, const double > &y, const int &incy)
 BLAS level 1: output = \( x^T y \). More...
 

Function Documentation

◆ Cdgemm()

static void Blas::Cdgemm ( const int  M,
const int  N,
const int  K,
const double  a,
const double *  A,
const int  ldA,
const double *  B,
const int  ldB,
const double  b,
double *  C,
const int  ldC 
)
inlinestatic

Definition at line 405 of file Blas.hpp.

408  {
409  boost::ignore_unused(ldA, ldB, ldC);
410  Dgemm('N','N',N,M,K,a,B,N,A,K,b,C,N) ;
411  }
static 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)
BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM perfo...
Definition: Blas.hpp:394

References Dgemm().

◆ dasum()

double F77NAME() Blas::dasum ( const int &  n,
const double *  x,
const int &  incx 
)

Referenced by Dasum().

◆ Dasum()

static double Blas::Dasum ( const int &  n,
const double *  x,
const int &  incx 
)
inlinestatic

BLAS level 1: output = \( ||x||_1 \).

Definition at line 211 of file Blas.hpp.

212  {
213  return F77NAME(dasum)(n,x,incx);
214  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
double F77NAME() dasum(const int &n, const double *x, const int &incx)

References dasum(), and F77NAME.

◆ daxpy()

void F77NAME() Blas::daxpy ( const int &  n,
const double &  alpha,
const double *  x,
const int &  incx,
const double *  y,
const int &  incy 
)

Referenced by Daxpy().

◆ Daxpy() [1/2]

static void Blas::Daxpy ( const int &  n,
const double &  alpha,
const double *  x,
const int &  incx,
const double *  y,
const int &  incy 
)
inlinestatic

BLAS level 1: y = alpha x plus y.

Definition at line 167 of file Blas.hpp.

169  {
170  F77NAME(daxpy)(n,alpha,x,incx,y,incy);
171  }
void F77NAME() daxpy(const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)

References daxpy(), and F77NAME.

Referenced by Nektar::MMFSWE::GetSWEFluxVector(), Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp_MatFree_GenericImpl(), Nektar::Collections::BwdTrans_SumFac_Tri::operator()(), Nektar::Collections::BwdTrans_SumFac_Tet::operator()(), Nektar::Collections::BwdTrans_SumFac_Prism::operator()(), Nektar::Collections::BwdTrans_SumFac_Pyr::operator()(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), Nektar::SmoothedProfileMethod::SolveCorrectedVelocity(), Nektar::SubSteppingExtrapolate::SubStepExtrapolateField(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdSegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::HexExp::v_PhysDeriv(), Nektar::LocalRegions::PrismExp::v_PhysDeriv(), Nektar::LocalRegions::PyrExp::v_PhysDeriv(), Nektar::LocalRegions::TetExp::v_PhysDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), Nektar::VCSMapping::v_SetUpViscousForcing(), and Nektar::VelocityCorrectionScheme::v_SetUpViscousForcing().

◆ Daxpy() [2/2]

static void Blas::Daxpy ( const int &  n,
const double &  alpha,
const Nektar::Array< Nektar::OneD, const double > &  x,
const int &  incx,
Nektar::Array< Nektar::OneD, double > &  y,
const int &  incy 
)
inlinestatic

BLAS level 1: y = alpha x plus y.

Definition at line 66 of file BlasArray.hpp.

67  {
68  ASSERTL1(static_cast<unsigned int>(n*incx) <= x.size()+x.GetOffset(),"Array out of bounds");
69  ASSERTL1(static_cast<unsigned int>(n*incy) <= y.size()+y.GetOffset(),"Array out of bounds");
70 
71  F77NAME(daxpy)(n,alpha,&x[0],incx,&y[0],incy);
72  }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
Definition: ErrorUtil.hpp:250

References ASSERTL1, daxpy(), and F77NAME.

◆ dcopy()

void F77NAME() Blas::dcopy ( const int &  n,
const double *  x,
const int &  incx,
double *  y,
const int &  incy 
)

Referenced by Dcopy().

◆ Dcopy() [1/2]

static void Blas::Dcopy ( const int &  n,
const double *  x,
const int &  incx,
double *  y,
const int &  incy 
)
inlinestatic

BLAS level 1: Copy x to y.

Definition at line 160 of file Blas.hpp.

162  {
163  F77NAME(dcopy)(n,x,incx,y,incy);
164  }
void F77NAME() dcopy(const int &n, const double *x, const int &incx, double *y, const int &incy)

References dcopy(), and F77NAME.

Referenced by Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::StdRegions::StdPointExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), and Nektar::StdRegions::StdSegExp::v_GetCoords().

◆ Dcopy() [2/2]

static void Blas::Dcopy ( const int &  n,
const Nektar::Array< Nektar::OneD, const double > &  x,
const int &  incx,
Nektar::Array< Nektar::OneD, double > &  y,
const int &  incy 
)
inlinestatic

Definition at line 57 of file BlasArray.hpp.

58  {
59  ASSERTL1(static_cast<unsigned int>(n*incx) <= x.size()+x.GetOffset(),"Array out of bounds");
60  ASSERTL1(static_cast<unsigned int>(n*incy) <= y.size()+y.GetOffset(),"Array out of bounds");
61 
62  F77NAME(dcopy)(n,&x[0],incx,&y[0],incy);
63  }

References ASSERTL1, dcopy(), and F77NAME.

◆ ddot()

double F77NAME() Blas::ddot ( const int &  n,
const double *  x,
const int &  incx,
const double *  y,
const int &  incy 
)

Referenced by Ddot().

◆ Ddot() [1/2]

static double Blas::Ddot ( const int &  n,
const double *  x,
const int &  incx,
const double *  y,
const int &  incy 
)
inlinestatic

◆ Ddot() [2/2]

static double Blas::Ddot ( const int &  n,
const Nektar::Array< Nektar::OneD, const double > &  x,
const int &  incx,
const Nektar::Array< Nektar::OneD, const double > &  y,
const int &  incy 
)
inlinestatic

BLAS level 1: output = \( x^T y \).

Definition at line 75 of file BlasArray.hpp.

77  {
78  return F77NAME(ddot)(n,&x[0],incx,&y[0],incy);
79  }

References ddot(), and F77NAME.

◆ dgbmv()

void F77NAME() Blas::dgbmv ( const char &  trans,
const int &  m,
const int &  n,
const int &  kl,
const int &  ku,
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 Dgbmv(), and Gbmv().

◆ Dgbmv()

static void Blas::Dgbmv ( const char &  trans,
const int &  m,
const int &  n,
const int &  kl,
const int &  ku,
const double &  alpha,
const double *  a,
const int &  lda,
const double *  x,
const int &  incx,
const double &  beta,
double *  y,
const int &  incy 
)
inlinestatic

Definition at line 295 of file Blas.hpp.

301  {
302  F77NAME(dgbmv) (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy);
303  }
void F77NAME() dgbmv(const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)

References dgbmv(), and F77NAME.

◆ dgemm()

void F77NAME() Blas::dgemm ( const char &  trans,
const char &  transb,
const int &  m1,
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 Dgemm(), and Gemm().

◆ Dgemm()

static 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 
)
inlinestatic

BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,.

Definition at line 394 of file Blas.hpp.

399  {
400  F77NAME(dgemm) (transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc);
401  }
void F77NAME() dgemm(const char &trans, const char &transb, const int &m1, 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)

References dgemm(), and F77NAME.

Referenced by Cdgemm(), Nektar::MultiRegions::GlobalLinSysStaticCond::ConstructNextLevelCondensedSystem(), Nektar::LibUtilities::Basis::GenBasis(), Nektar::Collections::HexIProduct(), Nektar::LibUtilities::Interp2D(), Nektar::LibUtilities::Interp3D(), Nektar::LibUtilities::InterpCoeff2D(), Nektar::LibUtilities::InterpCoeff3D(), Nektar::MultiRegions::LocTraceToTraceMap::InterpLocEdgesToTrace(), Nektar::MultiRegions::LocTraceToTraceMap::InterpLocFacesToTrace(), Nektar::Collections::IProductWRTDerivBase_StdMat::operator()(), Nektar::Collections::IProductWRTDerivBase_SumFac_Seg::operator()(), Nektar::Collections::BwdTrans_StdMat::operator()(), Nektar::Collections::BwdTrans_SumFac_Seg::operator()(), Nektar::Collections::BwdTrans_SumFac_Quad::operator()(), Nektar::Collections::BwdTrans_SumFac_Tri::operator()(), Nektar::Collections::BwdTrans_SumFac_Hex::operator()(), Nektar::Collections::BwdTrans_SumFac_Tet::operator()(), Nektar::Collections::BwdTrans_SumFac_Prism::operator()(), Nektar::Collections::BwdTrans_SumFac_Pyr::operator()(), Nektar::Collections::IProductWRTBase_StdMat::operator()(), Nektar::Collections::IProductWRTBase_SumFac_Seg::operator()(), Nektar::Collections::PhysDeriv_StdMat::operator()(), Nektar::Collections::PhysDeriv_SumFac_Seg::operator()(), Nektar::Collections::PhysDeriv_SumFac_Quad::operator()(), Nektar::Collections::PhysDeriv_SumFac_Tri::operator()(), Nektar::Collections::PhysDeriv_SumFac_Hex::operator()(), Nektar::Collections::PhysDeriv_SumFac_Tet::operator()(), Nektar::Collections::PhysDeriv_SumFac_Prism::operator()(), Nektar::Collections::PhysDeriv_SumFac_Pyr::operator()(), Nektar::LibUtilities::PhysGalerkinProject2D(), Nektar::LibUtilities::PhysGalerkinProject3D(), Nektar::StdRegions::StdExpansion2D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion3D::PhysTensorDeriv(), Nektar::Collections::PrismIProduct(), Nektar::Collections::PyrIProduct(), Nektar::Collections::QuadIProduct(), Nektar::MultiRegions::LocTraceToTraceMap::RightIPTWLocEdgesToTraceInterpMat(), Nektar::MultiRegions::LocTraceToTraceMap::RightIPTWLocFacesToTraceInterpMat(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::Collections::TetIProduct(), Nektar::Collections::TriIProduct(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoTransformBasisFromLowEnergy(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoTransformBasisToLowEnergy(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoTransformCoeffsFromLowEnergy(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoTransformCoeffsToLowEnergy(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), and Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel().

◆ dgemv()

void F77NAME() Blas::dgemv ( const char &  trans,
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 Dgemv(), and Gemv().

◆ Dgemv()

static void Blas::Dgemv ( const char &  trans,
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 
)
inlinestatic

BLAS level 2: Matrix vector multiply y = A x where A[m x n].

Definition at line 265 of file Blas.hpp.

269  {
270  F77NAME(dgemv) (trans,m,n,alpha,a,lda,x,incx,beta,y,incy);
271  }
void F77NAME() dgemv(const char &trans, 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)

References dgemv(), and F77NAME.

Referenced by Nektar::StdRegions::StdExpansion::BwdTrans_MatOp(), Nektar::LocalRegions::NodalTriExp::GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TetExp::GeneralMatrixOp_MatOp(), Nektar::LibUtilities::Interp1D(), Nektar::MultiRegions::LocTraceToTraceMap::InterpLocFacesToTrace(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_MatOp(), Nektar::StorageSmvBsr< T >::Multiply_generic(), Nektar::ForcingMovingBody::Newmark_betaSolver(), Nektar::LibUtilities::PhysGalerkinProject1D(), Nektar::StdRegions::StdExpansion0D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv(), Nektar::Collections::PrismIProduct(), Nektar::Collections::TetIProduct(), Nektar::Collections::TriIProduct(), Nektar::StdRegions::StdPointExp::v_BwdTrans(), Nektar::StdRegions::StdSegExp::v_BwdTrans(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::MultiRegions::GlobalLinSysIterativeStaticCond::v_DoMatrixMultiply(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdHexExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdQuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdTriExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::HexExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::PrismExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::QuadExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TriExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), and Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate().

◆ dger()

void F77NAME() Blas::dger ( 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 
)

Referenced by Ger().

◆ dnrm2()

double F77NAME() Blas::dnrm2 ( const int &  n,
const double *  x,
const int &  incx 
)

Referenced by Dnrm2().

◆ Dnrm2()

static double Blas::Dnrm2 ( const int &  n,
const double *  x,
const int &  incx 
)
inlinestatic

Definition at line 205 of file Blas.hpp.

206  {
207  return F77NAME(dnrm2)(n,x,incx);
208  }
double F77NAME() dnrm2(const int &n, const double *x, const int &incx)

References dnrm2(), and F77NAME.

◆ drot()

void F77NAME() Blas::drot ( const int &  n,
double *  x,
const int &  incx,
double *  y,
const int &  incy,
const double &  c,
const double &  s 
)

Referenced by Drot().

◆ Drot()

static void Blas::Drot ( const int &  n,
double *  x,
const int &  incx,
double *  y,
const int &  incy,
const double &  c,
const double &  s 
)
inlinestatic

BLAS level 1: Plane rotation by c = cos(theta), s = sin(theta)

Definition at line 189 of file Blas.hpp.

192  {
193  F77NAME(drot)(n,x,incx,y,incy,c,s);
194  }
void F77NAME() drot(const int &n, double *x, const int &incx, double *y, const int &incy, const double &c, const double &s)

References drot(), and F77NAME.

◆ dsbmv()

void F77NAME() Blas::dsbmv ( const char &  uplo,
const int &  m,
const int &  k,
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 Dsbmv().

◆ Dsbmv()

static void Blas::Dsbmv ( const char &  uplo,
const int &  m,
const int &  k,
const double &  alpha,
const double *  a,
const int &  lda,
const double *  x,
const int &  incx,
const double &  beta,
double *  y,
const int &  incy 
)
inlinestatic

Definition at line 353 of file Blas.hpp.

357  {
358  F77NAME(dsbmv) (uplo,m,k,alpha,a,lda,x,incx,beta,y,incy);
359  }
void F77NAME() dsbmv(const char &uplo, const int &m, const int &k, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)

References dsbmv(), and F77NAME.

◆ dscal()

void F77NAME() Blas::dscal ( const int &  n,
const double &  alpha,
double *  x,
const int &  incx 
)

Referenced by Dscal().

◆ Dscal()

static void Blas::Dscal ( const int &  n,
const double &  alpha,
double *  x,
const int &  incx 
)
inlinestatic

◆ dspmv()

void F77NAME() Blas::dspmv ( const char &  uplo,
const int &  n,
const double &  alpha,
const double *  a,
const double *  x,
const int &  incx,
const double &  beta,
double *  y,
const int &  incy 
)

Referenced by Dspmv(), and Spmv().

◆ Dspmv()

static void Blas::Dspmv ( const char &  uplo,
const int &  n,
const double &  alpha,
const double *  a,
const double *  x,
const int &  incx,
const double &  beta,
double *  y,
const int &  incy 
)
inlinestatic

BLAS level 2: Matrix vector multiply y = A x where A is symmetric packed.

Definition at line 346 of file Blas.hpp.

349  {
350  F77NAME(dspmv) (uplo,n,alpha,a,x,incx,beta,y,incy);
351  }
void F77NAME() dspmv(const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)

References dspmv(), and F77NAME.

◆ dswap()

void F77NAME() Blas::dswap ( const int &  n,
double *  x,
const int &  incx,
double *  y,
const int &  incy 
)

Referenced by Dswap().

◆ Dswap()

static void Blas::Dswap ( const int &  n,
double *  x,
const int &  incx,
double *  y,
const int &  incy 
)
inlinestatic

BLAS level 1: Swap x with y.

Definition at line 175 of file Blas.hpp.

177  {
178  F77NAME(dswap)(n,x,incx,y,incy);
179  }
void F77NAME() dswap(const int &n, double *x, const int &incx, double *y, const int &incy)

References dswap(), and F77NAME.

◆ dtpmv()

void F77NAME() Blas::dtpmv ( const char &  uplo,
const char &  trans,
const char &  diag,
const int &  n,
const double *  ap,
double *  x,
const int &  incx 
)

Referenced by Dtpmv(), and Tpmv().

◆ Dtpmv()

static void Blas::Dtpmv ( const char &  uplo,
const char &  trans,
const char &  diag,
const int &  n,
const double *  ap,
double *  x,
const int &  incx 
)
inlinestatic

Definition at line 319 of file Blas.hpp.

321  {
322  F77NAME(dtpmv) (uplo, trans, diag, n, ap, x, incx);
323  }
void F77NAME() dtpmv(const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)

References dtpmv(), and F77NAME.

◆ Gbmv() [1/2]

static void Blas::Gbmv ( const char &  trans,
const int &  m,
const int &  n,
const int &  kl,
const int &  ku,
const double &  alpha,
const double *  a,
const int &  lda,
const double *  x,
const int &  incx,
const double &  beta,
double *  y,
const int &  incy 
)
inlinestatic

Definition at line 273 of file Blas.hpp.

279  {
280  F77NAME(dgbmv) (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y,
281  incy);
282  }

References dgbmv(), and F77NAME.

Referenced by Nektar::NekMultiplyBandedMatrix().

◆ Gbmv() [2/2]

static void Blas::Gbmv ( const char &  trans,
const int &  m,
const int &  n,
const int &  kl,
const int &  ku,
const float &  alpha,
const float *  a,
const int &  lda,
const float *  x,
const int &  incx,
const float &  beta,
float *  y,
const int &  incy 
)
inlinestatic

Definition at line 284 of file Blas.hpp.

290  {
291  F77NAME(sgbmv) (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y,
292  incy);
293  }
void F77NAME() sgbmv(const char &trans, const int &m, const int &n, const int &kl, const int &ku, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)

References F77NAME, and sgbmv().

◆ Gemm() [1/2]

static void Blas::Gemm ( 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 
)
inlinestatic

BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,.

Definition at line 365 of file Blas.hpp.

371  {
372  F77NAME(dgemm) (transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc);
373  }

References dgemm(), and F77NAME.

Referenced by Nektar::MultiplyEqual(), and Nektar::NekMultiplyFullMatrixFullMatrix().

◆ Gemm() [2/2]

static void Blas::Gemm ( 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 
)
inlinestatic

BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,.

Definition at line 379 of file Blas.hpp.

385  {
386  F77NAME(sgemm) (transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc);
387  }
void F77NAME() sgemm(const char &trans, const char &transb, const int &m1, 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)

References F77NAME, and sgemm().

◆ Gemv() [1/2]

static void Blas::Gemv ( const char &  trans,
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 
)
inlinestatic

BLAS level 2: Matrix vector multiply y = A x where A[m x n].

Definition at line 247 of file Blas.hpp.

251  {
252  F77NAME(dgemv) (trans,m,n,alpha,a,lda,x,incx,beta,y,incy);
253  }

References dgemv(), and F77NAME.

Referenced by Nektar::DiagonalBlockFullScalMatrixMultiply(), and Nektar::NekMultiplyFullMatrix().

◆ Gemv() [2/2]

static void Blas::Gemv ( const char &  trans,
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 
)
inlinestatic

BLAS level 2: Matrix vector multiply y = A x where A[m x n].

Definition at line 256 of file Blas.hpp.

260  {
261  F77NAME(sgemv) (trans,m,n,alpha,a,lda,x,incx,beta,y,incy);
262  }
void F77NAME() sgemv(const char &trans, 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)

References F77NAME, and sgemv().

◆ Ger() [1/2]

static void Blas::Ger ( 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 
)
inlinestatic

BLAS level 2: Matrix vector multiply A = alpha*x*y**T + A where A[m x n].

Definition at line 226 of file Blas.hpp.

231  {
232  F77NAME(dger) (m,n,alpha,x,incx,y,incy,a,lda);
233  }
void F77NAME() dger(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)

References dger(), and F77NAME.

Referenced by Nektar::CFSImplicit::AddMatNSBlkDiagVol().

◆ Ger() [2/2]

static void Blas::Ger ( 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 
)
inlinestatic

BLAS level 2: Matrix vector multiply A = alpha*x*y**T + A where A[m x n].

Definition at line 237 of file Blas.hpp.

242  {
243  F77NAME(sger) (m,n,alpha,x,incx,y,incy,a,lda);
244  }
void F77NAME() sger(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)

References F77NAME, and sger().

◆ idamax()

int F77NAME() Blas::idamax ( const int &  n,
const double *  x,
const int &  incx 
)

Referenced by Idamax().

◆ Idamax()

static int Blas::Idamax ( const int &  n,
const double *  x,
const int &  incx 
)
inlinestatic

BLAS level 1: output = 1st value where \( |x[i]| = max |x|_1 \) Note it is modified to return a value between (0,n-1) as per the standard C convention.

Definition at line 219 of file Blas.hpp.

220  {
221  return F77NAME(idamax)(n,x,incx) -1;
222  }
int F77NAME() idamax(const int &n, const double *x, const int &incx)

References F77NAME, and idamax().

◆ isamax()

int F77NAME() Blas::isamax ( const int &  n,
const float *  x,
const int &  incx 
)

◆ sasum()

float F77NAME() Blas::sasum ( const int &  n,
const float *  x,
const int &  incx 
)

◆ saxpy()

void F77NAME() Blas::saxpy ( const int &  n,
const float &  alpha,
const float *  x,
const int &  incx,
const float *  y,
const int &  incy 
)

◆ scopy()

void F77NAME() Blas::scopy ( const int &  n,
const float *  x,
const int &  incx,
float *  y,
const int &  incy 
)

◆ sdot()

float F77NAME() Blas::sdot ( const int &  n,
const float *  x,
const int &  incx,
const float *  y,
const int &  incy 
)

◆ sgbmv()

void F77NAME() Blas::sgbmv ( const char &  trans,
const int &  m,
const int &  n,
const int &  kl,
const int &  ku,
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 Gbmv().

◆ sgemm()

void F77NAME() Blas::sgemm ( const char &  trans,
const char &  transb,
const int &  m1,
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().

◆ sgemv()

void F77NAME() Blas::sgemv ( const char &  trans,
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().

◆ sger()

void F77NAME() Blas::sger ( 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 
)

Referenced by Ger().

◆ snrm2()

float F77NAME() Blas::snrm2 ( const int &  n,
const float *  x,
const int &  incx 
)

◆ Spmv() [1/2]

static void Blas::Spmv ( const char &  uplo,
const int &  n,
const double &  alpha,
const double *  a,
const double *  x,
const int &  incx,
const double &  beta,
double *  y,
const int &  incy 
)
inlinestatic

BLAS level 2: Matrix vector multiply y = A x where A is symmetric packed.

Definition at line 327 of file Blas.hpp.

331  {
332  F77NAME(dspmv) (uplo,n,alpha,a,x,incx,beta,y,incy);
333  }

References dspmv(), and F77NAME.

Referenced by Nektar::NekMultiplySymmetricMatrix().

◆ Spmv() [2/2]

static void Blas::Spmv ( const char &  uplo,
const int &  n,
const float &  alpha,
const float *  a,
const float *  x,
const int &  incx,
const float &  beta,
float *  y,
const int &  incy 
)
inlinestatic

BLAS level 2: Matrix vector multiply y = A x where A is symmetric packed.

Definition at line 336 of file Blas.hpp.

340  {
341  F77NAME(sspmv) (uplo,n,alpha,a,x,incx,beta,y,incy);
342  }
void F77NAME() sspmv(const char &uplo, const int &n, const float &alpha, const float *a, const float *x, const int &incx, const float &beta, float *y, const int &incy)

References F77NAME, and sspmv().

◆ srot()

void F77NAME() Blas::srot ( const int &  n,
float *  x,
const int &  incx,
float *  y,
const int &  incy,
const float &  c,
const float &  s 
)

◆ ssbmv()

void F77NAME() Blas::ssbmv ( const char &  uplo,
const int &  m,
const int &  k,
const float &  alpha,
const float *  a,
const int &  lda,
const float *  x,
const int &  incx,
const float &  beta,
float *  y,
const int &  incy 
)

◆ sscal()

void F77NAME() Blas::sscal ( const int &  n,
const float &  alpha,
float *  x,
const int &  incx 
)

◆ sspmv()

void F77NAME() Blas::sspmv ( const char &  uplo,
const int &  n,
const float &  alpha,
const float *  a,
const float *  x,
const int &  incx,
const float &  beta,
float *  y,
const int &  incy 
)

Referenced by Spmv().

◆ sswap()

void F77NAME() Blas::sswap ( const int &  n,
float *  x,
const int &  incx,
float *  y,
const int &  incy 
)

◆ stpmv()

void F77NAME() Blas::stpmv ( const char &  uplo,
const char &  trans,
const char &  diag,
const int &  n,
const float *  ap,
float *  x,
const int &  incx 
)

Referenced by Tpmv().

◆ Tpmv() [1/2]

static void Blas::Tpmv ( const char &  uplo,
const char &  trans,
const char &  diag,
const int &  n,
const double *  ap,
double *  x,
const int &  incx 
)
inlinestatic

Definition at line 305 of file Blas.hpp.

308  {
309  F77NAME(dtpmv) (uplo, trans, diag, n, ap, x, incx);
310  }

References dtpmv(), and F77NAME.

Referenced by Nektar::NekMultiplyLowerTriangularMatrix(), and Nektar::NekMultiplyUpperTriangularMatrix().

◆ Tpmv() [2/2]

static void Blas::Tpmv ( const char &  uplo,
const char &  trans,
const char &  diag,
const int &  n,
const float *  ap,
float *  x,
const int &  incx 
)
inlinestatic

Definition at line 312 of file Blas.hpp.

315  {
316  F77NAME(stpmv) (uplo, trans, diag, n, ap, x, incx);
317  }
void F77NAME() stpmv(const char &uplo, const char &trans, const char &diag, const int &n, const float *ap, float *x, const int &incx)

References F77NAME, and stpmv().