1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
#ifndef ULMBLAS_LEVEL1_H
#define ULMBLAS_LEVEL1_H 1

//
// BLAS Level 1
//

double
ddot(int n, const double *x, int incX, const double *y, int incY);

void
daxpy(int n, double alpha, const double *x, int incX, double *y, int incY);

void
dscal(int n, double alpha, double *x, int incX);

void
dcopy(int n, const double *x, int incX, double *y, int incY);

void
dswap(int n, double *x, int incX, double *y, int incY);

double
damax(int n, const double *x, int incX);

//
//  BLAS Level 1 extensions
//

void
dgecopy(int m, int n,
        const double *X, int incRowX, int incColX,
        double *Y, int incRowY, int incColY);

void
dgescal(int m, int n, double alpha,
        double *X, int incRowX, int incColX);

void
dgeaxpy(int m, int n, double alpha,
        const double *X, int incRowX, int incColX,
        double *Y, int incRowY, int incColY);

double
dgenrm1(int m, int n, const double *A, int incRowA, int incColA);

double
dtrnrm1(int m, int n,  int unitDiag, int lower,
        const double *A, int incRowA, int incColA);

#endif // ULMBLAS_LEVEL1_H