1#ifndef TATAMI_MULT_SPARSE_MATRIX_DISPATCH_HPP
2#define TATAMI_MULT_SPARSE_MATRIX_DISPATCH_HPP
96template<std::
size_t accumulators_ = 4,
typename LeftValue_,
typename LeftIndex_,
typename RightValue_,
typename RightIndex_,
typename Output_>
100 Output_*
const output,
101 const bool output_row_major,
virtual bool prefer_rows() const=0
virtual bool is_sparse() const=0
Multiplication of tatami matrices.
Definition column_to_column.hpp:19
void multiply_dense_row_with_sparse_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplyDenseRowWithSparseMatrixOptions &options)
Definition dispatch.hpp:99
void multiply_with_sparse_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplyWithSparseMatrixOptions &options)
Definition dispatch.hpp:97
void multiply_sparse_row_with_sparse_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplySparseRowWithSparseMatrixOptions &options)
Definition dispatch.hpp:102
void multiply_sparse_column_with_sparse_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplySparseColumnWithSparseMatrixOptions &options)
Definition dispatch.hpp:89
void set_sparse_block_size(MultiplyWithDenseMatrixOptions &options, int block_size)
Definition dispatch.hpp:87
void set_num_threads(MultiplyDenseColumnWithDenseMatrixOptions &options, int num_threads)
Definition dispatch.hpp:54
void multiply_dense_column_with_sparse_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplyDenseColumnWithSparseMatrixOptions &options)
Definition dispatch.hpp:102
Dense column-major LHS, dense matrix RHS.
Dense row-major LHS, dense matrix RHS.
Sparse column-major LHS, dense matrix RHS.
Sparse row-major LHS, dense matrix RHS.
Options for multiply_dense_column_with_sparse_matrix().
Definition dispatch.hpp:21
Options for multiply_dense_row_with_sparse_matrix().
Definition dispatch.hpp:21
Options for multiply_sparse_column_with_sparse_matrix().
Definition dispatch.hpp:21
Options for multiply_sparse_row_with_sparse_matrix().
Definition dispatch.hpp:21
Options for multiply_with_sparse_matrix().
Definition dispatch.hpp:19
MultiplySparseColumnWithSparseMatrixOptions sparse_column
Definition dispatch.hpp:38
MultiplyDenseColumnWithSparseMatrixOptions dense_column
Definition dispatch.hpp:28
MultiplyDenseRowWithSparseMatrixOptions dense_row
Definition dispatch.hpp:23
MultiplySparseRowWithSparseMatrixOptions sparse_row
Definition dispatch.hpp:33