BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00014 #if !defined(INC_OSKI_MATMODEXPORT_H) 00015 00016 #define INC_OSKI_MATMODEXPORT_H 00017 00018 #include <oski/modcommon.h> 00019 #include <oski/matcommon.h> 00020 #include <oski/vecview.h> 00021 #include <oski/CSR/format.h> 00022 00023 #if defined(DO_NAME_MANGLING) 00024 00026 #define oski_DestroyMatRepr MANGLE_MOD_(oski_DestroyMatRepr) 00027 #define oski_ConvertMatReprToCSR MANGLE_MOD_(oski_ConvertMatReprToCSR) 00028 #define oski_CreateMatReprFromCSR MANGLE_MOD_(oski_CreateMatReprFromCSR) 00029 #define oski_CopyMatRepr MANGLE_MOD_(oski_CopyMatRepr) 00030 #define oski_CalcMatRepr1Norm MANGLE_MOD_(oski_CalcMatRepr1Norm) 00031 00032 #define oski_MatReprMult \ 00033 MANGLE_MOD_(oski_MatReprMult) 00034 #define oski_MatReprTrisolve \ 00035 MANGLE_MOD_(oski_MatReprTrisolve) 00036 #define oski_MatReprMultAndMatReprTransMult \ 00037 MANGLE_MOD_(oski_MatReprMultAndMatReprTransMult) 00038 #define oski_MatReprTransMatReprMult \ 00039 MANGLE_MOD_(oski_MatReprTransMatReprMult) 00040 #define oski_MatReprPowMult \ 00041 MANGLE_MOD_(oski_MatReprPowMult) 00042 00043 #endif 00044 00056 void oski_DestroyMatRepr (void *mat); 00057 00075 void *oski_CreateMatReprFromCSR (const oski_matCSR_t * mat, 00076 const oski_matcommon_t * props, ...); 00077 00091 oski_matCSR_t *oski_ConvertMatReprToCSR (const void *mat, 00092 const oski_matcommon_t * props); 00093 00106 void *oski_CopyMatRepr (const void *mat, const oski_matcommon_t * props); 00107 00117 double oski_CalcMatRepr1Norm (const void *mat, 00118 const oski_matcommon_t * props); 00119 00127 int oski_MatReprMult (const void *A, 00128 const oski_matcommon_t * props, oski_matop_t opA, 00129 oski_value_t alpha, const oski_vecview_t x_view, 00130 oski_value_t beta, oski_vecview_t y_view); 00131 00138 int oski_MatReprTrisolve (const void *T, 00139 const oski_matcommon_t * props, oski_matop_t opT, 00140 oski_value_t alpha, oski_vecview_t x_view); 00141 00148 int oski_MatReprTransMatReprMult (const void *A, 00149 const oski_matcommon_t * props, 00150 oski_ataop_t op, oski_value_t alpha, 00151 const oski_vecview_t x_view, 00152 oski_value_t beta, oski_vecview_t y_view, 00153 oski_vecview_t t_view); 00154 00163 int oski_MatReprMultAndMatReprTransMult (const void *A, 00164 const oski_matcommon_t * props, 00165 oski_value_t alpha, 00166 const oski_vecview_t x_view, 00167 oski_value_t beta, 00168 oski_vecview_t y_view, 00169 oski_matop_t opA, oski_value_t omega, 00170 const oski_vecview_t w_view, 00171 oski_value_t zeta, 00172 oski_vecview_t z_view); 00173 00180 int oski_MatReprPowMult (const void *A, const oski_matcommon_t * props, 00181 oski_matop_t opA, int power, 00182 oski_value_t alpha, const oski_vecview_t x_view, 00183 oski_value_t beta, oski_vecview_t y_view, 00184 oski_vecview_t T_view); 00185 00186 #endif 00187 00188 /* eof */