1#ifndef TATAMI_MULT_DENSE_MATRIX_DISPATCH_HPP
2#define TATAMI_MULT_DENSE_MATRIX_DISPATCH_HPP
120template<std::
size_t accumulators_ = 4,
typename LeftValue_,
typename LeftIndex_,
typename RightValue_,
typename RightIndex_,
typename Output_>
124 Output_*
const output,
125 const bool output_row_major,
virtual bool prefer_rows() const=0
virtual bool is_sparse() const=0
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.
Multiplication of tatami matrices.
Definition column_to_column.hpp:19
void multiply_sparse_row_with_dense_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplySparseRowWithDenseMatrixOptions &options)
Definition dispatch.hpp:103
void set_dense_primary_block_size(MultiplyDenseColumnWithDenseMatrixOptions &options, int primary_block_size)
Definition dispatch.hpp:68
void set_dense_secondary_block_size(MultiplyDenseColumnWithDenseMatrixOptions &options, int secondary_block_size)
Definition dispatch.hpp:83
void multiply_dense_row_with_dense_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplyDenseRowWithDenseMatrixOptions &options)
Definition dispatch.hpp:119
void multiply_with_dense_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplyWithDenseMatrixOptions &options)
Definition dispatch.hpp:121
void multiply_sparse_column_with_dense_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplySparseColumnWithDenseMatrixOptions &options)
Definition dispatch.hpp:101
void multiply_dense_column_with_dense_matrix(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const bool output_row_major, const MultiplyDenseColumnWithDenseMatrixOptions &options)
Definition dispatch.hpp:118
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
Options for multiply_dense_column_with_dense_matrix().
Definition dispatch.hpp:21
Options for multiply_dense_row_with_dense_matrix().
Definition dispatch.hpp:21
Options for multiply_sparse_column_with_dense_matrix().
Definition dispatch.hpp:21
Options for multiply_sparse_row_with_dense_matrix().
Definition dispatch.hpp:21
Options for multiply_with_dense_matrix().
Definition dispatch.hpp:19
MultiplySparseRowWithDenseMatrixOptions sparse_row
Definition dispatch.hpp:33
MultiplyDenseRowWithDenseMatrixOptions dense_row
Definition dispatch.hpp:23
MultiplySparseColumnWithDenseMatrixOptions sparse_column
Definition dispatch.hpp:38
MultiplyDenseColumnWithDenseMatrixOptions dense_column
Definition dispatch.hpp:28