1#ifndef TATAMI_MULT_SPARSE_MATRIX_SPARSE_COLUMN_DISPATCH_HPP
2#define TATAMI_MULT_SPARSE_MATRIX_SPARSE_COLUMN_DISPATCH_HPP
9#include "../../utils.hpp"
88template<
typename LeftValue_,
typename LeftIndex_,
typename RightValue_,
typename RightIndex_,
typename Output_>
92 Output_*
const output,
93 const bool output_row_major,
97 if (output_row_major) {
104 if (output_row_major) {
virtual bool prefer_rows() const=0
Multiplication of tatami matrices.
Definition column_to_column.hpp:19
void multiply_sparse_column_with_sparse_row_matrix_to_row_output(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const MultiplySparseColumnWithSparseRowMatrixToRowOutputOptions &options)
Definition row_to_row.hpp:55
void multiply_sparse_column_with_sparse_row_matrix_to_column_output(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const MultiplySparseColumnWithSparseRowMatrixToColumnOutputOptions &options)
Definition row_to_column.hpp:55
void multiply_sparse_column_with_sparse_column_matrix_to_column_output(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const MultiplySparseColumnWithSparseColumnMatrixToColumnOutputOptions &options)
Definition column_to_column.hpp:56
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 multiply_sparse_column_with_sparse_column_matrix_to_row_output(const tatami::Matrix< LeftValue_, LeftIndex_ > &left, const tatami::Matrix< RightValue_, RightIndex_ > &right, Output_ *const output, const MultiplySparseColumnWithSparseColumnMatrixToRowOutputOptions &options)
Definition column_to_row.hpp:56
void set_num_threads(MultiplyDenseColumnWithDenseMatrixOptions &options, int num_threads)
Definition dispatch.hpp:54
Sparse column-major LHS, sparse column-major RHS, column-major output.
Sparse column-major LHS, sparse column-major RHS, row-major output.
Sparse row-major LHS, sparse row-major RHS, column-major output.
Sparse row-major LHS, sparse row-major RHS, row-major output.
Options for multiply_sparse_column_with_sparse_column_matrix_to_column_output().
Definition column_to_column.hpp:28
int num_threads
Definition column_to_column.hpp:33
Options for multiply_sparse_column_with_sparse_column_matrix_to_row_output().
Definition column_to_row.hpp:28
int num_threads
Definition column_to_row.hpp:33
Options for multiply_sparse_column_with_sparse_matrix().
Definition dispatch.hpp:21
MultiplySparseColumnWithSparseColumnMatrixToColumnOutputOptions column_to_column
Definition dispatch.hpp:26
MultiplySparseColumnWithSparseRowMatrixToColumnOutputOptions row_to_column
Definition dispatch.hpp:38
MultiplySparseColumnWithSparseRowMatrixToRowOutputOptions row_to_row
Definition dispatch.hpp:44
MultiplySparseColumnWithSparseColumnMatrixToRowOutputOptions column_to_row
Definition dispatch.hpp:32
Options for multiply_sparse_column_with_sparse_row_matrix_to_column_output().
Definition row_to_column.hpp:28
int num_threads
Definition row_to_column.hpp:33
Options for multiply_sparse_column_with_sparse_row_matrix_to_row_output().
Definition row_to_row.hpp:28
int num_threads
Definition row_to_row.hpp:33