vecview.h

Go to the documentation of this file.
00001 
00009 #if !defined(INC_OSKI_VECVIEW_H) && !defined(OSKI_UNBIND)
00010 
00011 #define INC_OSKI_VECVIEW_H
00012 
00013 #include <oski/vector.h>
00014 
00015 #if defined(DO_NAME_MANGLING)
00016 
00018 #define oski_vecview_t      MANGLE_(oski_vecview_t)
00019 #define SYMBOLIC_VEC         MANGLE_(SYMBOLIC_VEC)
00020 #define SYMBOLIC_MULTIVEC    MANGLE_(SYMBOLIC_MULTIVEC)
00021 
00022 #define oski_CreateVecView       MANGLE_(oski_CreateVecView)
00023 #define oski_CreateMultiVecView  MANGLE_(oski_CreateMultiVecView)
00024 #define oski_DestroyVecView      MANGLE_(oski_DestroyVecView)
00025 #define oski_CopyVecView         MANGLE_(oski_CopyVecView)
00026 
00027 #define oski_PrintDebugVecView   MANGLE_(oski_PrintDebugVecView)
00028 #define oski_CalcVecViewInfNorm  MANGLE_(oski_CalcVecViewInfNorm)
00029 #define oski_CalcVecViewInfNormDiff  MANGLE_(oski_CalcVecViewInfNormDiff)
00030 
00031 #define oski_InitSubVecView  MANGLE_(oski_InitSubVecView)
00032 
00033 #endif
00034 
00048 #define STRIDE_UNIT ((oski_index_t)1)
00049 
00053 typedef oski_vecstruct_t *oski_vecview_t;
00054 
00059 oski_vecview_t
00060 oski_CreateVecView (oski_value_t * x, oski_index_t length, oski_index_t inc);
00061 
00067 oski_vecview_t
00068 oski_CreateMultiVecView (oski_value_t * X,
00069              oski_index_t length, oski_index_t num_vecs,
00070              oski_storage_t orient, oski_index_t stride);
00071 
00076 int oski_DestroyVecView (oski_vecview_t x);
00077 
00082 oski_vecview_t oski_CopyVecView (const oski_vecview_t x);
00089 void oski_PrintDebugVecView (const oski_vecview_t x, const char *val_fmt);
00090 
00095 double oski_CalcVecViewInfNorm (const oski_vecview_t x, oski_index_t j);
00096 
00100 double oski_CalcVecViewInfNormDiff (const oski_vecview_t x0, oski_index_t j0,
00101                     const oski_vecview_t x1, oski_index_t j1);
00102 
00107 int oski_InitSubVecView (const oski_vecview_t x,
00108              oski_index_t i0, oski_index_t j0, oski_index_t R,
00109              oski_index_t C, oski_vecstruct_t * y);
00110 
00119 extern const oski_vecview_t SYMBOLIC_VEC;
00120 
00122 extern const oski_vecview_t SYMBOLIC_MULTIVEC;
00125 #endif /* !defined(INC_OSKI_VECVIEW_H) */
00126 
00127 #if defined(OSKI_UNBIND)
00128 #  include <oski/vector.h>
00129 #  undef INC_OSKI_VECVIEW_H
00130 #  undef oski_vecview_t
00131 #  undef SYMBOLIC_VEC
00132 #  undef SYMBOLIC_MULTIVEC
00133 #  undef oski_CreateVecView
00134 #  undef oski_CreateMultiVecView
00135 #  undef oski_DestroyVecView
00136 #  undef oski_CopyVecView
00137 #  undef oski_PrintDebugVecView
00138 #  undef oski_CalcVecViewInfNorm
00139 #  undef oski_CalcVecViewInfNormDiff
00140 #  undef oski_InitSubVecView
00141 #  undef STRIDE_UNIT
00142 #endif
00143 
00144 /* eof */

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