1#ifndef TATAMI_MULT_SINGLE_VECTOR_DISPATCH_HPP
2#define TATAMI_MULT_SINGLE_VECTOR_DISPATCH_HPP
76template<std::
size_t accumulators_ = 4,
typename Value_,
typename Index_,
typename Right_,
typename Output_>
79 const Right_*
const right,
80 Output_*
const output,
114template<std::
size_t accumulators_ = 4,
typename Left_,
typename Value_,
typename Index_,
typename Output_>
116 const Left_*
const left,
118 Output_*
const output,
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_column_with_single_vector(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const RightValue_ *const right, Output_ *const output, const MultiplyDenseColumnWithSingleVectorOptions &options)
Definition dense_column.hpp:51
void multiply_sparse_column_with_single_vector(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const RightValue_ *const right, Output_ *const output, const MultiplySparseColumnWithSingleVectorOptions &options)
Definition sparse_column.hpp:49
void multiply_dense_row_with_single_vector(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const RightValue_ *const right, Output_ *const output, const MultiplyDenseRowWithSingleVectorOptions &options)
Definition dense_row.hpp:50
void multiply_with_single_vector(const tatami::Matrix< Value_, Index_ > &left, const Right_ *const right, Output_ *const output, const MultiplyWithSingleVectorOptions &options)
Definition dispatch.hpp:77
void multiply_sparse_row_with_single_vector(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const RightValue_ *const right, Output_ *const output, const MultiplySparseRowWithSingleVectorOptions &options)
Definition sparse_row.hpp:50
void set_num_threads(MultiplyDenseColumnWithDenseMatrixOptions &options, int num_threads)
Definition dispatch.hpp:54
std::shared_ptr< const Matrix< Value_, Index_ > > wrap_shared_ptr(const Matrix< Value_, Index_ > *const ptr)
Dense column-major LHS, single vector RHS.
Dense row-major LHS, single vector RHS.
Sparse column-major LHS, single vector RHS.
Sparse row-major LHS, single vector RHS.
Options for multiply_dense_column_with_single_vector().
Definition dense_column.hpp:28
int num_threads
Definition dense_column.hpp:33
Options for multiply_dense_row_with_single_vector().
Definition dense_row.hpp:25
int num_threads
Definition dense_row.hpp:30
Options for multiply_sparse_column_with_single_vector().
Definition sparse_column.hpp:26
int num_threads
Definition sparse_column.hpp:31
Options for multiply_sparse_row_with_single_vector().
Definition sparse_row.hpp:25
int num_threads
Definition sparse_row.hpp:30
Options for multiply_with_single_vector().
Definition dispatch.hpp:19
MultiplySparseRowWithSingleVectorOptions sparse_row
Definition dispatch.hpp:33
MultiplyDenseColumnWithSingleVectorOptions dense_column
Definition dispatch.hpp:28
MultiplySparseColumnWithSingleVectorOptions sparse_column
Definition dispatch.hpp:38
MultiplyDenseRowWithSingleVectorOptions dense_row
Definition dispatch.hpp:23