MTToolBox  0.2.10
Public Member Functions
MTToolBox::AlgorithmTempering< U, V > Class Template Referenceabstract

Algorithm that search tempering parameters to improve dimension of equi-distribution of output of pseudo random number generator. More...

#include <AlgorithmTempering.hpp>

Inheritance diagram for MTToolBox::AlgorithmTempering< U, V >:
MTToolBox::AlgorithmBestBits< U, V > MTToolBox::AlgorithmPartialBitPattern< U, V, bit_len, param_num, try_bit_len, step, lsb >

Public Member Functions

virtual ~AlgorithmTempering ()
 Virtual destructor (always required) More...
 
virtual int operator() (TemperingCalculatable< U, V > &rand, bool verbose=false)=0
 Search tempering parameters. More...
 
virtual bool isLSBTempering () const
 Shows if searching tempering parameters is from LSBs. More...
 

Detailed Description

template<typename U, typename V = U>
class MTToolBox::AlgorithmTempering< U, V >

Algorithm that search tempering parameters to improve dimension of equi-distribution of output of pseudo random number generator.

Warning
If you could not get high dimension of equi-distribution after tempering using parameters got by this algorithm, you should consider changing the design of random number generation algorithm.
Template Parameters
Utype of output of pseudo random number generator, for example, uint32_t. Only unsigned numbers are allowed.
Vtype of parameter generator

Constructor & Destructor Documentation

template<typename U, typename V = U>
virtual MTToolBox::AlgorithmTempering< U, V >::~AlgorithmTempering ( )
inlinevirtual

Virtual destructor (always required)

Member Function Documentation

template<typename U, typename V = U>
virtual bool MTToolBox::AlgorithmTempering< U, V >::isLSBTempering ( ) const
inlinevirtual
template<typename U, typename V = U>
virtual int MTToolBox::AlgorithmTempering< U, V >::operator() ( TemperingCalculatable< U, V > &  rand,
bool  verbose = false 
)
pure virtual

Search tempering parameters.

Searched parameters are set to rand. This process may consume large CPU time.

Parameters
randpseudo random number generator
verboseif true output redundant messages.
Returns
always zero.

Implemented in MTToolBox::AlgorithmBestBits< U, V >, and MTToolBox::AlgorithmPartialBitPattern< U, V, bit_len, param_num, try_bit_len, step, lsb >.


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