BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Matrix creation routines. More...
Go to the source code of this file.
Defines | |
#define | INC_OSKI_MATCREATE_H |
oski/matcreate.h has been included. | |
Names, defined in this module, to be mangled. | |
#define | oski_CreateMatCSR MANGLE_(oski_CreateMatCSR) |
#define | oski_CreateMatCSC MANGLE_(oski_CreateMatCSC) |
#define | oski_CreateMatCSR_va MANGLE_(oski_CreateMatCSR_va) |
#define | oski_CreateMatCSC_va MANGLE_(oski_CreateMatCSC_va) |
#define | oski_CreateMatCSR_arr MANGLE_(oski_CreateMatCSR_arr) |
#define | oski_CreateMatCSC_arr MANGLE_(oski_CreateMatCSC_arr) |
#define | oski_CopyMat MANGLE_(oski_CopyMat) |
#define | oski_DestroyMat MANGLE_(oski_DestroyMat) |
#define | oski_CalcMat1Norm MANGLE_(oski_CalcMat1Norm) |
#define | oski_GetMatProps MANGLE_(oski_GetMatProps) |
Functions | |
oski_matrix_t | oski_CreateMatCSR (oski_index_t *Aptr, oski_index_t *Aind, oski_value_t *Aval, oski_index_t num_rows, oski_index_t num_cols, oski_copymode_t mode, int k,...) |
Creates and returns a valid tunable matrix object from a compressed sparse row (CSR) representation. | |
oski_matrix_t | oski_CreateMatCSR_va (oski_index_t *Aptr, oski_index_t *Aind, oski_value_t *Aval, oski_index_t num_rows, oski_index_t num_cols, oski_copymode_t mode, int k, va_list ap) |
Explicit variable-argument version of oski_CreateMatCSR(). | |
oski_matrix_t | oski_CreateMatCSR_arr (oski_index_t *Aptr, oski_index_t *Aind, oski_value_t *Aval, oski_index_t num_rows, oski_index_t num_cols, oski_copymode_t mode, int k, const oski_inmatprop_t *in_props) |
Explicit property-array version of oski_CreateMatCSR(). | |
oski_matrix_t | oski_CreateMatCSC (oski_index_t *Aptr, oski_index_t *Aind, oski_value_t *Aval, oski_index_t num_rows, oski_index_t num_cols, oski_copymode_t mode, int k,...) |
Creates and returns a valid tunable matrix object from a compressed sparse column (CSC) representation. | |
oski_matrix_t | oski_CreateMatCSC_va (oski_index_t *Aptr, oski_index_t *Aind, oski_value_t *Aval, oski_index_t num_rows, oski_index_t num_cols, oski_copymode_t mode, int k, va_list ap) |
Variable-argument version of oski_CreateMatCSC. | |
oski_matrix_t | oski_CreateMatCSC_arr (oski_index_t *Aptr, oski_index_t *Aind, oski_value_t *Aval, oski_index_t num_rows, oski_index_t num_cols, oski_copymode_t mode, int k, const oski_inmatprop_t *in_props) |
Explicit property-array version of oski_CreateMatCSC. | |
oski_matrix_t | oski_CopyMat (const oski_matrix_t A_tunable) |
Creates a copy of a matrix object. | |
int | oski_DestroyMat (oski_matrix_t A_tunable) |
Frees object memory associated with a given matrix object. | |
double | oski_CalcMat1Norm (const oski_matrix_t A_tunable) |
Computes the 1-norm (maximum absolute row sum) of the specified matrix. | |
const oski_matcommon_t * | oski_GetMatProps (const oski_matrix_t A) |
Returns a matrix's type-independent properties. |
Matrix creation routines.
#define INC_OSKI_MATCREATE_H |
oski/matcreate.h has been included.
double oski_CalcMat1Norm | ( | const oski_matrix_t | A | ) |
Computes the 1-norm (maximum absolute row sum) of the specified matrix.
References CalcMatRepr1NormViaCSR(), oski_matstruct_t::input_mat, INVALID_MAT, OSKI_ERR_NOT_IMPLEMENTED, OSKI_MATTYPEID_METHOD, oski_matstruct_t::props, oski_matspecific_t::repr, oski_matstruct_t::tuned_mat, and oski_matspecific_t::type_id.
oski_matrix_t oski_CreateMatCSC_arr | ( | oski_index_t * | Aptr, |
oski_index_t * | Aind, | ||
oski_value_t * | Aval, | ||
oski_index_t | num_rows, | ||
oski_index_t | num_cols, | ||
oski_copymode_t | mode, | ||
int | k, | ||
const oski_inmatprop_t * | in_props | ||
) |
Explicit property-array version of oski_CreateMatCSC.
Check input arguments.
Collect asserted input matrix properties.
Load CSC wrapping routine.
Create handle by wrapping input matrix in a matCSC_t data structure.
Cache streaming time for future cost estimates.
References oski_inmatpropset_t::index_base, oski_matstruct_t::input_mat, INVALID_MAT, oski_matstruct_t::is_shared, MeasureStreamTimeCSC(), OSKI_CHECK_COPYMODE, OSKI_CHECK_MAT_DIMS, oski_CollectInMatProps_arr(), OSKI_ERR_BAD_COPYMODE, OSKI_ERR_BAD_DIMS, OSKI_ERR_NOT_IMPLEMENTED, OSKI_ERR_NULL_ARG, OSKI_ERR_SMALL_ARG, OSKI_MATTYPE_ID, OSKI_MATTYPE_METHOD, oski_PrintDebugMessage(), oski_matstruct_t::props, oski_matspecific_t::repr, SHARE_INPUTMAT, oski_matstruct_t::time_stream, oski_matstruct_t::timer, and oski_matspecific_t::type_id.
oski_matrix_t oski_CreateMatCSR_arr | ( | oski_index_t * | Aptr, |
oski_index_t * | Aind, | ||
oski_value_t * | Aval, | ||
oski_index_t | num_rows, | ||
oski_index_t | num_cols, | ||
oski_copymode_t | mode, | ||
int | k, | ||
const oski_inmatprop_t * | in_props | ||
) |
Explicit property-array version of oski_CreateMatCSR().
Check input arguments.
Collect asserted input matrix properties.
Load CSR wrapping routine.
Create handle by wrapping input matrix in a matCSR_t data structure.
Cache streaming time for future cost estimates.
References oski_inmatpropset_t::index_base, oski_matstruct_t::input_mat, INVALID_MAT, oski_matstruct_t::is_shared, MeasureStreamTimeCSR(), OSKI_CHECK_COPYMODE, OSKI_CHECK_MAT_DIMS, oski_CollectInMatProps_arr(), OSKI_ERR_BAD_COPYMODE, OSKI_ERR_BAD_DIMS, OSKI_ERR_NOT_IMPLEMENTED, OSKI_ERR_NULL_ARG, OSKI_ERR_SMALL_ARG, OSKI_MATTYPE_ID, OSKI_MATTYPE_METHOD, oski_PrintDebugMessage(), oski_matstruct_t::props, oski_matspecific_t::repr, SHARE_INPUTMAT, oski_matstruct_t::time_stream, oski_matstruct_t::timer, and oski_matspecific_t::type_id.
const oski_matcommon_t* oski_GetMatProps | ( | const oski_matrix_t | A | ) |
Returns a matrix's type-independent properties.
[in] | A | A valid tunable matrix object. |
References INVALID_MAT, OSKI_ERR_BAD_MAT, and oski_matstruct_t::props.