BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00007 #if !defined(INC_OSKI_TRISOLVE_H) && !defined(OSKI_UNBIND) 00008 00009 #define INC_OSKI_TRISOLVE_H 00010 00011 #include <oski/matmult.h> 00012 00013 #if defined(DO_NAME_MANGLING) 00014 00016 #define oski_MatReprTrisolve_funcpt \ 00017 MANGLE_(oski_MatReprTrisolve_funcpt) 00018 #define oski_MatTrisolve MANGLE_(oski_MatTrisolve) 00019 00020 #define oski_CheckArgsMatTrisolve \ 00021 MANGLE_(oski_CheckArgsMatTrisolve) 00022 00023 #define oski_traceargs_MatTrisolve_t \ 00024 MANGLE_(oski_traceargs_MatTrisovle_t) 00025 #define oski_MakeArglistMatTrisolve \ 00026 MANGLE_(oski_MakeArglistMatTrisolve) 00027 00028 #endif 00029 00037 int oski_MatTrisolve (const oski_matrix_t T_tunable, oski_matop_t opT, 00038 oski_value_t alpha, oski_vecview_t x_view); 00039 00043 int oski_CheckArgsMatTrisolve (const oski_matrix_t T_tunable, 00044 oski_matop_t opT, oski_value_t alpha, 00045 oski_vecview_t x_view, const char *caller); 00046 00051 typedef int (*oski_MatReprTrisolve_funcpt) (const void *T, 00052 const oski_matcommon_t * props, 00053 oski_matop_t opT, 00054 oski_value_t alpha, 00055 oski_vecview_t x_view); 00056 00061 typedef struct 00062 { 00064 00065 oski_matop_t opT; 00066 oski_index_t num_vecs; 00067 oski_value_t alpha; 00068 oski_storage_t x_orient; 00070 } 00071 oski_traceargs_MatTrisolve_t; 00072 00077 void oski_MakeArglistMatTrisolve (oski_matop_t op, 00078 oski_value_t alpha, 00079 const oski_vecview_t x_view, 00080 oski_traceargs_MatTrisolve_t * args); 00081 00083 #define GET_XFLOP_MatTrisolve( args ) \ 00084 (2.0*((const oski_traceargs_MatTrisolve_t *)(args))->num_vecs) 00085 00087 #endif /* !defined(INC_OSKI_TRISOLVE_H) */ 00088 00089 #if defined(OSKI_UNBIND) 00090 # include <oski/matrix.h> 00091 # undef INC_OSKI_TRISOLVE_H 00092 # undef oski_MatReprTrisolve_funcpt 00093 # undef oski_MatTrisolve 00094 # undef oski_CheckArgsMatTrisolve 00095 # undef oski_traceargs_MatTrisolve_t 00096 # undef oski_MakeArglistMatTrisolve 00097 # undef GET_XFLOP_MatTrisolve 00098 #endif 00099 00100 /* eof */