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

Force oracular extraction. More...

#include <ForcedOracleWrapper.hpp>

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

Public Member Functions

 ForcedOracleWrapper (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) 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::ForcedOracleWrapper< Value_, Index_ >

Force oracular extraction.

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

This wrapper ensures that tatami::Matrix::uses_oracle() always returns true. The aim is to enable testing of tatami::Matrix subclasses that implement delayed operations on an existing "seed" matrix, where the subclass changes its behavior depending on the return value of tatami::Matrix::uses_oracle(). By forcing this to be true, we can check all possible behaviors in test_full_access() and friends.

Constructor & Destructor Documentation

◆ ForcedOracleWrapper()

template<typename Value_ , typename Index_ >
tatami_test::ForcedOracleWrapper< Value_, Index_ >::ForcedOracleWrapper ( 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< Value_, Index_ >::is_sparse ( ) const
inlinevirtual

◆ is_sparse_proportion()

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

◆ ncol()

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

◆ nrow()

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

◆ prefer_rows()

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

◆ prefer_rows_proportion()

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

◆ sparse() [1/6]

template<typename Value_ , typename Index_ >
std::unique_ptr< tatami::MyopicSparseExtractor< Value_, Index_ > > tatami_test::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< 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::ForcedOracleWrapper< Value_, Index_ >::uses_oracle ( bool  ) const
inlinevirtual

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