#include <vector>
#include <stdexcept>
{
const std::vector<rsb_coo_idx_t> IA {0,1,2,3,4,5,1}, JA {0,1,2,3,4,5,0};
const std::vector<RSB_DEFAULT_TYPE> VA {1,1,1,1,1,1,2}, X(ncA,1);
std::vector<RSB_DEFAULT_TYPE> Y(nrA,0);
throw std::runtime_error("failure running rsb_lib_init!");
VA.data(),IA.data(),JA.data(),nnzA,typecode,nrA,ncA,1,1,
,&errval);
throw std::runtime_error("failure running rsb_mtx_alloc_from_coo_const!");
if ( ! mtxAp )
throw std::runtime_error("failure running rsb_file_mtx_save!");
errval =
rsb_tune_spmm(&mtxAp,&sf,&tn,0,0.0,
RSB_TRANSPOSITION_N,&alpha,
nullptr,nrhs,
RSB_FLAG_WANT_COLUMN_MAJOR_ORDER,X.data(),ncA,&beta,Y.data(),nrA);
if ( ! mtxAp )
throw std::runtime_error("failure running rsb_tune_spmm!");
if ( ! mtxAp )
throw std::runtime_error("failure running rsb_spmv!");
throw std::runtime_error("failure running rsb_lib_exit!");
}
auto main() -> int
Definition: assemble.cpp:38
rsb_err_t rsb_spmv(rsb_trans_t transA, const void *alphap, const struct rsb_mtx_t *mtxAp, const void *Xp, rsb_coo_idx_t incX, const void *betap, void *Yp, rsb_coo_idx_t incY)
Definition: rsb_rsb.c:529
rsb_err_t rsb_lib_exit(struct rsb_initopts *iop)
Definition: rsb_rsb.c:202
rsb_err_t rsb_tune_spmm(struct rsb_mtx_t **mtxOpp, rsb_real_t *sfp, rsb_int_t *tnp, rsb_int_t maxr, rsb_time_t maxt, rsb_trans_t transA, const void *alphap, const struct rsb_mtx_t *mtxAp, rsb_coo_idx_t nrhs, rsb_flags_t order, const void *Bp, rsb_nnz_idx_t ldB, const void *betap, void *Cp, rsb_nnz_idx_t ldC)
Definition: rsb_rsb.c:1777
struct rsb_mtx_t * rsb_mtx_free(struct rsb_mtx_t *mtxAp)
Definition: rsb_rsb.c:301
rsb_err_t rsb_file_mtx_save(const struct rsb_mtx_t *mtxAp, const rsb_char_t *filename)
Definition: rsb_rsb.c:948
rsb_err_t rsb_lib_init(struct rsb_initopts *iop)
Definition: rsb_rsb.c:56
struct rsb_mtx_t * rsb_mtx_alloc_from_coo_const(const void *VA, const rsb_coo_idx_t *IA, const rsb_coo_idx_t *JA, rsb_nnz_idx_t nnzA, rsb_type_t typecode, rsb_coo_idx_t nrA, rsb_coo_idx_t ncA, rsb_blk_idx_t brA, rsb_blk_idx_t bcA, rsb_flags_t flagsA, rsb_err_t *errvalp)
Definition: rsb_rsb.c:240
This file declares the user interface functions and data structures for the librsb library (see The l...
#define RSB_FLAG_NOFLAGS
Definition: rsb.h:478
#define RSB_ERR_NO_ERROR
Definition: rsb.h:616
#define RSB_NULL_EXIT_OPTIONS
Definition: rsb.h:848
signed int rsb_nnz_idx_t
Definition: rsb.h:362
signed int rsb_coo_idx_t
Definition: rsb.h:349
signed int rsb_err_t
Definition: rsb.h:386
#define RSB_FLAG_WANT_COLUMN_MAJOR_ORDER
Definition: rsb.h:496
double rsb_real_t
Definition: rsb.h:403
char rsb_type_t
Definition: rsb.h:378
#define RSB_NULL_INIT_OPTIONS
Definition: rsb.h:847
signed int rsb_int_t
Definition: rsb.h:392
#define RSB_FLAG_DUPLICATES_SUM
Definition: rsb.h:526
#define RSB_NUMERICAL_TYPE_DEFAULT
A default numerical matrix type.
Definition: rsb_types.h:200
#define RSB_TRANSPOSITION_N
N: Non transposed flag, valid for rsb_trans_t typed variables.
Definition: rsb_types.h:138
#define RSB_DEFAULT_TYPE
The default numerical matrix type (can be used for declarations), used in the example programs.
Definition: rsb_types.h:73