trisolve.h

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

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