00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_MATVECF_BLAS_H
00030 #define _GAN_MATVECF_BLAS_H
00031
00032 #include <gandalf/common/misc_defs.h>
00033 #include <gandalf/linalg/matf_gen.h>
00034 #include <gandalf/linalg/matf_square.h>
00035 #include <gandalf/linalg/vecf_gen.h>
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00056 Gan_Vector_f *gan_blasf_axpy ( Gan_Vector_f *y,
00057 float a, const Gan_Vector_f *x );
00058 Gan_Vector_f *gan_blasf_gemv ( Gan_Vector_f *y, float alpha,
00059 const Gan_Matrix_f *A, Gan_TposeFlag A_tr,
00060 const Gan_Vector_f *x, float beta );
00061 Gan_Vector_f *gan_blasf_scal ( Gan_Vector_f *x, float a );
00062 Gan_Matrix_f *gan_blasf_ger ( Gan_Matrix_f *A,
00063 const Gan_Vector_f *x,
00064 const Gan_Vector_f *y, float a );
00065 Gan_SquMatrix_f *gan_blasf_spr ( Gan_SquMatrix_f *A,
00066 const Gan_Vector_f *x, float a );
00067 Gan_Matrix_f *gan_blasf_gemm ( Gan_Matrix_f *C, float alpha,
00068 const Gan_Matrix_f *A, Gan_TposeFlag A_tr,
00069 const Gan_Matrix_f *B, Gan_TposeFlag B_tr,
00070 float beta );
00071
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087
00088 #endif