BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Input matrix properties collection and inspection. More...
Functions | |
void | oski_ClearInMatPropSet (oski_inmatpropset_t *props) |
This routine initializes all the fields of props to be "undefined.". | |
void | oski_CompleteDefaultInMatPropSet (oski_inmatpropset_t *props) |
Complete unitialized properties with default values. | |
int | oski_IsInMatPropSetConsistent (const oski_inmatpropset_t *props) |
Checks an input matrix property set for consistency. | |
void | oski_DisplayInMatPropSet (const oski_inmatpropset_t *props) |
Display an input matrix's asserted properties (FOR DEBUGGING ONLY). | |
static int | UpdateProp (oski_inmatpropset_t *props, oski_inmatprop_t cur_prop, int cur_argnum) |
Updates 'props' with the property 'p'. | |
int | oski_CollectInMatProps (oski_inmatpropset_t *props, int k,...) |
Collect input matrix properties. | |
int | oski_CollectInMatProps_va (oski_inmatpropset_t *props, int num_var_args, va_list ap) |
Explicit variable argument version of oski_CollectInMatProps(). | |
int | oski_CollectInMatProps_arr (oski_inmatpropset_t *props, int num_var_args, const oski_inmatprop_t *in_props) |
Explicit property-array version of oski_CollectInMatProps(). |
Input matrix properties collection and inspection.
void oski_ClearInMatPropSet | ( | oski_inmatpropset_t * | props | ) |
This routine initializes all the fields of props to be "undefined.".
Initialize property set with "unset" values.
[out] | props | Property data structure to initialize. |
References oski_inmatpropset_t::has_sorted_indices, oski_inmatpropset_t::has_unique_indices, oski_inmatpropset_t::has_unit_diag_implicit, oski_inmatpropset_t::index_base, INMATPROP_UNDEFINED, and oski_inmatpropset_t::pattern.
Referenced by oski_CollectInMatProps_arr(), and oski_CollectInMatProps_va().
int oski_CollectInMatProps | ( | oski_inmatpropset_t * | props, |
int | k, | ||
... | |||
) |
Collect input matrix properties.
Assuming the caller has a variable input argument list, this macro parses these arguments and collects them in an instance of oski_inmatpropset_t.
[in] | k | The number of remaining arguments. |
[out] | props | A pointer to an instance of oski_inmatpropset_t. Its values will be overwritten by the call to this macro. |
References oski_CollectInMatProps_va().
Referenced by UpdateProp().
void oski_CompleteDefaultInMatPropSet | ( | oski_inmatpropset_t * | props | ) |
Complete unitialized properties with default values.
[in,out] | props | Property data structure to complete. |
References oski_inmatpropset_t::has_sorted_indices, oski_inmatpropset_t::has_unique_indices, oski_inmatpropset_t::has_unit_diag_implicit, oski_inmatpropset_t::index_base, INMATPROP_UNDEFINED, MAT_GENERAL, oski_IsInMatPropSetConsistent(), and oski_inmatpropset_t::pattern.
Referenced by oski_CollectInMatProps_arr(), and oski_CollectInMatProps_va().
void oski_DisplayInMatPropSet | ( | const oski_inmatpropset_t * | props | ) |
Display an input matrix's asserted properties (FOR DEBUGGING ONLY).
[in] | props | Asserted input matrix property set. |
References oski_inmatpropset_t::has_sorted_indices, oski_inmatpropset_t::has_unique_indices, oski_inmatpropset_t::has_unit_diag_implicit, oski_inmatpropset_t::index_base, MAT_GENERAL, MAT_HERM_FULL, MAT_HERM_LOWER, MAT_HERM_UPPER, MAT_SYMM_FULL, MAT_SYMM_LOWER, MAT_SYMM_UPPER, MAT_TRI_LOWER, MAT_TRI_UPPER, oski_PrintDebugMessage(), and oski_inmatpropset_t::pattern.
Referenced by oski_CollectInMatProps_arr(), and oski_CollectInMatProps_va().
int oski_IsInMatPropSetConsistent | ( | const oski_inmatpropset_t * | props | ) |
Checks an input matrix property set for consistency.
[in] | props | Input matrix properties specified. |
References oski_inmatpropset_t::has_sorted_indices, oski_inmatpropset_t::has_unique_indices, oski_inmatpropset_t::has_unit_diag_implicit, oski_inmatpropset_t::index_base, IS_VAL_IN_RANGE, MAT_GENERAL, MAT_HERM_FULL, and oski_inmatpropset_t::pattern.
Referenced by oski_CompleteDefaultInMatPropSet().
static int UpdateProp | ( | oski_inmatpropset_t * | props, |
oski_inmatprop_t | cur_prop, | ||
int | cur_argnum | ||
) | [static] |
Updates 'props' with the property 'p'.
References oski_inmatpropset_t::has_sorted_indices, oski_inmatpropset_t::has_unique_indices, oski_inmatpropset_t::has_unit_diag_implicit, oski_inmatpropset_t::index_base, INDEX_ONE_BASED, INDEX_REPEATED, INDEX_SORTED, INDEX_UNIQUE, INDEX_UNSORTED, INDEX_ZERO_BASED, INMATPROP_UNDEFINED, IS_VAL_IN_RANGE, MAT_DIAG_EXPLICIT, MAT_GENERAL, MAT_HERM_FULL, MAT_HERM_LOWER, MAT_HERM_UPPER, MAT_SYMM_FULL, MAT_SYMM_LOWER, MAT_SYMM_UPPER, MAT_TRI_LOWER, MAT_TRI_UPPER, MAT_UNIT_DIAG_IMPLICIT, MAX_INMATPROP, MIN_INMATPROP, oski_CollectInMatProps(), OSKI_ERR_BAD_INMATPROP, OSKI_ERR_INMATPROP_CONFLICT, and oski_inmatpropset_t::pattern.
Referenced by oski_CollectInMatProps_arr(), and oski_CollectInMatProps_va().