00001
00010 #if !defined(INC_OSKI_GETSET_H) && !defined(OSKI_UNBIND)
00011
00012 #define INC_OSKI_GETSET_H
00013
00014 #include <oski/matrix.h>
00015
00016 #if defined(DO_NAME_MANGLING)
00017
00019 #define oski_GetMatEntry MANGLE_(oski_GetMatEntry)
00020 #define oski_SetMatEntry MANGLE_(oski_SetMatEntry)
00021 #define oski_GetMatClique MANGLE_(oski_GetMatClique)
00022 #define oski_SetMatClique MANGLE_(oski_SetMatClique)
00023 #define oski_GetMatDiagValues MANGLE_(oski_GetMatDiagValues)
00024 #define oski_SetMatDiagValues MANGLE_(oski_SetMatDiagValues)
00025
00026 #define oski_GetMatReprEntry_funcpt \
00027 MANGLE_(oski_GetMatReprEntry_funcpt)
00028 #define oski_SetMatReprEntry_funcpt \
00029 MANGLE_(oski_SetMatReprEntry_funcpt)
00030 #define oski_GetMatReprClique_funcpt \
00031 MANGLE_(oski_GetMatReprClique_funcpt)
00032 #define oski_SetMatReprClique_funcpt \
00033 MANGLE_(oski_SetMatReprClique_funcpt)
00034 #define oski_GetMatReprDiagValues_funcpt \
00035 MANGLE_(oski_GetMatReprDiagValues_funcpt)
00036 #define oski_SetMatReprDiagValues_funcpt \
00037 MANGLE_(oski_SetMatReprDiagValues_funcpt)
00038
00039 #define oski_GetMatReprEntry \
00040 MANGLE_MOD_(oski_GetMatReprEntry)
00041 #define oski_SetMatReprEntry \
00042 MANGLE_MOD_(oski_SetMatReprEntry)
00043 #define oski_GetMatReprClique \
00044 MANGLE_MOD_(oski_GetMatReprClique)
00045 #define oski_SetMatReprClique \
00046 MANGLE_MOD_(oski_SetMatReprClique)
00047 #define oski_GetMatReprDiagValues \
00048 MANGLE_MOD_(oski_GetMatReprDiagValues)
00049 #define oski_SetMatReprDiagValues \
00050 MANGLE_MOD_(oski_SetMatReprDiagValues)
00051
00052 #endif
00053
00058 oski_value_t oski_GetMatEntry (const oski_matrix_t A_tunable,
00059 oski_index_t row, oski_index_t col);
00060
00065 int oski_SetMatEntry (oski_matrix_t A_tunable,
00066 oski_index_t row, oski_index_t col,
00067 oski_value_t new_val);
00068
00073 typedef int (*oski_GetMatReprEntry_funcpt) (const void *mat,
00074 const oski_matcommon_t * props,
00075 oski_index_t row,
00076 oski_index_t col,
00077 oski_value_t * p_value);
00078
00083 typedef int (*oski_SetMatReprEntry_funcpt) (void *mat,
00084 const oski_matcommon_t * props,
00085 oski_index_t row,
00086 oski_index_t col,
00087 oski_value_t new_val);
00088
00093 int oski_GetMatClique (const oski_matrix_t A_tunable,
00094 const oski_index_t * rows, oski_index_t num_rows,
00095 const oski_index_t * cols, oski_index_t num_cols,
00096 oski_vecview_t vals);
00097
00102 int oski_SetMatClique (oski_matrix_t A_tunable,
00103 const oski_index_t * rows, oski_index_t num_rows,
00104 const oski_index_t * cols, oski_index_t num_cols,
00105 const oski_vecview_t vals);
00106
00111 typedef int (*oski_GetMatReprClique_funcpt) (const void *mat,
00112 const oski_matcommon_t * props,
00113 const oski_index_t * rows,
00114 oski_index_t num_rows,
00115 const oski_index_t * cols,
00116 oski_index_t num_cols,
00117 oski_vecview_t vals);
00118
00123 typedef int (*oski_SetMatReprClique_funcpt) (void *mat,
00124 const oski_matcommon_t * props,
00125 const oski_index_t * rows,
00126 oski_index_t num_rows,
00127 const oski_index_t * cols,
00128 oski_index_t num_cols,
00129 const oski_vecview_t vals);
00130
00136 int oski_GetMatDiagValues (const oski_matrix_t A_tunable,
00137 oski_index_t diag_num, oski_vecview_t vals);
00138
00139
00145 int oski_SetMatDiagValues (oski_matrix_t A_tunable,
00146 oski_index_t diag_num, const oski_vecview_t vals);
00147
00152 typedef int (*oski_GetMatReprDiagValues_funcpt) (const void *mat,
00153 const oski_matcommon_t *
00154 props, oski_index_t diag_num,
00155 oski_vecview_t vals);
00156
00161 typedef int (*oski_SetMatReprDiagValues_funcpt) (void *mat,
00162 const oski_matcommon_t *
00163 props, oski_index_t diag_num,
00164 const oski_vecview_t vals);
00165
00166 #endif
00167
00168 #if defined(OSKI_UNBIND)
00169 # include <oski/matrix.h>
00170 # undef INC_OSKI_GETSET_H
00171 # undef oski_GetMatEntry
00172 # undef oski_SetMatEntry
00173 # undef oski_GetMatClique
00174 # undef oski_SetMatClique
00175 # undef oski_GetMatDiagValues
00176 # undef oski_SetMatDiagValues
00177 # undef oski_GetMatReprEntry_funcpt
00178 # undef oski_SetMatReprEntry_funcpt
00179 # undef oski_GetMatReprClique_funcpt
00180 # undef oski_SetMatReprClique_funcpt
00181 # undef oski_GetMatReprDiagValues_funcpt
00182 # undef oski_SetMatReprDiagValues_funcpt
00183 # undef oski_GetMatReprEntry
00184 # undef oski_SetMatReprEntry
00185 # undef oski_GetMatReprClique
00186 # undef oski_SetMatReprClique
00187 # undef oski_GetMatReprDiagValues
00188 # undef oski_SetMatReprDiagValues
00189 #endif
00190
00191