00001
00006 #if !defined(INC_OSKI_MATCREATE_H) && !defined(OSKI_UNBIND)
00007
00008 #define INC_OSKI_MATCREATE_H
00009
00010 #include <oski/matrix.h>
00011 #include <oski/inmatprop.h>
00012
00013 #if defined(DO_NAME_MANGLING)
00014
00018 #define oski_CreateMatCSR MANGLE_(oski_CreateMatCSR)
00019 #define oski_CreateMatCSC MANGLE_(oski_CreateMatCSC)
00020 #define oski_CreateMatCSR_va MANGLE_(oski_CreateMatCSR_va)
00021 #define oski_CreateMatCSC_va MANGLE_(oski_CreateMatCSC_va)
00022 #define oski_CreateMatCSR_arr MANGLE_(oski_CreateMatCSR_arr)
00023 #define oski_CreateMatCSC_arr MANGLE_(oski_CreateMatCSC_arr)
00024 #define oski_CopyMat MANGLE_(oski_CopyMat)
00025 #define oski_DestroyMat MANGLE_(oski_DestroyMat)
00026
00027 #define oski_CalcMat1Norm MANGLE_(oski_CalcMat1Norm)
00028 #define oski_GetMatProps MANGLE_(oski_GetMatProps)
00029
00030 #endif
00031
00038 oski_matrix_t oski_CreateMatCSR (oski_index_t * Aptr, oski_index_t * Aind,
00039 oski_value_t * Aval, oski_index_t num_rows,
00040 oski_index_t num_cols, oski_copymode_t mode,
00041 int k, ...);
00042
00046 oski_matrix_t oski_CreateMatCSR_va (oski_index_t* Aptr, oski_index_t* Aind,
00047 oski_value_t* Aval,
00048 oski_index_t num_rows,
00049 oski_index_t num_cols,
00050 oski_copymode_t mode,
00051 int k, va_list ap);
00052
00056 oski_matrix_t oski_CreateMatCSR_arr (oski_index_t* Aptr, oski_index_t* Aind,
00057 oski_value_t* Aval,
00058 oski_index_t num_rows,
00059 oski_index_t num_cols,
00060 oski_copymode_t mode,
00061 int k, const oski_inmatprop_t* in_props);
00062
00069 oski_matrix_t oski_CreateMatCSC (oski_index_t * Aptr, oski_index_t * Aind,
00070 oski_value_t * Aval, oski_index_t num_rows,
00071 oski_index_t num_cols, oski_copymode_t mode,
00072 int k, ...);
00073
00077 oski_matrix_t oski_CreateMatCSC_va (oski_index_t * Aptr, oski_index_t * Aind,
00078 oski_value_t * Aval, oski_index_t num_rows,
00079 oski_index_t num_cols, oski_copymode_t mode,
00080 int k, va_list ap);
00081
00085 oski_matrix_t oski_CreateMatCSC_arr (oski_index_t * Aptr, oski_index_t * Aind,
00086 oski_value_t * Aval, oski_index_t num_rows,
00087 oski_index_t num_cols, oski_copymode_t mode,
00088 int k, const oski_inmatprop_t* in_props);
00089
00095 oski_matrix_t oski_CopyMat (const oski_matrix_t A_tunable);
00096
00102 int oski_DestroyMat (oski_matrix_t A_tunable);
00103
00108 double oski_CalcMat1Norm (const oski_matrix_t A_tunable);
00109
00113 const oski_matcommon_t *oski_GetMatProps (const oski_matrix_t A);
00114
00115 #endif
00116
00117 #if defined(OSKI_UNBIND)
00118 # include <oski/matrix.h>
00119 # undef INC_OSKI_MATCREATE_H
00120 # undef oski_CreateMatCSR
00121 # undef oski_CreateMatCSC
00122 # undef oski_CopyMat
00123 # undef oski_DestroyMat
00124 # undef oski_CalcMat1Norm
00125 # undef oski_GetMatProps
00126 #endif
00127
00128