37 #ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_BLASARRAY_HPP
38 #define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_BLASARRAY_HPP
50 void F77NAME(
dcopy) (
const int& n,
const double *x,
const int& incx,
51 double *y,
const int& incy);
52 void F77NAME(
daxpy) (
const int& n,
const double& alpha,
const double *x,
53 const int& incx,
const double *y,
const int& incy);
54 double F77NAME(
ddot) (
const int& n,
const double *x,
const int& incx,
55 const double *y,
const int& incy);
58 #ifdef NEKTAR_USING_BLAS
59 static inline 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)
61 ASSERTL1(static_cast<unsigned int>(n*incx) <= x.num_elements()+x.GetOffset(),
"Array out of bounds");
62 ASSERTL1(static_cast<unsigned int>(n*incy) <= y.num_elements()+y.GetOffset(),
"Array out of bounds");
68 static inline 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)
70 ASSERTL1(static_cast<unsigned int>(n*incx) <= x.num_elements()+x.GetOffset(),
"Array out of bounds");
71 ASSERTL1(static_cast<unsigned int>(n*incy) <= y.num_elements()+y.GetOffset(),
"Array out of bounds");
77 static inline double Ddot (
const int& n,
const Nektar::Array <Nektar::OneD,const double> &x,
const int& incx,
78 const Nektar::Array <Nektar::OneD,const double> &y,
const int& incy)
82 #endif // NEKTAR_USING BLAS
84 #endif // NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_BLASARRAY_HPP