BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Matrix handle. More...
#include <oski/common.h>
#include <oski/matcommon.h>
#include <oski/structhint.h>
#include <oski/trace.h>
#include <oski/CSR/format.h>
#include <oski/matmult.h>
#include <oski/ata.h>
#include <oski/trisolve.h>
#include <oski/a_and_at.h>
#include <oski/matpow.h>
Go to the source code of this file.
Data Structures | |
struct | oski_matstruct_t |
Generic matrix representation. More... | |
struct | tagOski_submat_t |
Defines a rectangular submatrix consisting of a given number of consecutive rows and columns, starting at a given offset. More... | |
Defines | |
#define | INC_OSKI_MATRIX_H |
matrix.h has been included. | |
#define | OSKI_CHECK_MAT_DIMS(m, n) (((m) >= 0) && ((n) >= 0)) |
Returns 1 <==> specified dimensions are legal. | |
#define | OSKI_IS_SQUARE_MAT(m, n) ((m) == (n)) |
Returns 1 <==> dimensions are equal. | |
Mangled names. | |
#define | oski_matstruct_t MANGLE_(oski_matstruct_t) |
#define | oski_matrix_t MANGLE_(oski_matrix_t) |
#define | const_oski_matrix_t MANGLE_(const_oski_matrix_t) |
#define | oski_CreateMatStruct MANGLE_(oski_CreateMatStruct) |
#define | oski_DestroyMatStruct MANGLE_(oski_DestroyMatStruct) |
Name mangling of conversion routines. | |
#define | oski_DestroyMatRepr_funcpt MANGLE_(oski_DestroyMatRepr_funcpt) |
#define | oski_CreateMatReprFromCSR_funcpt MANGLE_(oski_CreateMatReprFromCSR_funcpt) |
#define | oski_CreateSubmatReprFromCSR_funcpt MANGLE_(oski_CreateSubmatReprFromCSR_funcpt) |
#define | oski_CopyMatRepr_funcpt MANGLE_(oski_CopyMatRepr_funcpt) |
#define | oski_CalcMatRepr1Norm_funcpt MANGLE_(oski_CalcMatRepr1Norm_funcpt) |
#define | oski_ConvertMatReprToCSR_funcpt MANGLE_(oski_ConvertMatReprToCSR_funcpt) |
#define | tagOski_submat_t MANGLE_(tagOski_submat_t) |
#define | oski_submat_t MANGLE_(oski_submat_t) |
Typedefs | |
typedef oski_matstruct_t * | oski_matrix_t |
Sparse matrix handle type. | |
typedef const oski_matstruct_t * | const_oski_matrix_t |
Read-only (const) sparse matrix handle type, for function return values. | |
typedef struct tagOski_submat_t | oski_submat_t |
Defines a rectangular submatrix consisting of a given number of consecutive rows and columns, starting at a given offset. | |
typedef void(* | oski_DestroyMatRepr_funcpt )(void *mat) |
Method type: Destroy matrix type-specific representation. | |
typedef void *(* | oski_CreateMatReprFromCSR_funcpt )(const oski_matCSR_t *mat, const oski_matcommon_t *props,...) |
Method type: Instantiate from an existing CSR representation. | |
typedef void *(* | oski_CreateSubmatReprFromCSR_funcpt )(const oski_matCSR_t *mat, const oski_matcommon_t *props, const oski_submat_t *sub,...) |
Method type: Instantiate from a submatrix of an existing CSR representation. | |
typedef oski_matCSR_t *(* | oski_ConvertMatReprToCSR_funcpt )(const void *, const oski_matcommon_t *props) |
Method type: Convert to CSR format. | |
typedef void *(* | oski_CopyMatRepr_funcpt )(const void *, const oski_matcommon_t *props) |
Method type: Duplicate a matrix representation. | |
typedef double(* | oski_CalcMatRepr1Norm_funcpt )(const void *mat, const oski_matcommon_t *props) |
Methyod type: Compute the 1-norm. | |
Functions | |
oski_matstruct_t * | oski_CreateMatStruct (void) |
Returns a newly allocated matrix structure. | |
void | oski_DestroyMatStruct (oski_matstruct_t *A) |
Free a matrix structure (but not its child data structures). |
Matrix handle.
#define INC_OSKI_MATRIX_H |
matrix.h has been included.
typedef void*(* oski_CreateSubmatReprFromCSR_funcpt)(const oski_matCSR_t *mat, const oski_matcommon_t *props, const oski_submat_t *sub,...) |
Method type: Instantiate from a submatrix of an existing CSR representation.
typedef struct tagOski_submat_t oski_submat_t |
Defines a rectangular submatrix consisting of a given number of consecutive rows and columns, starting at a given offset.
The base index is implicitly defined.
oski_matstruct_t* oski_CreateMatStruct | ( | void | ) |
Returns a newly allocated matrix structure.
Returns a newly allocated matrix structure.
References oski_matcommon_t::has_unit_diag, oski_matstruct_t::input_mat, INVALID_ID, oski_matcommon_t::is_herm, oski_matstruct_t::is_shared, oski_matcommon_t::is_symm, oski_matcommon_t::is_tri_lower, oski_matcommon_t::is_tri_upper, oski_matcommon_t::num_cols, oski_matcommon_t::num_nonzeros, oski_matcommon_t::num_rows, oski_CreateTimer(), oski_CreateTrace(), oski_InitStructHint(), oski_Malloc, oski_matcommon_t::pattern, oski_matstruct_t::props, oski_matspecific_t::repr, oski_matstruct_t::structhints, TIME_NOT_AVAIL, oski_matstruct_t::time_stream, oski_matstruct_t::timer, oski_matstruct_t::trace, oski_matstruct_t::tuned_mat, oski_matstruct_t::tuned_xforms, oski_matspecific_t::type_id, and oski_matstruct_t::workhints.
void oski_DestroyMatStruct | ( | oski_matstruct_t * | A | ) |
Free a matrix structure (but not its child data structures).
[in,out] | A | Matrix object/handle. |
References DumpTrace(), oski_matstruct_t::input_mat, INVALID_MAT, oski_DestroyTimer(), oski_DestroyTrace(), oski_Free, OSKI_MATTYPEID_METHOD, oski_PrintDebugMessage(), oski_ResetStructHint(), oski_matstruct_t::props, oski_matspecific_t::repr, oski_matstruct_t::structhints, oski_matstruct_t::timer, oski_matstruct_t::trace, oski_matstruct_t::tuned_mat, oski_matstruct_t::tuned_xforms, oski_matspecific_t::type_id, and oski_matstruct_t::workhints.