CMR  1.3.0
Public Member Functions | Protected Attributes | List of all members
matrix_generator Class Referenceabstract

#include <gen_generic.hpp>

Inheritance diagram for matrix_generator:
cycle_violator_matrix_generator network_matrix_generator random_matrix_generator

Public Member Functions

 matrix_generator (const char *name, size_t height, size_t width, tu::log_level level)
 
virtual ~matrix_generator ()
 
virtual void generate ()=0
 
void log_generate_start ()
 
void log_generate_end ()
 
virtual bool do_pivot (size_t row, size_t column)
 
template<typename MatrixType >
void permute_rows (MatrixType &matrix)
 
void permute_rows ()
 
void permute_columns ()
 
virtual void randomize ()
 
virtual void sign ()
 
virtual void print ()
 

Protected Attributes

size_t _height
 
size_t _width
 
tu::integer_matrix _matrix
 
boost::mt19937 _rng
 
tu::log_level _level
 
const char * _name
 

Constructor & Destructor Documentation

◆ matrix_generator()

matrix_generator::matrix_generator ( const char *  name,
size_t  height,
size_t  width,
tu::log_level  level 
)
inline

◆ ~matrix_generator()

virtual matrix_generator::~matrix_generator ( )
inlinevirtual

Member Function Documentation

◆ do_pivot()

virtual bool matrix_generator::do_pivot ( size_t  row,
size_t  column 
)
inlinevirtual

Reimplemented in random_matrix_generator.

◆ generate()

virtual void matrix_generator::generate ( )
pure virtual

◆ log_generate_end()

void matrix_generator::log_generate_end ( )
inline

◆ log_generate_start()

void matrix_generator::log_generate_start ( )
inline

◆ permute_columns()

void matrix_generator::permute_columns ( )
inline

◆ permute_rows() [1/2]

void matrix_generator::permute_rows ( )
inline

◆ permute_rows() [2/2]

template<typename MatrixType >
void matrix_generator::permute_rows ( MatrixType &  matrix)
inline

◆ print()

virtual void matrix_generator::print ( )
inlinevirtual

◆ randomize()

virtual void matrix_generator::randomize ( )
inlinevirtual

◆ sign()

virtual void matrix_generator::sign ( )
inlinevirtual

Member Data Documentation

◆ _height

size_t matrix_generator::_height
protected

◆ _level

tu::log_level matrix_generator::_level
protected

◆ _matrix

tu::integer_matrix matrix_generator::_matrix
protected

◆ _name

const char* matrix_generator::_name
protected

◆ _rng

boost::mt19937 matrix_generator::_rng
protected

◆ _width

size_t matrix_generator::_width
protected

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