module.h

Go to the documentation of this file.
00001 
00007 #if !defined(INC_OSKI_CSR_MODULE_H)
00008 
00009 #define INC_OSKI_CSR_MODULE_H
00010 
00011 #include <oski/matmodexport.h>
00012 
00013 #if defined(DO_NAME_MANGLING)
00014 
00016 #define oski_WrapCSR  MANGLE_MOD_(oski_WrapCSR)
00017 #define oski_CheckCSR  MANGLE_MOD_(oski_CheckCSR)
00018 #define oski_StreamMatRepr  MANGLE_MOD_(oski_StreamMatRepr)
00019 #define oski_SortIndices  MANGLE_MOD_(oski_SortIndices)
00020 #define oski_ExpandCSRToFull  MANGLE_MOD_(oski_ExpandCSRToFull)
00021 #define oski_ConditionallyExpandCSRToFull  \
00022     MANGLE_MOD_(oski_ConditionallyExpandCSRToFull)
00023 #define oski_ChangeIndexBase  MANGLE_MOD_(oski_ChangeIndexBase)
00024 #define oski_TransposeCSR  MANGLE_MOD_(oski_TransposeCSR)
00025 #define oski_CountZeroRowsCSR  MANGLE_MOD_(oski_CountZeroRowsCSR)
00026 
00027 #endif
00028 
00033 int oski_CheckCSR (const oski_index_t * ptr, const oski_index_t * ind,
00034            oski_index_t m, oski_index_t n,
00035            oski_inmatpropset_t * props);
00036 
00046 double oski_StreamMatRepr (const void *mat, const oski_matcommon_t * props);
00047 
00052 oski_matCSR_t *oski_ExpandCSRToFull (const oski_matCSR_t * S,
00053                      const oski_matcommon_t * props);
00054 
00059 int oski_ConditionallyExpandCSRToFull (const oski_matCSR_t * S,
00060                        const oski_matcommon_t * props,
00061                        oski_matCSR_t ** p_mat_full);
00062 
00066 void oski_ChangeIndexBase (oski_matCSR_t * A,
00067                const oski_matcommon_t * props,
00068                const oski_index_t new_base);
00069 
00074 int oski_SortIndices (oski_matCSR_t * A, oski_index_t m);
00075 
00080 oski_matCSR_t *oski_TransposeCSR (const oski_matCSR_t * A,
00081                   const oski_matcommon_t * props);
00082 
00087 oski_index_t oski_CountZeroRowsCSR (const oski_matCSR_t * A,
00088                     const oski_matcommon_t * props);
00089 
00094 
00099 oski_matCSR_t *oski_WrapCSR (oski_matcommon_t * out_props,
00100                  oski_index_t * Aptr, oski_index_t * Aind,
00101                  oski_value_t * Aval, oski_index_t num_rows,
00102                  oski_index_t num_cols,
00103                  oski_inmatpropset_t * props,
00104                  oski_copymode_t mode);
00107 #if defined(DO_NAME_MANGLING)
00108 
00110 #define CSR_MatTrisolveLower MANGLE_(CSR_MatTrisolveLower)
00111 #define CSR_MatTransTrisolveLower MANGLE_(CSR_MatTransTrisolveLower)
00112 #define CSR_MatConjTrisolveLower MANGLE_(CSR_MatConjTrisolveLower)
00113 #define CSR_MatConjTransTrisolveLower MANGLE_(CSR_MatConjTransTrisolveLower)
00114 #define CSR_MatTrisolveUpper MANGLE_(CSR_MatTrisolveUpper)
00115 #define CSR_MatTransTrisolveUpper MANGLE_(CSR_MatTransTrisolveUpper)
00116 #define CSR_MatConjTrisolveUpper MANGLE_(CSR_MatConjTrisolveUpper)
00117 #define CSR_MatConjTransTrisolveUpper MANGLE_(CSR_MatConjTransTrisolveUpper)
00118 
00119 #endif
00120 
00123 void CSR_MatTrisolveLower (oski_index_t m, oski_index_t indbase,
00124                int is_unit, int is_sorted,
00125                const oski_index_t * ptr, const oski_index_t * ind,
00126                const oski_value_t * val, oski_value_t alpha,
00127                oski_value_t * x, oski_index_t num_vecs,
00128                oski_index_t rowinc, oski_index_t colinc);
00129 
00130 void CSR_MatConjTrisolveLower (oski_index_t m, oski_index_t indbase,
00131                    int is_unit, int is_sorted,
00132                    const oski_index_t * ptr,
00133                    const oski_index_t * ind,
00134                    const oski_value_t * val, oski_value_t alpha,
00135                    oski_value_t * x, oski_index_t num_vecs,
00136                    oski_index_t rowinc, oski_index_t colinc);
00137 
00138 void CSR_MatTransTrisolveLower (oski_index_t m, oski_index_t indbase,
00139                 int is_unit, int is_sorted,
00140                 const oski_index_t * ptr,
00141                 const oski_index_t * ind,
00142                 const oski_value_t * val, oski_value_t alpha,
00143                 oski_value_t * x, oski_index_t num_vecs,
00144                 oski_index_t rowinc, oski_index_t colinc);
00145 
00146 void CSR_MatConjTransTrisolveLower (oski_index_t m, oski_index_t indbase,
00147                     int is_unit, int is_sorted,
00148                     const oski_index_t * ptr,
00149                     const oski_index_t * ind,
00150                     const oski_value_t * val,
00151                     oski_value_t alpha, oski_value_t * x,
00152                     oski_index_t num_vecs,
00153                     oski_index_t rowinc, oski_index_t colinc);
00154 
00155 void CSR_MatTrisolveUpper (oski_index_t m, oski_index_t indbase,
00156                int is_unit, int is_sorted,
00157                const oski_index_t * ptr, const oski_index_t * ind,
00158                const oski_value_t * val, oski_value_t alpha,
00159                oski_value_t * x, oski_index_t num_vecs,
00160                oski_index_t rowinc, oski_index_t colinc);
00161 
00162 void CSR_MatTransTrisolveUpper (oski_index_t m, oski_index_t indbase,
00163                 int is_unit, int is_sorted,
00164                 const oski_index_t * ptr,
00165                 const oski_index_t * ind,
00166                 const oski_value_t * val, oski_value_t alpha,
00167                 oski_value_t * x, oski_index_t num_vecs,
00168                 oski_index_t rowinc, oski_index_t colinc);
00169 
00170 void CSR_MatConjTrisolveUpper (oski_index_t m, oski_index_t indbase,
00171                    int is_unit, int is_sorted,
00172                    const oski_index_t * ptr,
00173                    const oski_index_t * ind,
00174                    const oski_value_t * val, oski_value_t alpha,
00175                    oski_value_t * x, oski_index_t num_vecs,
00176                    oski_index_t rowinc, oski_index_t colinc);
00177 
00178 void CSR_MatConjTransTrisolveUpper (oski_index_t m, oski_index_t indbase,
00179                     int is_unit, int is_sorted,
00180                     const oski_index_t * ptr,
00181                     const oski_index_t * ind,
00182                     const oski_value_t * val,
00183                     oski_value_t alpha, oski_value_t * x,
00184                     oski_index_t num_vecs,
00185                     oski_index_t rowinc, oski_index_t colinc);
00188 #endif
00189 
00190 /* eof */

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