tatami
C++ API for different matrix representations
Loading...
Searching...
No Matches
helper_interface.hpp
Go to the documentation of this file.
1#ifndef TATAMI_DELAYED_UNARY_ISOMETRIC_OPERATION_HELPER_INTERFACE_H
2#define TATAMI_DELAYED_UNARY_ISOMETRIC_OPERATION_HELPER_INTERFACE_H
3
4#include <vector>
5#include <optional>
7
13namespace tatami {
14
26template<typename OutputValue_, typename InputValue_, typename Index_>
28public:
37 virtual ~DelayedUnaryIsometricOperationHelper() = default;
42public:
60 virtual void dense(bool row, Index_ i, Index_ start, Index_ length, const InputValue_* input, OutputValue_* output) const = 0;
61
78 virtual void dense(bool row, Index_ i, const std::vector<Index_>& indices, const InputValue_* input, OutputValue_* output) const = 0;
79
107 virtual void sparse(bool row, Index_ i, Index_ num, const InputValue_* input_value, const Index_* index, OutputValue_* output_value) const = 0;
108
121 virtual OutputValue_ fill(bool row, Index_ i) const = 0;
122
131 virtual bool zero_depends_on_row() const = 0;
132
141 virtual bool zero_depends_on_column() const = 0;
142
146 virtual bool non_zero_depends_on_row() const = 0;
147
151 virtual bool non_zero_depends_on_column() const = 0;
152
157 virtual bool is_sparse() const = 0;
158
163 virtual std::optional<Index_> nrow() const = 0;
164
169 virtual std::optional<Index_> ncol() const = 0;
170};
171
172}
173
174#endif
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 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
Flexible representations for matrix data.
Definition Extractor.hpp:15