26#ifndef _NMBLAS_H_INCLUDED_
27#define _NMBLAS_H_INCLUDED_
61enum nm_trans{nm_n=0,nm_t=1};
790 const enum nm_trans TRANS,
846 const enum nm_trans TRANS,
int nmblas_idamax(const int N, const double *X, const int INCX)
finds the index of the first element having maximum absolute value.
float nmblas_snrm2(const int N, const float *X, const int INCX)
SNRM2 returns the euclidean norm of a vector via the function name, so that SNRM2 := sqrt( x'*x )....
void nmblas_dswap(const int N, double *X, const int INCX, double *Y, const int INCY)
interchanges two vectors <>
void nmblas_dscal(const int N, const double ALPHA, double *X, const int INCX)
scales a vector by a constant <>
void nmblas_drot(const int N, double *X, const int INCX, double *Y, const int INCY, const double C, const double S)
applies a plane rotation <>
double nmblas_ddot(const int N, const double *X, const int INCX, const double *Y, const int INCY)
forms the dot product of two vectors.
float nmblas_scnrm2(const int N, const float *X, const int INCX)
returns the euclidean norm of a vector via the function name, so that SCNRM2 := sqrt( x**H*x )
void nmblas_srotm(const int N, float *X, const int INCX, float *Y, const int INCY, float *param)
Apply a Given's rotation constructed by SROTMG. <>
void nmblas_scopy(const int N, const float *X, const int INCX, float *Y, const int INCY)
copies a vector, X, to a vector, Y
int nmblas_isamax(const int N, const float *X, const int INCX)
finds the index of the first element having maximum absolute value.
void nmblas_sswap(const int N, const float *X, const int INCX, const float *Y, const int INCY)
interchanges two vectors <>
float nmblas_sdot(const int N, const float *X, const int INCX, const float *Y, const int INCY)
SDOT forms the dot product of two vectors.
double nmblas_dsdot(const int N, const float *X, const int INCX, const float *Y, const int INCY)
Compute the inner product of two vectors with double precision accumulation. <>
float nmblas_sasum(const int N, const float *X, const int INCX)
takes the sum of the absolute values
void nmblas_drotg(double *A, double *B, double *C, double *S)
construct givens plane rotation <>
void nmblas_srot(const int N, float *X, const int INCX, float *Y, const int INCY, const float C, const float S)
applies a plane rotation <>
float nmblas_sdsdot(const int N, const float B, const float *X, const int INCX, const float *Y, const int INCY)
Compute the inner product of two vectors with double precision accumulation. <>
double nmblas_dznrm2(const int N, const double *X, const int INCX)
returns the euclidean norm of a vector via the function name, so that DZNRM2 := sqrt( x**H*x ) <>
void nmblas_daxpy(const int N, const double A, const double *X, const int INCX, double *Y, const int INCY)
constant times a vector plus a vector <>
double nmblas_dasum(const int N, const double *X, const int INCX)
takes the sum of the absolute values <>
double nmblas_dnrm2(const int N, const double *x, const int INCX)
returns the euclidean norm of a vector via the function name, so that SCNRM2 := sqrt( x**H*x )
void nmblas_drotm(const int N, double *X, const int INCX, double *Y, const int INCY, double *param)
Apply a Given's rotation constructed by DROTMG. <>
void nmblas_sscal(const int N, const float A, const float *X, const int INCX)
scales a vector by a constant <>
void nmblas_dcopy(const int N, const double *X, const int INCX, double *Y, const int INCY)
copies a vector, X, to a vector, Y
void nmblas_saxpy(int N, const float A, const float *X, const int INCX, float *Y, const int INCY)
constant times a vector plus a vector
void nmblas_sger(const int M, const int N, const float ALPHA, const float *X, const int INCX, const float *Y, const int INCY, float *A, const int LDA)
perform the rank 1 operation A := alpha*x*y' + A, where alpha is a scalar, x is an m element vector,...
void nmblas_sgemv(const enum nm_trans TRANS, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *X, const int INCX, const float BETA, float *Y, const int INCY)
performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y,...
void nmblas_dgemv(const enum nm_trans 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)
performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y,...
part of nmblas library, sgemm function implementation