matmodexport.h

Go to the documentation of this file.
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 */

Generated on Wed Sep 19 16:41:18 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6