44 #ifndef BLAS_CPP_OVERLOADS_DECLARATIONS_H
45 #define BLAS_CPP_OVERLOADS_DECLARATIONS_H
48 #include "BLAS_Cpp_Types.hpp"
54 typedef FortranTypes::f_int f_int;
55 typedef FortranTypes::f_real f_real;
56 typedef FortranTypes::f_dbl_prec f_dbl_prec;
66 const char SideChar[] = {
'L' ,
'R' };
68 const char TransChar[] = {
'N' ,
'T' ,
'C' };
70 const char UploChar[] = {
'U' ,
'L' };
72 const char DiagChar[] = {
'U' ,
'N' };
90 void rotg( f_dbl_prec* a, f_dbl_prec* b, f_dbl_prec* c, f_dbl_prec* s );
98 void rot(
const f_int& N, f_dbl_prec* X,
const f_int& INCX, f_dbl_prec* Y,
const f_int& INCY
99 ,
const f_dbl_prec& C,
const f_dbl_prec& S);
106 void swap(
const f_int& N, f_dbl_prec* X,
const f_int& INCX, f_dbl_prec* Y,
const f_int& INCY);
114 void scal(
const f_int& N,
const f_dbl_prec& ALPHA, f_dbl_prec* X,
const f_int& INCX);
122 void copy(
const f_int& N,
const f_dbl_prec* X,
const f_int& INCX, f_dbl_prec* Y,
const f_int& INCY);
130 void axpy(
const f_int& N,
const f_dbl_prec& A,
const f_dbl_prec* X,
const f_int& INCX, f_dbl_prec* Y
131 ,
const f_int& INCY);
139 f_dbl_prec dot(
const f_int& N,
const f_dbl_prec* X,
const f_int& INCX,
const f_dbl_prec* Y,
const f_int& INCY);
147 f_dbl_prec nrm2(
const f_int& N,
const f_dbl_prec* X,
const f_int& INCX);
155 f_dbl_prec asum(
const f_int& N,
const f_dbl_prec* X,
const f_int& INCX);
163 f_dbl_prec iamax(
const f_int& N,
const f_dbl_prec* X,
const f_int& INCX);
177 void gemv(
Transp transa, f_int m, f_int n, f_dbl_prec alpha,
const f_dbl_prec* pa
178 , f_int lda,
const f_dbl_prec* x, f_int incx, f_dbl_prec beta, f_dbl_prec* py, f_int incy);
186 void gbmv(
Transp transa, f_int m, f_int n, f_int kl, f_int ku, f_dbl_prec alpha,
const f_dbl_prec* pa
187 , f_int lda,
const f_dbl_prec* x, f_int incx, f_dbl_prec beta, f_dbl_prec* py, f_int incy);
212 void symv(
Uplo uplo, f_int n, f_dbl_prec alpha,
const f_dbl_prec* pa
213 , f_int lda,
const f_dbl_prec* x, f_int incx, f_dbl_prec beta, f_dbl_prec* py, f_int incy);
221 void sbmv(
Uplo uplo, f_int n, f_int k, f_dbl_prec alpha,
const f_dbl_prec* pa
222 , f_int lda,
const f_dbl_prec* x, f_int incx, f_dbl_prec beta, f_dbl_prec* py, f_int incy);
230 void spmv(
Uplo uplo, f_int n, f_dbl_prec alpha,
const f_dbl_prec* pap
231 ,
const f_dbl_prec* x, f_int incx, f_dbl_prec beta, f_dbl_prec* py, f_int incy);
240 , f_int lda, f_dbl_prec* px, f_int incx);
249 , f_int lda, f_dbl_prec* px, f_int incx);
258 , f_dbl_prec* px, f_int incx);
267 , f_int lda, f_dbl_prec* px, f_int incx);
276 , f_int lda, f_dbl_prec* px, f_int incx);
285 , f_dbl_prec* px, f_int incx);
293 void ger(f_int m, f_int n, f_dbl_prec alpha,
const f_dbl_prec* px
294 , f_int incx,
const f_dbl_prec* py, f_int incy, f_dbl_prec* pa, f_int lda);
322 void syr(
Uplo uplo, f_int n, f_dbl_prec alpha,
const f_dbl_prec* px
323 , f_int incx, f_dbl_prec* pa, f_int lda);
331 void spr(
Uplo uplo, f_int n, f_dbl_prec alpha,
const f_dbl_prec* px
332 , f_int incx, f_dbl_prec* pap);
340 void syr2(
Uplo uplo, f_int n, f_dbl_prec alpha,
const f_dbl_prec* px
341 , f_int incx,
const f_dbl_prec* py, f_int incy, f_dbl_prec* pa, f_int lda);
349 void spr2(
Uplo uplo, f_int n, f_dbl_prec alpha,
const f_dbl_prec* px
350 , f_int incx,
const f_dbl_prec* py, f_int incy, f_dbl_prec* pap);
365 void gemm(
Transp transa,
Transp transb, f_int m, f_int n, f_int k, f_dbl_prec alpha,
const f_dbl_prec* pa
366 , f_int lda,
const f_dbl_prec* pb, f_int ldb, f_dbl_prec beta, f_dbl_prec* pc, f_int ldc);
374 void symm(
Side side,
Uplo uplo, f_int m, f_int n, f_dbl_prec alpha,
const f_dbl_prec* pa
375 , f_int lda,
const f_dbl_prec* pb, f_int ldb, f_dbl_prec beta, f_dbl_prec* pc, f_int ldc);
388 void syrk(
Uplo uplo,
Transp trans, f_int n, f_int k, f_dbl_prec alpha,
const f_dbl_prec* pa
389 , f_int lda, f_dbl_prec beta, f_dbl_prec* pc, f_int ldc);
402 void syr2k(
Uplo uplo,
Transp trans, f_int n, f_int k, f_dbl_prec alpha,
const f_dbl_prec* pa
403 , f_int lda,
const f_dbl_prec* pb, f_int ldb, f_dbl_prec beta, f_dbl_prec* pc, f_int ldc);
416 void trmm(
Side side,
Uplo uplo,
Transp transa,
Diag diag, f_int m, f_int n, f_dbl_prec alpha
417 ,
const f_dbl_prec* pa, f_int lda, f_dbl_prec* pb, f_int ldb);
425 void trsm(
Side side,
Uplo uplo,
Transp transa,
Diag diag, f_int m, f_int n, f_dbl_prec alpha
426 ,
const f_dbl_prec* pa, f_int lda, f_dbl_prec* pb, f_int ldb);
438 #endif // BLAS_CPP_OVERLOADS_DECLARATIONS_H