BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00007 #if !defined(INC_OSKI_BDIAG1_MODULE_H) 00008 00009 #define INC_OSKI_BDIAG1_MODULE_H 00010 00011 #include <oski/matmodexport.h> 00012 00013 #if defined(DO_NAME_MANGLING) 00014 00016 #define oski_BDIAG1_MatMult_funcpt MANGLE_(oski_BDIAG1_MatMult_funcpt) 00017 00018 #endif 00019 00021 typedef int (*oski_BDIAG1_MatMult_funcpt) (const oski_matBDIAG1_t * A, 00022 oski_matop_t opA, 00023 oski_value_t alpha, 00024 const oski_vecview_t x_view, 00025 oski_vecview_t y_view); 00026 00027 #if defined(DO_NAME_MANGLING) 00028 00030 #define MatMult_v1_aX_b1_xs1_ysX MANGLE_MOD_(MatMult_v1_aX_b1_xs1_ysX) 00031 #define MatMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MatMult_v1_aX_b1_xsX_ysX) 00032 #define MatTransMult_v1_aX_b1_xsX_ys1 MANGLE_MOD_(MatTransMult_v1_aX_b1_xsX_ys1) 00033 #define MatTransMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MatTransMult_v1_aX_b1_xsX_ysX) 00034 #define MatConjMult_v1_aX_b1_xs1_ysX MANGLE_MOD_(MatConjMult_v1_aX_b1_xs1_ysX) 00035 #define MatConjMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MatConjMult_v1_aX_b1_xsX_ysX) 00036 #define MatHermMult_v1_aX_b1_xsX_ys1 MANGLE_MOD_(MatHermMult_v1_aX_b1_xsX_ys1) 00037 #define MatHermMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MatHermMult_v1_aX_b1_xsX_ysX) 00038 00039 #endif 00040 00041 extern int MatMult_v1_aX_b1_xs1_ysX (oski_index_t b, 00042 oski_index_t nb, oski_index_t r, 00043 const oski_value_t * restrict dp, 00044 oski_value_t alpha, 00045 const oski_value_t * restrict xp, 00046 oski_value_t * yp, oski_index_t incy); 00047 00048 extern int MatMult_v1_aX_b1_xsX_ysX (oski_index_t b, 00049 oski_index_t nb, oski_index_t r, 00050 const oski_value_t * restrict dp, 00051 oski_value_t alpha, 00052 const oski_value_t * restrict xp, 00053 oski_index_t incx, oski_value_t * yp, 00054 oski_index_t incy); 00055 00056 extern int MatTransMult_v1_aX_b1_xsX_ys1 (oski_index_t b, 00057 oski_index_t nb, oski_index_t r, 00058 const oski_value_t * restrict dp, 00059 oski_value_t alpha, 00060 const oski_value_t * restrict xp, 00061 oski_index_t incx, 00062 oski_value_t * yp); 00063 00064 extern int MatTransMult_v1_aX_b1_xsX_ysX (oski_index_t b, 00065 oski_index_t nb, oski_index_t r, 00066 const oski_value_t * restrict dp, 00067 oski_value_t alpha, 00068 const oski_value_t * restrict xp, 00069 oski_index_t incx, 00070 oski_value_t * yp, 00071 oski_index_t incy); 00072 00073 extern int MatConjMult_v1_aX_b1_xs1_ysX (oski_index_t b, 00074 oski_index_t nb, oski_index_t r, 00075 const oski_value_t * restrict dp, 00076 oski_value_t alpha, 00077 const oski_value_t * restrict xp, 00078 oski_value_t * yp, 00079 oski_index_t incy); 00080 00081 extern int MatConjMult_v1_aX_b1_xsX_ysX (oski_index_t b, 00082 oski_index_t nb, oski_index_t r, 00083 const oski_value_t * restrict dp, 00084 oski_value_t alpha, 00085 const oski_value_t * restrict xp, 00086 oski_index_t incx, oski_value_t * yp, 00087 oski_index_t incy); 00088 00089 extern int MatHermMult_v1_aX_b1_xsX_ys1 (oski_index_t b, 00090 oski_index_t nb, oski_index_t r, 00091 const oski_value_t * restrict dp, 00092 oski_value_t alpha, 00093 const oski_value_t * restrict xp, 00094 oski_index_t incx, 00095 oski_value_t * yp); 00096 00097 extern int MatHermMult_v1_aX_b1_xsX_ysX (oski_index_t b, 00098 oski_index_t nb, oski_index_t r, 00099 const oski_value_t * restrict dp, 00100 oski_value_t alpha, 00101 const oski_value_t * restrict xp, 00102 oski_index_t incx, oski_value_t * yp, 00103 oski_index_t incy); 00104 00105 #endif 00106 00107 /* eof */