Defines | |
#define | STRIDE_UNIT ((oski_index_t)1) |
Symbolic constant for "unit stride". | |
Typedefs | |
typedef oski_vecstruct_t * | oski_vecview_t |
Multivector view handle. | |
Functions | |
oski_vecview_t | oski_CreateMultiVecView (oski_value_t *X, oski_index_t length, oski_index_t num_vecs, oski_storage_t orient, oski_index_t stride) |
Creates a multivector view on ![]() ![]() |
These wrappers encapsulate information about the stride (leading dimension) and data layout of the matrix in its corresponding array. The following routines create, destroy, and duplicate vector views.
oski_vecview_t oski_CreateMultiVecView | ( | oski_value_t * | X, | |
oski_index_t | length, | |||
oski_index_t | num_vecs, | |||
oski_storage_t | orient, | |||
oski_index_t | stride | |||
) |
Creates a multivector view on dense column vectors
, stored as a submatrix in the user's data.
[in] | X | Multivector (matrix) data. |
[in] | length | Logical length of each (column) vector, i.e., number of logical rows in the matrix. |
[in] | num_vecs | Number of vectors, i.e., number of logical columns in the matrix. |
[in] | orient | Row vs. column major layout. |
[in] | stride | Leading dimension, i.e., distance between vectors. stride must be >= length for column-major storage, or >= num_vecs for row-major storage. |
References CreateMultiVecView_NoError(), INVALID_VEC, LAYOUT_COLMAJ, LAYOUT_ROWMAJ, OSKI_ERR_BAD_STORAGE, OSKI_ERR_BAD_STRIDE, OSKI_ERR_NULL_ARG, and OSKI_ERR_SMALL_ARG.