00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_MATVEC_BLAS_H
00030 #define _GAN_MATVEC_BLAS_H
00031
00032 #include <gandalf/common/misc_defs.h>
00033 #include <gandalf/linalg/mat_gen.h>
00034 #include <gandalf/linalg/mat_square.h>
00035 #include <gandalf/linalg/vec_gen.h>
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00056 Gan_Vector *gan_blas_axpy ( Gan_Vector *y,
00057 double a, const Gan_Vector *x );
00058 Gan_Vector *gan_blas_gemv ( Gan_Vector *y, double alpha,
00059 const Gan_Matrix *A, Gan_TposeFlag A_tr,
00060 const Gan_Vector *x, double beta );
00061 Gan_Vector *gan_blas_scal ( Gan_Vector *x, double a );
00062 Gan_Matrix *gan_blas_ger ( Gan_Matrix *A, const Gan_Vector *x,
00063 const Gan_Vector *y, double a );
00064 Gan_SquMatrix *gan_blas_spr ( Gan_SquMatrix *A,
00065 const Gan_Vector *x, double a );
00066 Gan_Matrix *gan_blas_gemm ( Gan_Matrix *C, double alpha,
00067 const Gan_Matrix *A, Gan_TposeFlag A_tr,
00068 const Gan_Matrix *B, Gan_TposeFlag B_tr,
00069 double beta );
00070
00083 #ifdef __cplusplus
00084 }
00085 #endif
00086
00087 #endif