#ifndef ULMBLAS_H #define ULMBLAS_H #include // for typedef bool #include // for size_t, ptrdiff_t //-- BLAS Level 1 functions ---------------------------------------------------- void dcopy(size_t n, const double *x, ptrdiff_t incX, double *y, ptrdiff_t incY); void daxpy(size_t n, double alpha, const double *x, ptrdiff_t incX, double *y, ptrdiff_t incY); double ddot(size_t n, const double *x, ptrdiff_t incX, const double *y, ptrdiff_t incY); void dscal(size_t n, double alpha, double *x, ptrdiff_t incX); size_t idamax(size_t n, const double *x, ptrdiff_t incX); void dswap(size_t n, double *x, ptrdiff_t incX, double *y, ptrdiff_t incY); //-- BLAS Level 2 functions ---------------------------------------------------- void dgemv(size_t m, size_t n, double alpha, const double *A, ptrdiff_t incRowA, ptrdiff_t incColA, const double *x, ptrdiff_t incX, double beta, double *y, ptrdiff_t incY); void dger(size_t m, size_t n, double alpha, const double *x, ptrdiff_t incX, const double *y, ptrdiff_t incY, double *A, ptrdiff_t incRowA, ptrdiff_t incColA); void dtrsv(size_t n, bool lower, bool unit, const double *A, ptrdiff_t incRowA, ptrdiff_t incColA, double *x, ptrdiff_t incX); //-- LAPACK functions ---------------------------------------------------------- ptrdiff_t dgetrf(size_t m, size_t n, double *A, ptrdiff_t incRowA, ptrdiff_t incColA, size_t *p, ptrdiff_t incP); #endif // ULMBLAS_H