#include <assert.h>
#include <stdarg.h>
#include <oski/userconst.h>
Go to the source code of this file.
Data Structures | |
struct | oski_inmatpropset_t |
Collected input matrix property settings. More... | |
Defines | |
#define | INC_OSKI_INMATPROP_H |
inmatprop.h has been included. | |
#define | INMATPROP_UNDEFINED (int)(INMATPROP_NULL) |
Property undefined. | |
#define | MIN_INMATPROP MAT_GENERAL |
Smallest value of the enumerated type, oski_inmatprop_t. | |
#define | MAX_INMATPROP (INMATPROP_MAX-1) |
Largest value of the enumerated type, oski_inmatprop_t. | |
Functions | |
void | oski_ClearInMatPropSet (oski_inmatpropset_t *props) |
Initialize property set with "unset" values. | |
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). | |
int | oski_CollectInMatProps (oski_inmatpropset_t *props, int k,...) |
Collect input matrix properties. | |
int | oski_CollectInMatProps_va (oski_inmatpropset_t *props, int k, va_list ap) |
Explicit variable argument version of oski_CollectInMatProps(). | |
int | oski_CollectInMatProps_arr (oski_inmatpropset_t *props, int k, const oski_inmatprop_t *in_props) |
Explicit property-array version of oski_CollectInMatProps(). |
This module implements facilities that help collect, record, and examine the input matrix properties specified by the user when she creates the matrix handle.
Header file dependencies:
#define INC_OSKI_INMATPROP_H |
inmatprop.h has been included.
#define INMATPROP_UNDEFINED (int)(INMATPROP_NULL) |
Property undefined.
This macro defines a special value used to denote that an input matrix property has not yet been defined.
Referenced by oski_ClearInMatPropSet(), oski_CompleteDefaultInMatPropSet(), and UpdateProp().
#define MAX_INMATPROP (INMATPROP_MAX-1) |
#define MIN_INMATPROP MAT_GENERAL |
void oski_ClearInMatPropSet | ( | oski_inmatpropset_t * | props | ) |
Initialize property set with "unset" values.
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().