module.h

Go to the documentation of this file.
00001 
00007 #if !defined(INC_OSKI_MBCSR_MODULE_H)
00008 
00009 #define INC_OSKI_MBCSR_MODULE_H
00010 
00011 #include <oski/matmodexport.h>
00012 #include <oski/MBCSR/format.h>
00013 
00014 #if defined(DO_NAME_MANGLING)
00015 
00017 #define MBCSR_GetSubmatKernel MANGLE_(MBCSR_GetSubmatKernel)
00018 #define MBCSR_InitSubVecView MANGLE_(MBCSR_InitSubVecView)
00019 
00020 #define MBCSR_SubmatReprMult_funcpt MANGLE_(MBCSR_SubmatReprMult_funcpt)
00021 
00022 #define oski_EnableMBCSRMatMultAndMatMult  \
00023     MANGLE_(oski_EnableMBCSRMatMultAndMatMult)
00024 #define oski_EnableMBCSRMatMultAndMatTransMult  \
00025     MANGLE_(oski_EnableMBCSRMatMultAndMatTransMult)
00026 #define oski_EnableMBCSRMatTransMatMult  \
00027     MANGLE_(oski_EnableMBCSRMatTransMatMult)
00028 #define oski_EnableMBCSRMatPowMult  \
00029     MANGLE_(oski_EnableMBCSRMatPowMult)
00030 #define oski_EnableMBCSRMatTransPowMult  \
00031     MANGLE_(oski_EnableMBCSRMatTransPowMult)
00032 
00033 #endif
00034 
00036 typedef int (*MBCSR_SubmatReprMult_funcpt) (const oski_submatMBCSR_t * A,
00037                         oski_matop_t opA,
00038                         oski_value_t alpha,
00039                         const oski_vecview_t x_view,
00040                         oski_vecview_t y_view);
00041 
00043 typedef int (*MBCSR_SubmatReprTransSubmatReprMult_funcpt) (const
00044                                oski_submatMBCSR_t
00045                                * A,
00046                                oski_value_t alpha,
00047                                const
00048                                oski_vecview_t x,
00049                                oski_vecview_t y,
00050                                oski_vecview_t t);
00051 
00053 typedef int (*MBCSR_SymmSubmatReprMult_funcpt) (const oski_submatMBCSR_t * A,
00054                         int is_herm, oski_matop_t opA,
00055                         oski_value_t alpha,
00056                         const oski_vecview_t x_view,
00057                         oski_vecview_t y_view);
00058 
00060 typedef int (*MBCSR_SubmatReprTrisolve_funcpt) (const oski_submatMBCSR_t * T,
00061                         int is_lower,
00062                         oski_matop_t opT,
00063                         oski_value_t alpha,
00064                         oski_vecview_t x);
00065 
00070 typedef int (*MBCSR_SubmatReprMultAndSubmatReprTransMult_funcpt) (const
00071                                   oski_submatMBCSR_t
00072                                   * A,
00073                                   oski_value_t
00074                                   alpha,
00075                                   const
00076                                   oski_vecview_t
00077                                   x,
00078                                   oski_vecview_t
00079                                   y,
00080                                   oski_matop_t
00081                                   opA,
00082                                   oski_value_t
00083                                   omega,
00084                                   const
00085                                   oski_vecview_t
00086                                   w,
00087                                   oski_vecview_t
00088                                   z);
00089 
00091 void *MBCSR_GetSubmatKernel (const oski_submatMBCSR_t * A, const char *name);
00092 
00094 void MBCSR_InitSubVecView (const oski_vecview_t x,
00095                oski_index_t row_start, oski_index_t len,
00096                oski_vecview_t x_sub);
00097 
00100 void oski_EnableMBCSRMatTransMatMult (oski_matMBCSR_t * A, int v);
00101 void oski_EnableMBCSRMatMultAndMatMult (oski_matMBCSR_t * A, int v);
00102 void oski_EnableMBCSRMatMultAndMatTransMult (oski_matMBCSR_t * A, int v);
00103 void oski_EnableMBCSRMatPowMult (oski_matMBCSR_t * A, int v);
00104 void oski_EnableMBCSRMatTransPowMult (oski_matMBCSR_t * A, int v);
00107 #endif
00108 
00109 /* eof */

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