1#ifndef TATAMI_DELAYED_UNARY_ISOMETRIC_OPERATION_HELPER_INTERFACE_H
2#define TATAMI_DELAYED_UNARY_ISOMETRIC_OPERATION_HELPER_INTERFACE_H
26template<
typename OutputValue_,
typename InputValue_,
typename Index_>
60 virtual void dense(
bool row, Index_ i, Index_ start, Index_ length,
const InputValue_* input, OutputValue_* output)
const = 0;
78 virtual void dense(
bool row, Index_ i,
const std::vector<Index_>& indices,
const InputValue_* input, OutputValue_* output)
const = 0;
107 virtual void sparse(
bool row, Index_ i, Index_ num,
const InputValue_* input_value,
const Index_* index, OutputValue_* output_value)
const = 0;
121 virtual OutputValue_
fill(
bool row, Index_ i)
const = 0;
163 virtual std::optional<Index_>
nrow()
const = 0;
169 virtual std::optional<Index_>
ncol()
const = 0;
Store information about extracted sparse elements.
Helper operation interface for DelayedUnaryIsometricOperation.
Definition helper_interface.hpp:27
virtual bool non_zero_depends_on_row() const =0
virtual std::optional< Index_ > ncol() const =0
virtual OutputValue_ fill(bool row, Index_ i) const =0
virtual bool is_sparse() const =0
virtual bool zero_depends_on_column() const =0
virtual void dense(bool row, Index_ i, Index_ start, Index_ length, const InputValue_ *input, OutputValue_ *output) const =0
virtual void sparse(bool row, Index_ i, Index_ num, const InputValue_ *input_value, const Index_ *index, OutputValue_ *output_value) const =0
virtual void dense(bool row, Index_ i, const std::vector< Index_ > &indices, const InputValue_ *input, OutputValue_ *output) const =0
virtual std::optional< Index_ > nrow() const =0
virtual bool non_zero_depends_on_column() const =0
virtual bool zero_depends_on_row() const =0
Flexible representations for matrix data.
Definition Extractor.hpp:15