tatami_test
Utilities for testing tatami libraries
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tatami_test::ReversedIndicesWrapper< Value_, Index_ > Class Template Referencefinal

Reverse indices for sparse extraction. More...

#include <ReversedIndicesWrapper.hpp>

Inheritance diagram for tatami_test::ReversedIndicesWrapper< Value_, Index_ >:
tatami::Matrix< Value_, Index_ >

Public Member Functions

 ReversedIndicesWrapper (std::shared_ptr< const tatami::Matrix< Value_, Index_ > > matrix)
 
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< tatami::MyopicDenseExtractor< Value_, Index_ > > dense (bool row, const tatami::Options &opt) const
 
std::unique_ptr< tatami::MyopicDenseExtractor< Value_, Index_ > > dense (bool row, Index_ bs, Index_ bl, const tatami::Options &opt) const
 
std::unique_ptr< tatami::MyopicDenseExtractor< Value_, Index_ > > dense (bool row, tatami::VectorPtr< Index_ > idx, const tatami::Options &opt) const
 
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > sparse (bool row, const tatami::Options &opt) const
 
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > sparse (bool row, Index_ bs, Index_ bl, const tatami::Options &opt) const
 
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > sparse (bool row, tatami::VectorPtr< Index_ > idx, const tatami::Options &opt) const
 
std::unique_ptr< tatami::OracularDenseExtractor< Value_, Index_ > > dense (bool row, std::shared_ptr< const tatami::Oracle< Index_ > > ora, const tatami::Options &opt) const
 
std::unique_ptr< tatami::OracularDenseExtractor< Value_, Index_ > > dense (bool row, std::shared_ptr< const tatami::Oracle< Index_ > > ora, Index_ bs, Index_ bl, const tatami::Options &opt) const
 
std::unique_ptr< tatami::OracularDenseExtractor< Value_, Index_ > > dense (bool row, std::shared_ptr< const tatami::Oracle< Index_ > > ora, tatami::VectorPtr< Index_ > idx, const tatami::Options &opt) const
 
std::unique_ptr< tatami::OracularSparseExtractor< Value_, Index_ > > sparse (bool row, std::shared_ptr< const tatami::Oracle< Index_ > > ora, const tatami::Options &opt) const
 
std::unique_ptr< tatami::OracularSparseExtractor< Value_, Index_ > > sparse (bool row, std::shared_ptr< const tatami::Oracle< Index_ > > ora, Index_ bs, Index_ bl, const tatami::Options &opt) const
 
std::unique_ptr< tatami::OracularSparseExtractor< Value_, Index_ > > sparse (bool row, std::shared_ptr< const tatami::Oracle< Index_ > > ora, tatami::VectorPtr< Index_ > idx, const tatami::Options &opt) const
 
- Public Member Functions inherited from tatami::Matrix< Value_, Index_ >
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row () const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column () const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row () const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column () const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 

Additional Inherited Members

- Public Types inherited from tatami::Matrix< Value_, Index_ >
typedef Value_ value_type
 
typedef Index_ index_type
 

Detailed Description

template<typename Value_, typename Index_>
class tatami_test::ReversedIndicesWrapper< Value_, Index_ >

Reverse indices for sparse extraction.

Template Parameters
Value_Type of matrix value.
Index_Integer type for the row/column indices.

This wrapper reverses the ordering of non-zero elements when tatami::Options::sparse_ordered_index = false. The aim is to enable testing of tatami::Matrix subclasses that implement delayed operations on an existing "seed" matrix, where we may wish to check that the delayed operation handles unordered sparse extraction correctly. To do so, we wrap the seed in a ReversedIndicesWrapper, which is then used in the delayed operation; the resulting matrix can then be tested with test_unsorted_full_access() and friends.

Constructor & Destructor Documentation

◆ ReversedIndicesWrapper()

template<typename Value_ , typename Index_ >
tatami_test::ReversedIndicesWrapper< Value_, Index_ >::ReversedIndicesWrapper ( std::shared_ptr< const tatami::Matrix< Value_, Index_ > >  matrix)
inline
Parameters
matrixPointer to a tatami::Matrix. This is typically the seed matrix that would otherwise be directly used in a delayed operation.

Member Function Documentation

◆ dense() [1/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicDenseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::dense ( bool  row,
const tatami::Options opt 
) const
inlinevirtual

◆ dense() [2/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicDenseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::dense ( bool  row,
Index_  bs,
Index_  bl,
const tatami::Options opt 
) const
inlinevirtual

◆ dense() [3/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::OracularDenseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::dense ( bool  row,
std::shared_ptr< const tatami::Oracle< Index_ > >  ora,
const tatami::Options opt 
) const
inlinevirtual

◆ dense() [4/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::OracularDenseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::dense ( bool  row,
std::shared_ptr< const tatami::Oracle< Index_ > >  ora,
Index_  bs,
Index_  bl,
const tatami::Options opt 
) const
inlinevirtual

◆ dense() [5/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::OracularDenseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::dense ( bool  row,
std::shared_ptr< const tatami::Oracle< Index_ > >  ora,
tatami::VectorPtr< Index_ >  idx,
const tatami::Options opt 
) const
inlinevirtual

◆ dense() [6/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicDenseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::dense ( bool  row,
tatami::VectorPtr< Index_ >  idx,
const tatami::Options opt 
) const
inlinevirtual

◆ is_sparse()

template<typename Value_ , typename Index_ >
bool tatami_test::ReversedIndicesWrapper< Value_, Index_ >::is_sparse ( ) const
inlinevirtual

◆ is_sparse_proportion()

template<typename Value_ , typename Index_ >
double tatami_test::ReversedIndicesWrapper< Value_, Index_ >::is_sparse_proportion ( ) const
inlinevirtual

◆ ncol()

template<typename Value_ , typename Index_ >
Index_ tatami_test::ReversedIndicesWrapper< Value_, Index_ >::ncol ( ) const
inlinevirtual

◆ nrow()

template<typename Value_ , typename Index_ >
Index_ tatami_test::ReversedIndicesWrapper< Value_, Index_ >::nrow ( ) const
inlinevirtual

◆ prefer_rows()

template<typename Value_ , typename Index_ >
bool tatami_test::ReversedIndicesWrapper< Value_, Index_ >::prefer_rows ( ) const
inlinevirtual

◆ prefer_rows_proportion()

template<typename Value_ , typename Index_ >
double tatami_test::ReversedIndicesWrapper< Value_, Index_ >::prefer_rows_proportion ( ) const
inlinevirtual

◆ sparse() [1/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::sparse ( bool  row,
const tatami::Options opt 
) const
inlinevirtual

◆ sparse() [2/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::sparse ( bool  row,
Index_  bs,
Index_  bl,
const tatami::Options opt 
) const
inlinevirtual

◆ sparse() [3/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::OracularSparseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::sparse ( bool  row,
std::shared_ptr< const tatami::Oracle< Index_ > >  ora,
const tatami::Options opt 
) const
inlinevirtual

◆ sparse() [4/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::OracularSparseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::sparse ( bool  row,
std::shared_ptr< const tatami::Oracle< Index_ > >  ora,
Index_  bs,
Index_  bl,
const tatami::Options opt 
) const
inlinevirtual

◆ sparse() [5/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::OracularSparseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::sparse ( bool  row,
std::shared_ptr< const tatami::Oracle< Index_ > >  ora,
tatami::VectorPtr< Index_ >  idx,
const tatami::Options opt 
) const
inlinevirtual

◆ sparse() [6/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > tatami_test::ReversedIndicesWrapper< Value_, Index_ >::sparse ( bool  row,
tatami::VectorPtr< Index_ >  idx,
const tatami::Options opt 
) const
inlinevirtual

◆ uses_oracle()

template<typename Value_ , typename Index_ >
bool tatami_test::ReversedIndicesWrapper< Value_, Index_ >::uses_oracle ( bool  row) const
inlinevirtual

The documentation for this class was generated from the following file: