This module defines the basic single- and multivector view data structures.
#include <oski/vector.h>
Go to the source code of this file.
Name mangling. | |
#define | oski_vecview_t MANGLE_(oski_vecview_t) |
#define | SYMBOLIC_VEC MANGLE_(SYMBOLIC_VEC) |
#define | SYMBOLIC_MULTIVEC MANGLE_(SYMBOLIC_MULTIVEC) |
#define | oski_CreateVecView MANGLE_(oski_CreateVecView) |
#define | oski_CreateMultiVecView MANGLE_(oski_CreateMultiVecView) |
#define | oski_DestroyVecView MANGLE_(oski_DestroyVecView) |
#define | oski_CopyVecView MANGLE_(oski_CopyVecView) |
#define | oski_PrintDebugVecView MANGLE_(oski_PrintDebugVecView) |
#define | oski_CalcVecViewInfNorm MANGLE_(oski_CalcVecViewInfNorm) |
#define | oski_CalcVecViewInfNormDiff MANGLE_(oski_CalcVecViewInfNormDiff) |
#define | oski_InitSubVecView MANGLE_(oski_InitSubVecView) |
Symbolic vector views. | |
These constants are used by the hint routines (see Set explicit workload hints.). | |
const oski_vecview_t | SYMBOLIC_VEC |
Symbolic single-vector view. | |
const oski_vecview_t | SYMBOLIC_MULTIVEC |
Symbolic multiple-vector view. | |
Defines | |
#define | INC_OSKI_VECVIEW_H |
oski/vecview.h included. | |
#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_CreateVecView (oski_value_t *x, oski_index_t length, oski_index_t inc) |
Creates a valid view on a single dense column vector . | |
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. | |
int | oski_DestroyVecView (oski_vecview_t x) |
Destroy an existing vector view. | |
oski_vecview_t | oski_CopyVecView (const oski_vecview_t x) |
Creates a copy of the given (multi)vector view. | |
void | oski_PrintDebugVecView (const oski_vecview_t x, const char *val_fmt) |
Dump a vector view object to the debug log (FOR DEBUGGING ONLY). | |
double | oski_CalcVecViewInfNorm (const oski_vecview_t x, oski_index_t j) |
Compute the infinity norm of a specified column vector of a vector view. | |
double | oski_CalcVecViewInfNormDiff (const oski_vecview_t x0, oski_index_t j0, const oski_vecview_t x1, oski_index_t j1) |
Compute the infinity norm of the difference between two vectors. | |
int | oski_InitSubVecView (const oski_vecview_t x, oski_index_t i0, oski_index_t j0, oski_index_t R, oski_index_t C, oski_vecstruct_t *y) |
Given an multivector object , returns a shallow copy submatrix . |
|
Compute the infinity norm of a specified column vector of a vector view.
|
|
Compute the infinity norm of the difference between two vectors.
|
|
Given an multivector object , returns a shallow copy submatrix .
|
|
Dump a vector view object to the debug log (FOR DEBUGGING ONLY).
If oski_value_t is complex, then the format string must contain "%f", "%f", and "%c", to display the real and imaginary parts. The extra fields are used to print special characters to distinguish between values of the logical matrix, and values lying in the "padding" when the stride is not equal to the matrix dimension. |