#include <assert.h>
#include <math.h>
#include <oski/config.h>
#include <oski/common.h>
#include <oski/vecview.h>
Defines | |
#define | MIN(a, b) ((a) < (b) ? (a) : (b)) |
Min of two side-effect-free values. | |
Functions | |
static void | SetRowColIncMultiVecView (oski_vecstruct_t *vec) |
Set the redundantly maintained row/column stride parameters. | |
static oski_vecview_t | CreateMultiVecView_NoError (oski_value_t *X, oski_index_t length, oski_index_t num_vecs, oski_storage_t orient, oski_index_t stride) |
Create a multivector view object, but without error checking. | |
void | oski_PrintDebugVecView (const oski_vecview_t x, const char *val_fmt) |
Dump a vector view object to the debug log (FOR DEBUGGING ONLY). | |
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. | |
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 i, oski_index_t j, oski_index_t R, oski_index_t C, oski_vecstruct_t *y) |
Given an multivector object , returns a shallow copy submatrix . | |
Variables | |
static oski_vecstruct_t | OBJ_SYMBOLIC_VEC |
Statically declared symbolic single vector object. | |
static oski_vecstruct_t | OBJ_SYMBOLIC_MULTIVEC |
Statically declared symbolic multivector object. | |
const oski_vecview_t | SYMBOLIC_VEC = &OBJ_SYMBOLIC_VEC |
Symbolic single-vector view. | |
const oski_vecview_t | SYMBOLIC_MULTIVEC = &OBJ_SYMBOLIC_MULTIVEC |
Symbolic multiple-vector view. |
|
Create a multivector view object, but without error checking. This routine is equivalent to oski_CreateMultiVecView(), but without the parameter checking.
|
|
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. |
|
Set the redundantly maintained row/column stride parameters.
|
|
Initial value: MAKE_VECSTRUCT_INIT (0, 1, LAYOUT_COLMAJ, 0, 1, 0, NULL)
|
|
Initial value: MAKE_VECSTRUCT_INIT (0, 1, LAYOUT_COLMAJ, 0, 1, 0, NULL)
|