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
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");
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");
82 #endif // NEKTAR_USING BLAS
84 #endif // NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_BLASARRAY_HPP
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.
double F77NAME() ddot(const int &n, const double *x, const int &incx, const 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)
T Ddot(int n, const Array< OneD, const T > &w, const int incw, const Array< OneD, const T > &x, const int incx, const Array< OneD, const int > &y, const int incy)
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...