63 #ifndef _H_ALP_SPARSEBLAS_NIST 64 #define _H_ALP_SPARSEBLAS_NIST 159 const int row,
const int col
170 const double * vals,
const int * rows,
const int * cols
180 const int j,
const int nnz,
181 const double * vals,
const int * rows
191 const int i,
const int nnz,
192 const double * vals,
const int * cols
222 const double *
const x,
int incx,
223 double *
const y,
const int incy
240 const double * B,
const int ldb,
241 const double * C,
const int ldc
268 const EXTBLAS_TYPE( sparse_vector ) x,
269 EXTBLAS_TYPE( sparse_vector ) y
364 double * value,
int * row,
int * col
410 #endif // end _H_ALP_SPARSEBLAS_NIST int EXTBLAS_dusmsm(const enum blas_trans_type transa, const double alpha, const blas_sparse_matrix A, const enum blas_trans_type transb, const blas_sparse_matrix B, blas_sparse_matrix C)
Performs sparse matrix–sparse matrix multiplication.
blas_sparse_matrix BLAS_duscr_begin(const int m, const int n)
Creates a handle to a new / empty sparse matrix.
int EXTBLAS_dusm_open(const blas_sparse_matrix A)
Opens a given sparse matrix for read-out.
void * blas_sparse_matrix
A sparse matrix.
Definition: blas_sparse.h:139
int BLAS_duscr_insert_row(blas_sparse_matrix A, const int i, const int nnz, const double *vals, const int *cols)
Inserts a row into A.
int BLAS_duscr_insert_entry(blas_sparse_matrix A, const double val, const int row, const int col)
Inserts a single nonzero entry into A.
blas_order_type
The supported dense storages.
Definition: blas_sparse.h:125
size_t nnz(const Vector< DataType, backend, Coords > &x) noexcept
Request the number of nonzeroes in a given vector.
Definition: io.hpp:479
int EXTBLAS_dusm_nz(const blas_sparse_matrix A, int *nz)
Retrieves the number of nonzeroes in a given, finalised, sparse matrix.
int EXTBLAS_dusm_get(const blas_sparse_matrix A, double *value, int *row, int *col)
Retrieves a sparse matrix entry.
int BLAS_dusmm(const enum blas_order_type order, const enum blas_trans_type transa, const int nrhs, const double alpha, const blas_sparse_matrix A, const double *B, const int ldb, const double *C, const int ldc)
Sparse matrix–dense matrix multiplication.
int BLAS_duscr_insert_entries(blas_sparse_matrix A, const int nnz, const double *vals, const int *rows, const int *cols)
Inserts a block of entries into A.
int EXTBLAS_dusmsv(const enum blas_trans_type transa, const double alpha, const blas_sparse_matrix A, const extblas_sparse_vector x, extblas_sparse_vector y)
Performs sparse matrix–sparse vector multiplication.
int BLAS_duscr_insert_col(blas_sparse_matrix A, const int j, const int nnz, const double *vals, const int *rows)
Inserts a column into A.
int EXTBLAS_dusm_close(const blas_sparse_matrix A)
Closes a sparse matrix read-out.
blas_trans_type
The possible transposition types.
Definition: blas_sparse.h:114
int BLAS_duscr_end(blas_sparse_matrix A)
Signals that the matrix A can now be finalised – all contents have been added.
int BLAS_dusmv(const enum blas_trans_type transa, const double alpha, const blas_sparse_matrix A, const double *const x, int incx, double *const y, const int incy)
Sparse matrix–dense vector multiplication.
This is an ALP-specific extension to the NIST Sparse BLAS standard to support sparse vectors.
int BLAS_usds(blas_sparse_matrix A)
Frees a given matrix.
int EXTBLAS_free()
This function is an implementation-specific extension of SparseBLAS that clears any buffer memory tha...
int EXTBLAS_dusm_clear(blas_sparse_matrix A)
Removes all entries from a finalised sparse matrix.