|
librsb 1.3.0.3
|
Classes RsbLib and RsbMatrix provide native C++ access to librsb.
More...
Data Structures | |
| class | RsbLib |
Class initializing/finalizing librsb state. More... | |
Macros | |
| #define | RSBP_DEPRECATED |
| Internal attribute specifier for deprecated member functions. | |
| #define | RSBP_NODISCARD |
| Internal attribute. | |
| #define | RSBP_WANT_REV 0 |
| If this is defined to 1 before including <rsb.hpp>, rsb_err_t is the default return type. Otherwise the default is void. | |
| #define | RSBP_RVT template <typename Err_t=void> |
| No return type. | |
| #define | RSBP_MSLVRV 10201 |
| Minimal supported librsb version (value of RSB_LIBRSB_VER, defined via rsb.h). | |
Enumerations | |
| enum | RsbSym { IsGen = RSB_FLAG_NOFLAGS , IsHer = RSB_FLAG_HERMITIAN , IsSym = RSB_FLAG_SYMMETRIC , IsTri = RSB_FLAG_TRIANGULAR } |
| enum | RsbOp { Sum } |
Functions | |
| RsbMatrix (rsb_coo_idx_t nrA, rsb_coo_idx_t ncA, const RsbSym sym=IsGen) | |
| RsbMatrix (rsb_coo_idx_t nrA, const rsb_coo_idx_t *RP, const rsb_coo_idx_t *JA, const NT *VA, const RsbSym sym=IsGen) | |
| RsbMatrix (const rsb_coo_idx_t *IA, const rsb_coo_idx_t *JA, const NT *VA, rsb_nnz_idx_t nnzA, const rsb_flags_t flagsA=RSB_FLAG_NOFLAGS) | |
| RsbMatrix (const rsb_char_t *filename, const RsbSym sym=IsGen) | |
| RsbMatrix (const RsbMatrix &A_Rsb, bool do_trans=false, rsb_flags_t flagsA=RSB_FLAG_NOFLAGS) | |
| RsbMatrix (RsbMatrix &&other) | |
| ~RsbMatrix (void) | |
| RSBP_RVT RSBP_DEPRECATED Err_t | _add (rsb_coo_idx_t i, rsb_coo_idx_t j, NT val) |
| RSBP_RVT Err_t | close (void) |
| RSBP_RVT RSBP_DEPRECATED Err_t | _close (void) |
| RSBP_RVT RSBP_DEPRECATED Err_t | spmv (rsb_trans_t transA, const NT *alphap, const NT *Xp, rsb_coo_idx_t incX, const NT *betap, NT *Yp, rsb_coo_idx_t incY) const |
| RSBP_RVT Err_t | spmv (rsb_trans_t transA, const NT alpha, const NT *Xp, rsb_coo_idx_t incX, const NT beta, NT *Yp, rsb_coo_idx_t incY) const |
| RSBP_RVT Err_t | spmv (rsb_trans_t transA, const NT alpha, const NT *Xp, const NT beta, NT *Yp) const |
| RSBP_RVT Err_t | spmv (NT *y, const NT *x, bool do_trans=false) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | spmm (rsb_trans_t transA, const NT *alphap, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, rsb_nnz_idx_t ldB, const NT *betap, NT *Cp, rsb_nnz_idx_t ldC) const |
| RSBP_RVT Err_t | spmm (rsb_trans_t transA, const NT alpha, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, rsb_nnz_idx_t ldB, const NT beta, NT *Cp, rsb_nnz_idx_t ldC) const |
| RSBP_RVT Err_t | spmm (rsb_trans_t transA, const NT alpha, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, const NT beta, NT *Cp) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | spsm (rsb_trans_t transT, const NT *alphap, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *betap, const NT *Bp, rsb_nnz_idx_t ldB, NT *Cp, rsb_nnz_idx_t ldC) const |
| RSBP_RVT Err_t | spsm (rsb_trans_t transT, const NT alpha, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT beta, const NT *Bp, rsb_nnz_idx_t ldB, NT *Cp, rsb_nnz_idx_t ldC) const |
| RSBP_RVT Err_t | spsm (rsb_trans_t transT, const NT alpha, rsb_coo_idx_t nrhs, const NT *Bp, NT *Cp) const |
| RSBP_RVT Err_t | spsm (NT *y, const NT *x, rsb_coo_idx_t nrhs, bool do_trans=false) const |
| RSBP_RVT Err_t | spsm (NT *y, rsb_coo_idx_t nrhs, bool do_trans=false) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | spsv (rsb_trans_t transT, const NT *alphap, const NT *Xp, rsb_coo_idx_t incX, NT *Yp, rsb_coo_idx_t incY) const |
| RSBP_RVT Err_t | spsv (rsb_trans_t transT, const NT alpha, const NT *Xp, NT *Yp) const |
| RSBP_RVT Err_t | spsv (NT *y, const NT *x, bool do_trans=false) const |
| RSBP_RVT Err_t | spsv (NT *y, bool do_trans=false) const |
| size_t | get_info_size_t (enum rsb_mif_t mif) const |
| rsb_flags_t | get_info_rsb_flags_t (enum rsb_mif_t mif) const |
| rsb_blk_idx_t | get_info_blk_t (enum rsb_mif_t mif) const |
| rsb_nnz_idx_t | get_info_nnz_t (enum rsb_mif_t mif) const |
| rsb_flags_t | get_flags_t (enum rsb_mif_t mif) const |
| rsb_type_t | get_type_t (enum rsb_mif_t mif) const |
| rsb_coo_idx_t | get_info_coo_t (enum rsb_mif_t mif) const |
| size_t | _get_index_storage_bytes (void) const |
| size_t | _get_storage_bytes (void) const |
| rsb_nnz_idx_t | nnz (void) const |
| rsb_blk_idx_t | blocks (void) const |
| rsb_coo_idx_t | rows (void) const |
| rsb_coo_idx_t | cols (void) const |
| RSBP_RVT Err_t | get_vals (NT *VA, const rsb_coo_idx_t *IA, const rsb_coo_idx_t *JA, rsb_nnz_idx_t nnz, rsb_flags_t flags) const |
| NT | get_val (const rsb_coo_idx_t i, const rsb_coo_idx_t j, rsb_flags_t flags=RSB_FLAG_NOFLAGS) const |
| RSBP_RVT Err_t | set_val (const NT val, const rsb_coo_idx_t i, const rsb_coo_idx_t j, rsb_flags_t flags=RSB_FLAG_NOFLAGS) |
| RSBP_RVT Err_t | set_vals (const NT *VA, const rsb_coo_idx_t *IA, const rsb_coo_idx_t *JA, rsb_nnz_idx_t nnz, rsb_flags_t flags) |
| RSBP_RVT Err_t | get_vec (NT *Dp, enum rsb_extff_t flags) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | get_coo (rsb_trans_t transA, NT *VA, rsb_coo_idx_t *IA, rsb_coo_idx_t *JA, rsb_flags_t flags) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | get_csr (rsb_trans_t transA, NT *VA, rsb_coo_idx_t *RP, rsb_coo_idx_t *JA, rsb_flags_t flags) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | get_rows_sparse (rsb_trans_t transA, const NT *alphap, NT *VA, rsb_coo_idx_t *IA, rsb_coo_idx_t *JA, rsb_coo_idx_t frA, rsb_coo_idx_t lrA, rsb_nnz_idx_t *rnzp, rsb_flags_t flags) const |
| RSBP_RVT Err_t | upd_vals (enum rsb_elopf_t elop_flags, const NT &omega) |
| RSBP_RVT Err_t | upd_vals (enum rsb_elopf_t elop_flags, const NT *omegap) |
| RSBP_RVT Err_t | get_nrm (NT *Np, enum rsb_extff_t flags) const |
| rsb_type_t | rsbtype (void) const |
| rsb_flags_t | rsbflags (void) const |
| rsb_string_t | get_info_str (const char *key) const |
| RSBP_RVT Err_t | get_info (enum rsb_mif_t miflags, void *minfop) const |
| rsb_string_t | _info (void) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | tune_spsm_threads (rsb_real_t *sfp=RSBP_NULL, rsb_int_t *tnp=RSBP_NULL, rsb_int_t maxr=0, rsb_time_t maxt=0, rsb_trans_t transA=RSB_TRANSPOSITION_N, const NT *alphap=RSBP_NULL, rsb_coo_idx_t nrhs=1, rsb_flags_t order=RSB_FLAG_WANT_COLUMN_MAJOR_ORDER, const NT *Bp=RSBP_NULL, rsb_nnz_idx_t ldB=0, const NT *betap=RSBP_NULL, NT *Cp=RSBP_NULL, rsb_nnz_idx_t ldC=0) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | tune_spmm_threads (rsb_real_t *sfp=RSBP_NULL, rsb_int_t *tnp=RSBP_NULL, rsb_int_t maxr=0, rsb_time_t maxt=0, rsb_trans_t transA=RSB_TRANSPOSITION_N, const NT *alphap=RSBP_NULL, rsb_coo_idx_t nrhs=1, rsb_flags_t order=RSB_FLAG_WANT_COLUMN_MAJOR_ORDER, const NT *Bp=RSBP_NULL, rsb_nnz_idx_t ldB=0, const NT *betap=RSBP_NULL, NT *Cp=RSBP_NULL, rsb_nnz_idx_t ldC=0) const |
| RSBP_RVT RSBP_DEPRECATED Err_t | tune_spmm (rsb_real_t *sfp, rsb_int_t *tnp, rsb_int_t maxr, rsb_time_t maxt, rsb_trans_t transA, const NT *alphap, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, rsb_nnz_idx_t ldB, const NT *betap, NT *Cp, rsb_nnz_idx_t ldC) |
| RSBP_RVT RSBP_DEPRECATED Err_t | tune_spmm (rsb_real_t *sfp, rsb_int_t *tnp, rsb_int_t maxr, rsb_time_t maxt, rsb_trans_t transA, const NT alpha, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, rsb_nnz_idx_t ldB, const NT beta, NT *Cp, rsb_nnz_idx_t ldC) |
| RSBP_RVT Err_t | tune_spmm (rsb_real_t &sf, rsb_trans_t transA, const NT alpha, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, const NT beta, NT *Cp) |
| RSBP_RVT RSBP_DEPRECATED Err_t | tune_spsm (rsb_real_t *sfp, rsb_int_t *tnp, rsb_int_t maxr, rsb_time_t maxt, rsb_trans_t transA, const NT *alphap, rsb_coo_idx_t nrhs, rsb_flags_t order, const NT *Bp, rsb_nnz_idx_t ldB, const NT *betap, NT *Cp, rsb_nnz_idx_t ldC) |
| RSBP_RVT Err_t | file_save (const rsb_char_t *filename=RSBP_NULL) const |
| RsbMatrix & | operator= (const RsbMatrix &A_Rsb) |
| bool | _is_complex (void) const |
| bool | operator== (const RsbMatrix &B_Rsb) const |
| bool | operator!= (const RsbMatrix &B_Rsb) const |
| NT | normOne (void) const |
| NT | normInf (void) const |
| RSBP_RVT Err_t | rndr (const rsb_char_t *filename=RSBP_NULL, rsb_coo_idx_t pmWidth=512, rsb_coo_idx_t pmHeight=512, rsb_marf_t rflags=RSB_MARF_EPS) const |
| RsbMatrix (rsb_trans_t transA, NT alpha, const RsbMatrix &mtxA, rsb_trans_t transB, NT beta, const RsbMatrix &mtxB, RsbOp op) | |
| RsbMatrix (const RsbMatrix &mtxA, const RsbMatrix &mtxB, RsbOp op) | |
Variables | |
| rsb_mtx_t * | mtxAp_ {RSBP_NULL} |
Represent a sparse matrix in RSB format by means of librsb. | |
Classes RsbLib and RsbMatrix provide native C++ access to librsb.
Most of the librsb functionality is available via C++ classes RsbLib and RsbMatrix.
These classes are defined in header file <rsb.hpp>, which wraps functionality of librsb's C interface <rsb.h>.
The RsbMatrix class can manipulate sparse matrices of several numerical types (same ones as librsb: matrix_supported_numerical_types_section).
Before using RsbMatrix, the library must be initialized by having a RsbLib object.
To avoid problems when including this header, don't define preprocessor macros prefixed with RSB_ or RSBP_.
For a quick start, check out examples/example.cpp or other examples in its directory.
| #define RSBP_DEPRECATED |
Internal attribute specifier for deprecated member functions.
Header-only (rsb.hpp) wrapper classes for librsb (http://librsb.sf.net).
| #define RSBP_MSLVRV 10201 |
Minimal supported librsb version (value of RSB_LIBRSB_VER, defined via rsb.h).
| #define RSBP_NODISCARD |
Internal attribute.
| #define RSBP_RVT template <typename Err_t=void> |
No return type.
| #define RSBP_WANT_REV 0 |
| enum RsbOp |
| enum RsbSym |
Matrix structure: either general, symmetric, hermitian, or triangular (also see rsb_flags_t).
| RSBP_RVT RSBP_DEPRECATED Err_t _add | ( | rsb_coo_idx_t | i, |
| rsb_coo_idx_t | j, | ||
| NT | val ) |
| RSBP_RVT RSBP_DEPRECATED Err_t _close | ( | void | ) |
| size_t _get_index_storage_bytes | ( | void | ) | const |
\rl_name_to_be_changed
| size_t _get_storage_bytes | ( | void | ) | const |
\rl_name_to_be_changed
| rsb_string_t _info | ( | void | ) | const |
\rl_name_to_be_changed
| bool _is_complex | ( | void | ) | const |
\rl_name_to_be_changed
| rsb_blk_idx_t blocks | ( | void | ) | const |
| RSBP_RVT Err_t close | ( | void | ) |
Terminate assembly of a previously started and populated matrix.
Shall be called once.
\rsblib_asm_snip
| rsb_coo_idx_t cols | ( | void | ) | const |
\rsblib_dims_snip
| RSBP_RVT Err_t file_save | ( | const rsb_char_t * | filename = RSBP_NULL | ) | const |
\rsblib_based_on_pred rsb_file_mtx_save() \rsblib_based_on_post
Example snip from examples/misc.cpp:
| RSBP_RVT RSBP_DEPRECATED Err_t get_coo | ( | rsb_trans_t | transA, |
| NT * | VA, | ||
| rsb_coo_idx_t * | IA, | ||
| rsb_coo_idx_t * | JA, | ||
| rsb_flags_t | flags ) const |
\rsblib_based_on_pred rsb_mtx_get_coo() \rsblib_based_on_post
\rl_no_transa \rl_deprecate
| RSBP_RVT RSBP_DEPRECATED Err_t get_csr | ( | rsb_trans_t | transA, |
| NT * | VA, | ||
| rsb_coo_idx_t * | RP, | ||
| rsb_coo_idx_t * | JA, | ||
| rsb_flags_t | flags ) const |
\rsblib_based_on_pred rsb_mtx_get_csr() \rsblib_based_on_post
\rl_no_transa \rl_deprecate
| rsb_flags_t get_flags_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| rsb_blk_idx_t get_info_blk_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| rsb_coo_idx_t get_info_coo_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| rsb_nnz_idx_t get_info_nnz_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| rsb_flags_t get_info_rsb_flags_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| size_t get_info_size_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| rsb_string_t get_info_str | ( | const char * | key | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info_str() \rsblib_based_on_post
| RSBP_RVT Err_t get_nrm | ( | NT * | Np, |
| enum rsb_extff_t | flags ) const |
\rsblib_based_on_pred rsb_mtx_get_nrm() \rsblib_based_on_post
| RSBP_RVT RSBP_DEPRECATED Err_t get_rows_sparse | ( | rsb_trans_t | transA, |
| const NT * | alphap, | ||
| NT * | VA, | ||
| rsb_coo_idx_t * | IA, | ||
| rsb_coo_idx_t * | JA, | ||
| rsb_coo_idx_t | frA, | ||
| rsb_coo_idx_t | lrA, | ||
| rsb_nnz_idx_t * | rnzp, | ||
| rsb_flags_t | flags ) const |
\rsblib_based_on_pred rsb_mtx_get_rows_sparse() \rsblib_based_on_post
\rl_deprecate
| rsb_type_t get_type_t | ( | enum rsb_mif_t | mif | ) | const |
\rsblib_based_on_pred rsb_mtx_get_info() \rsblib_based_on_post
| NT get_val | ( | const rsb_coo_idx_t | i, |
| const rsb_coo_idx_t | j, | ||
| rsb_flags_t | flags = RSB_FLAG_NOFLAGS ) const |
\rsblib_based_on_pred rsb_mtx_get_vals() \rsblib_based_on_post
| RSBP_RVT Err_t get_vals | ( | NT * | VA, |
| const rsb_coo_idx_t * | IA, | ||
| const rsb_coo_idx_t * | JA, | ||
| rsb_nnz_idx_t | nnz, | ||
| rsb_flags_t | flags ) const |
\rsblib_based_on_pred rsb_mtx_get_vals() \rsblib_based_on_post
| RSBP_RVT Err_t get_vec | ( | NT * | Dp, |
| enum rsb_extff_t | flags ) const |
\rsblib_based_on_pred rsb_mtx_get_vec() \rsblib_based_on_post
| rsb_nnz_idx_t nnz | ( | void | ) | const |
| NT normInf | ( | void | ) | const |
| NT normOne | ( | void | ) | const |
| bool operator!= | ( | const RsbMatrix & | B_Rsb | ) | const |
\rsblib__cmp_snip
A copy constructor. Will clone the input matrix contents.
| bool operator== | ( | const RsbMatrix & | B_Rsb | ) | const |
Deep comparison: compare if the two matrices have same dimensions, nonzeroes count, nonzeroes pattern and value. Meant for very sporadic use. Inefficient: it can involve matrices copying.
\rsblib__cmp_snip
| RSBP_RVT Err_t rndr | ( | const rsb_char_t * | filename = RSBP_NULL, |
| rsb_coo_idx_t | pmWidth = 512, | ||
| rsb_coo_idx_t | pmHeight = 512, | ||
| rsb_marf_t | rflags = RSB_MARF_EPS ) const |
\rsblib_based_on_pred rsb_mtx_rndr() \rsblib_based_on_post
\rsblib_rndr_snip
| rsb_coo_idx_t rows | ( | void | ) | const |
\rsblib_dims_snip
| rsb_flags_t rsbflags | ( | void | ) | const |
| RsbMatrix | ( | const rsb_char_t * | filename, |
| const RsbSym | sym = IsGen ) |
Assemble a sparse matrix given filename input.
\rsblib_based_on_pred rsb_file_mtx_load() \rsblib_based_on_post
| RsbMatrix | ( | const rsb_coo_idx_t * | IA, |
| const rsb_coo_idx_t * | JA, | ||
| const NT * | VA, | ||
| rsb_nnz_idx_t | nnzA, | ||
| const rsb_flags_t | flagsA = RSB_FLAG_NOFLAGS ) |
Assemble a sparse matrix given COO input.
\rsblib__asm_coo_snip
\rsblib_based_on_pred rsb_mtx_alloc_from_coo_const() \rsblib_based_on_post
| RsbMatrix | ( | const RsbMatrix & | A_Rsb, |
| bool | do_trans = false, | ||
| rsb_flags_t | flagsA = RSB_FLAG_NOFLAGS ) |
Copy a sparse matrix given example input.
Can either clone it, or transpose it or change flags (structure) in the process.
| RsbMatrix | ( | const RsbMatrix & | mtxA, |
| const RsbMatrix & | mtxB, | ||
| RsbOp | op ) |
| RsbMatrix | ( | rsb_coo_idx_t | nrA, |
| const rsb_coo_idx_t * | RP, | ||
| const rsb_coo_idx_t * | JA, | ||
| const NT * | VA, | ||
| const RsbSym | sym = IsGen ) |
Assemble a sparse matrix given CSR input.
\rsblib_based_on_pred rsb_mtx_alloc_from_csr_const() \rsblib_based_on_post
| RsbMatrix | ( | rsb_coo_idx_t | nrA, |
| rsb_coo_idx_t | ncA, | ||
| const RsbSym | sym = IsGen ) |
Begin assembling a sparse matrix of given dimensions and type.
Then you can use set_val() or set_vals() repeatedly to populate the matrix.
After populating the matrix, use close() to terminate its assembly.
\rsblib_asm_snip
\rsblib_based_on_pred rsb_mtx_alloc_from_coo_begin() \rsblib_based_on_post
| RsbMatrix | ( | rsb_trans_t | transA, |
| NT | alpha, | ||
| const RsbMatrix & | mtxA, | ||
| rsb_trans_t | transB, | ||
| NT | beta, | ||
| const RsbMatrix & | mtxB, | ||
| RsbOp | op ) |
\rsblib_based_on_pred rsb_sppsp() \rsblib_based_on_post
| RsbMatrix | ( | RsbMatrix && | other | ) |
Move constructor.
The moved matrix object will be invalid afterwards.
Example snip from examples/misc.cpp:
| rsb_type_t rsbtype | ( | void | ) | const |
\rsblib_rsbtype_snip
| RSBP_RVT Err_t set_val | ( | const NT | val, |
| const rsb_coo_idx_t | i, | ||
| const rsb_coo_idx_t | j, | ||
| rsb_flags_t | flags = RSB_FLAG_NOFLAGS ) |
| RSBP_RVT Err_t set_vals | ( | const NT * | VA, |
| const rsb_coo_idx_t * | IA, | ||
| const rsb_coo_idx_t * | JA, | ||
| rsb_nnz_idx_t | nnz, | ||
| rsb_flags_t | flags ) |
Add a single entry during the assembly of a matrix created empty.
Use close() to terminate matrix assembly.
\rsblib_asm_snip
\rsblib_based_on_pred rsb_mtx_set_vals() \rsblib_based_on_post
| RSBP_RVT RSBP_DEPRECATED Err_t spmm | ( | rsb_trans_t | transA, |
| const NT * | alphap, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| const NT * | betap, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) const |
\rsblib_based_on_pred rsb_spmm() \rsblib_based_on_post \rl_deprecate
| RSBP_RVT Err_t spmm | ( | rsb_trans_t | transA, |
| const NT | alpha, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| const NT | beta, | ||
| NT * | Cp ) const |
\rsblib_based_on_prei rsb_spmm() \rsblib_based_on_post
| RSBP_RVT Err_t spmm | ( | rsb_trans_t | transA, |
| const NT | alpha, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| const NT | beta, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) const |
\rsblib_spmm_snip
\rsblib_based_on_prei rsb_spmm() \rsblib_based_on_post
| RSBP_RVT Err_t spmv | ( | NT * | y, |
| const NT * | x, | ||
| bool | do_trans = false ) const |
\rsblib_based_on_prei rsb_spmv() \rsblib_based_on_post
\rsblib_spmv_snip
| RSBP_RVT RSBP_DEPRECATED Err_t spmv | ( | rsb_trans_t | transA, |
| const NT * | alphap, | ||
| const NT * | Xp, | ||
| rsb_coo_idx_t | incX, | ||
| const NT * | betap, | ||
| NT * | Yp, | ||
| rsb_coo_idx_t | incY ) const |
\rsblib_based_on_pred rsb_spmv() \rsblib_based_on_post \rl_deprecate
| RSBP_RVT Err_t spmv | ( | rsb_trans_t | transA, |
| const NT | alpha, | ||
| const NT * | Xp, | ||
| const NT | beta, | ||
| NT * | Yp ) const |
\rsblib_based_on_prei rsb_spmv() \rsblib_based_on_post
\rsblib_spmv_snip
| RSBP_RVT Err_t spmv | ( | rsb_trans_t | transA, |
| const NT | alpha, | ||
| const NT * | Xp, | ||
| rsb_coo_idx_t | incX, | ||
| const NT | beta, | ||
| NT * | Yp, | ||
| rsb_coo_idx_t | incY ) const |
\rsblib_based_on_prei rsb_spmv() \rsblib_based_on_post
\rsblib_spmv_snip
| RSBP_RVT Err_t spsm | ( | NT * | y, |
| const NT * | x, | ||
| rsb_coo_idx_t | nrhs, | ||
| bool | do_trans = false ) const |
\rsblib_based_on_prei rsb_spsm() \rsblib_based_on_post
| RSBP_RVT Err_t spsm | ( | NT * | y, |
| rsb_coo_idx_t | nrhs, | ||
| bool | do_trans = false ) const |
\rsblib_based_on_prei rsb_spsm() \rsblib_based_on_post
| RSBP_RVT RSBP_DEPRECATED Err_t spsm | ( | rsb_trans_t | transT, |
| const NT * | alphap, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | betap, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) const |
\rsblib_based_on_pred rsb_spsm() \rsblib_based_on_post \rl_deprecate
| RSBP_RVT Err_t spsm | ( | rsb_trans_t | transT, |
| const NT | alpha, | ||
| rsb_coo_idx_t | nrhs, | ||
| const NT * | Bp, | ||
| NT * | Cp ) const |
\rsblib_based_on_prei rsb_spsm() \rsblib_based_on_post
| RSBP_RVT Err_t spsm | ( | rsb_trans_t | transT, |
| const NT | alpha, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT | beta, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) const |
\rsblib_based_on_prei rsb_spsm() \rsblib_based_on_post
| RSBP_RVT Err_t spsv | ( | NT * | y, |
| bool | do_trans = false ) const |
\rsblib_based_on_prei rsb_spsv() \rsblib_based_on_post
| RSBP_RVT Err_t spsv | ( | NT * | y, |
| const NT * | x, | ||
| bool | do_trans = false ) const |
\rsblib_based_on_prei rsb_spsv() \rsblib_based_on_post
| RSBP_RVT RSBP_DEPRECATED Err_t spsv | ( | rsb_trans_t | transT, |
| const NT * | alphap, | ||
| const NT * | Xp, | ||
| rsb_coo_idx_t | incX, | ||
| NT * | Yp, | ||
| rsb_coo_idx_t | incY ) const |
\rsblib_based_on_pred rsb_spsv() \rsblib_based_on_post \rl_deprecate
| RSBP_RVT Err_t spsv | ( | rsb_trans_t | transT, |
| const NT | alpha, | ||
| const NT * | Xp, | ||
| NT * | Yp ) const |
\rsblib_based_on_prei rsb_spsv() \rsblib_based_on_post
| RSBP_RVT Err_t tune_spmm | ( | rsb_real_t & | sf, |
| rsb_trans_t | transA, | ||
| const NT | alpha, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| const NT | beta, | ||
| NT * | Cp ) |
\rsblib_based_on_prei rsb_tune_spmm() \rsblib_based_on_post
\rsblib_autotune_snip
| RSBP_RVT RSBP_DEPRECATED Err_t tune_spmm | ( | rsb_real_t * | sfp, |
| rsb_int_t * | tnp, | ||
| rsb_int_t | maxr, | ||
| rsb_time_t | maxt, | ||
| rsb_trans_t | transA, | ||
| const NT * | alphap, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| const NT * | betap, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) |
| RSBP_RVT RSBP_DEPRECATED Err_t tune_spmm | ( | rsb_real_t * | sfp, |
| rsb_int_t * | tnp, | ||
| rsb_int_t | maxr, | ||
| rsb_time_t | maxt, | ||
| rsb_trans_t | transA, | ||
| const NT | alpha, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| const NT | beta, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) |
\rsblib_based_on_prei rsb_tune_spmm() \rsblib_based_on_post
\rsblib_autotune_snip
| RSBP_RVT RSBP_DEPRECATED Err_t tune_spmm_threads | ( | rsb_real_t * | sfp = RSBP_NULL, |
| rsb_int_t * | tnp = RSBP_NULL, | ||
| rsb_int_t | maxr = 0, | ||
| rsb_time_t | maxt = 0, | ||
| rsb_trans_t | transA = RSB_TRANSPOSITION_N, | ||
| const NT * | alphap = RSBP_NULL, | ||
| rsb_coo_idx_t | nrhs = 1, | ||
| rsb_flags_t | order = RSB_FLAG_WANT_COLUMN_MAJOR_ORDER, | ||
| const NT * | Bp = RSBP_NULL, | ||
| rsb_nnz_idx_t | ldB = 0, | ||
| const NT * | betap = RSBP_NULL, | ||
| NT * | Cp = RSBP_NULL, | ||
| rsb_nnz_idx_t | ldC = 0 ) const |
\rsblib_based_on_pred rsb_tune_spmm() \rsblib_based_on_post
\rsblib_autotune_snip \rl_deprecate
| RSBP_RVT RSBP_DEPRECATED Err_t tune_spsm | ( | rsb_real_t * | sfp, |
| rsb_int_t * | tnp, | ||
| rsb_int_t | maxr, | ||
| rsb_time_t | maxt, | ||
| rsb_trans_t | transA, | ||
| const NT * | alphap, | ||
| rsb_coo_idx_t | nrhs, | ||
| rsb_flags_t | order, | ||
| const NT * | Bp, | ||
| rsb_nnz_idx_t | ldB, | ||
| const NT * | betap, | ||
| NT * | Cp, | ||
| rsb_nnz_idx_t | ldC ) |
\rsblib_based_on_pred rsb_tune_spsm() \rsblib_based_on_post
\rl_deprecate
| RSBP_RVT RSBP_DEPRECATED Err_t tune_spsm_threads | ( | rsb_real_t * | sfp = RSBP_NULL, |
| rsb_int_t * | tnp = RSBP_NULL, | ||
| rsb_int_t | maxr = 0, | ||
| rsb_time_t | maxt = 0, | ||
| rsb_trans_t | transA = RSB_TRANSPOSITION_N, | ||
| const NT * | alphap = RSBP_NULL, | ||
| rsb_coo_idx_t | nrhs = 1, | ||
| rsb_flags_t | order = RSB_FLAG_WANT_COLUMN_MAJOR_ORDER, | ||
| const NT * | Bp = RSBP_NULL, | ||
| rsb_nnz_idx_t | ldB = 0, | ||
| const NT * | betap = RSBP_NULL, | ||
| NT * | Cp = RSBP_NULL, | ||
| rsb_nnz_idx_t | ldC = 0 ) const |
\rsblib_based_on_pred rsb_tune_spsm() \rsblib_based_on_post
\rl_deprecate
| RSBP_RVT Err_t upd_vals | ( | enum rsb_elopf_t | elop_flags, |
| const NT & | omega ) |
\rsblib_based_on_pred rsb_mtx_upd_vals() \rsblib_based_on_post
\rsblib_upd_vals_snip
| RSBP_RVT Err_t upd_vals | ( | enum rsb_elopf_t | elop_flags, |
| const NT * | omegap ) |
\rsblib_based_on_pred rsb_mtx_upd_vals() \rsblib_based_on_post
\rl_deprecate
| ~RsbMatrix | ( | void | ) |
Destructor.
Frees matrix object memory.
\rsblib_based_on_pred rsb_mtx_free() \rsblib_based_on_post
| rsb_mtx_t* mtxAp_ {RSBP_NULL} |
Represent a sparse matrix in RSB format by means of librsb.
Manage construction, destruction, and std::move of numerical matrices.
Most of the member functions here translate directly to a single function call to librsb (rsb.h), and pass the parameters as they are, so the error checking is done by librsb.
While most of librsb C functions use void* pointers instead of numerical data, RsbMatrix is templated by a type parameter. This introduces type safety at compile time.
Users of member functions can choose among several overloads. So in additional to the more direct overloads passing e.g. 

| NT | the numerical type, at least for the four canonical ones (float, double, std::complex<float>, std::complex<double>); see matrix_supported_numerical_types_section and rsb_type_t for more. |
<rsb.hpp>.rsb.h interface is stable, the rsb.hpp interface is neither stable, nor complete: early users' feedback is very welcome. 

std::span only)? */ template<RSBP_Scalar_t NT> class RsbMatrix { private:/* RSBP_TESTING_ONLY