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() daxpy (const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)
 
void F77NAME() dswap (const int &n, double *x, const int &incx, double *y, const int &incy)
 
void F77NAME() dscal (const int &n, const double &alpha, double *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)
 
double F77NAME() ddot (const int &n, const double *x, const int &incx, const double *y, const int &incy)
 
double F77NAME() dnrm2 (const int &n, const double *x, const int &incx)
 
double F77NAME() dasum (const int &n, const double *x, const int &incx)
 
int F77NAME() idamax (const int &n, const double *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() 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() dtpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *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() 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() 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)
 
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 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 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 Dtpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 
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 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 A[m x n], B[n x k], C[m x k]. 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 224 of file Blas.hpp.

References Dgemm().

227  {
228  boost::ignore_unused(ldA, ldB, ldC);
229  Dgemm('N','N',N,M,K,a,B,N,A,K,b,C,N) ;
230  }
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 A[m x n], B[n x k], C[m x k].
Definition: Blas.hpp:213

◆ 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 154 of file Blas.hpp.

References dasum(), and F77NAME.

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

◆ 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 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.

References ASSERTL1, daxpy(), and F77NAME.

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

◆ Daxpy() [2/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 110 of file Blas.hpp.

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::SubSteppingExtrapolate::SubStepExtrapolateField(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdSegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::PrismExp::v_PhysDeriv(), Nektar::LocalRegions::TetExp::v_PhysDeriv(), Nektar::LocalRegions::PyrExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDeriv(), Nektar::LocalRegions::HexExp::v_PhysDeriv(), Nektar::VCSMapping::v_SetUpViscousForcing(), and Nektar::VelocityCorrectionScheme::v_SetUpViscousForcing().

112  {
113  F77NAME(daxpy)(n,alpha,x,incx,y,incy);
114  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
void F77NAME() daxpy(const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)

◆ 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 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.

References ASSERTL1, dcopy(), and F77NAME.

58  {
59  ASSERTL1(static_cast<unsigned int>(n*incx) <= x.num_elements()+x.GetOffset(),"Array out of bounds");
60  ASSERTL1(static_cast<unsigned int>(n*incy) <= y.num_elements()+y.GetOffset(),"Array out of bounds");
61 
62  F77NAME(dcopy)(n,&x[0],incx,&y[0],incy);
63  }
void F77NAME() dcopy(const int &n, const double *x, const int &incx, double *y, const int &incy)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250

◆ Dcopy() [2/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 103 of file Blas.hpp.

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().

105  {
106  F77NAME(dcopy)(n,x,incx,y,incy);
107  }
void F77NAME() dcopy(const int &n, const double *x, const int &incx, double *y, const int &incy)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46

◆ 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 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.

References ddot(), and F77NAME.

77  {
78  return F77NAME(ddot)(n,&x[0],incx,&y[0],incy);
79  }
double ddot(int, double *, int, double *, int)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46

◆ Ddot() [2/2]

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

◆ 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().

◆ 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 176 of file Blas.hpp.

References dgbmv(), and F77NAME.

Referenced by Nektar::NekMultiplyBandedMatrix().

182  {
183  F77NAME(dgbmv) (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy);
184  }
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)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46

◆ 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().

◆ 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 A[m x n], B[n x k], C[m x k].

Definition at line 213 of file Blas.hpp.

References dgemm(), and F77NAME.

Referenced by Cdgemm(), Nektar::MultiRegions::GlobalLinSysStaticCond::ConstructNextLevelCondensedSystem(), Nektar::LibUtilities::Basis::GenBasis(), Nektar::Utilities::NodeOpti::GetFunctional(), Nektar::Collections::HexIProduct(), Nektar::LibUtilities::Interp2D(), Nektar::LibUtilities::Interp3D(), Nektar::LibUtilities::InterpCoeff2D(), Nektar::LibUtilities::InterpCoeff3D(), Nektar::MultiRegions::LocTraceToTraceMap::InterpLocEdgesToTrace(), Nektar::MultiRegions::LocTraceToTraceMap::InterpLocFacesToTrace(), Nektar::MultiplyEqual(), Nektar::NekMultiplyFullMatrixFullMatrix(), Nektar::Collections::PhysDeriv_StdMat::operator()(), Nektar::Collections::BwdTrans_StdMat::operator()(), Nektar::Collections::IProductWRTBase_StdMat::operator()(), Nektar::Collections::IProductWRTDerivBase_StdMat::operator()(), Nektar::Collections::BwdTrans_SumFac_Seg::operator()(), Nektar::Collections::IProductWRTBase_SumFac_Seg::operator()(), Nektar::Collections::BwdTrans_SumFac_Quad::operator()(), Nektar::Collections::IProductWRTDerivBase_SumFac_Seg::operator()(), Nektar::Collections::BwdTrans_SumFac_Tri::operator()(), Nektar::Collections::PhysDeriv_SumFac_Seg::operator()(), Nektar::Collections::PhysDeriv_SumFac_Quad::operator()(), Nektar::Collections::BwdTrans_SumFac_Hex::operator()(), Nektar::Collections::BwdTrans_SumFac_Tet::operator()(), Nektar::Collections::PhysDeriv_SumFac_Tri::operator()(), Nektar::Collections::BwdTrans_SumFac_Prism::operator()(), Nektar::Collections::PhysDeriv_SumFac_Hex::operator()(), Nektar::Collections::BwdTrans_SumFac_Pyr::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::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::Collections::TetIProduct(), Nektar::Collections::TriIProduct(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoMultiplybyInverseTransformationMatrix(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoMultiplybyInverseTransposedTransformationMatrix(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoTransformFromLowEnergy(), Nektar::MultiRegions::PreconditionerLowEnergy::v_DoTransformToLowEnergy(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), and Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFacKernel().

218  {
219  F77NAME(dgemm) (transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc);
220  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
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)

◆ 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().

◆ 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 168 of file Blas.hpp.

References dgemv(), and F77NAME.

Referenced by Nektar::StdRegions::StdExpansion::BwdTrans_MatOp(), Nektar::DiagonalBlockFullScalMatrixMultiply(), Nektar::Utilities::ElUtil::Evaluate(), 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::NekMultiplyFullMatrix(), 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::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::MultiRegions::GlobalLinSysIterativeStaticCond::v_DoMatrixMultiply(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::PrismExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::HexExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdTriExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdQuadExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::QuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdHexExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TriExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFacKernel(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::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(), and Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate().

172  {
173  F77NAME(dgemv) (trans,m,n,alpha,a,lda,x,incx,beta,y,incy);
174  }
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)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46

◆ 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 148 of file Blas.hpp.

References dnrm2(), and F77NAME.

149  {
150  return F77NAME(dnrm2)(n,x,incx);
151  }
double F77NAME() dnrm2(const int &n, const double *x, const int &incx)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46

◆ 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 132 of file Blas.hpp.

References drot(), and F77NAME.

135  {
136  F77NAME(drot)(n,x,incx,y,incy,c,s);
137  }
void F77NAME() drot(const int &n, double *x, const int &incx, double *y, const int &incy, const double &c, const double &s)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46

◆ 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 202 of file Blas.hpp.

References dsbmv(), and F77NAME.

206  {
207  F77NAME(dsbmv) (uplo,m,k,alpha,a,lda,x,incx,beta,y,incy);
208  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
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)

◆ 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().

◆ 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 195 of file Blas.hpp.

References dspmv(), and F77NAME.

Referenced by Nektar::NekMultiplySymmetricMatrix().

198  {
199  F77NAME(dspmv) (uplo,n,alpha,a,x,incx,beta,y,incy);
200  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
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)

◆ 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 118 of file Blas.hpp.

References dswap(), and F77NAME.

120  {
121  F77NAME(dswap)(n,x,incx,y,incy);
122  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
void F77NAME() dswap(const int &n, double *x, const int &incx, double *y, const int &incy)

◆ 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().

◆ 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 187 of file Blas.hpp.

References dtpmv(), and F77NAME.

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

189  {
190  F77NAME(dtpmv) (uplo, trans, diag, n, ap, x, incx);
191  }
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46
void F77NAME() dtpmv(const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)

◆ 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 162 of file Blas.hpp.

References F77NAME, and idamax().

163  {
164  return F77NAME(idamax)(n,x,incx) -1;
165  }
int F77NAME() idamax(const int &n, const double *x, const int &incx)
#define F77NAME(x)
Fortran routines need an underscore.
Definition: TransF77.hpp:46