|
| DelayedBinaryIsometricOperation (std::shared_ptr< const Matrix< InputValue_, Index_ > > left, std::shared_ptr< const Matrix< InputValue_, Index_ > > right, Operation_ operation) |
|
Index_ | nrow () const |
|
Index_ | ncol () const |
|
bool | is_sparse () const |
|
double | is_sparse_proportion () const |
|
bool | prefer_rows () const |
|
double | prefer_rows_proportion () const |
|
bool | uses_oracle (bool row) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense (bool row, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense (bool row, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense (bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse (bool row, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse (bool row, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse (bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row () const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_row (std::vector< Index_ > indices) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column () const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< MyopicDenseExtractor< OutputValue_, Index_ > > | dense_column (std::vector< Index_ > indices) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< OracularDenseExtractor< OutputValue_, Index_ > > | dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row () const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::vector< Index_ > indices) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column () const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< MyopicSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::vector< Index_ > indices) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const |
|
std::unique_ptr< OracularSparseExtractor< OutputValue_, Index_ > > | sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const |
|
Delayed isometric operations on two matrices.
Implements any operation that takes two matrices of the same shape and returns another matrix of that shape. Each entry of the output matrix is a function of the corresponding values in the two input matrices. This operation is "delayed" in that it is only evaluated during data extraction, e.g., with MyopicDenseExtractor::fetch()
or friends.
This class is inspired by the DelayedNaryIsoOp
class in the DelayedArray Bioconductor package.
- Template Parameters
-
OutputValue_ | Type of the result of the operation. This is the type of the value of the output matrix. |
InputValue_ | Type of the value of the input matrices, to use in the operation. This may or may not be the same as OutputValue_ , depending on the methods available in Operation_ . |
Index_ | Type of index value. |
Operation_ | Helper class implementing the operation. This should implement the same methods as DelayedBinaryIsometricMockBasic or DelayedBinaryIsometricMockAdvanced , depending on whether it can take advantage of matrix sparsity. |