LatMRG Guide  1.0
A software package to test and search for new linear congruential random number generators
LatMRG::MixmaxMMRG< Int > Class Template Reference

This class is used to manipulate easily MMRG of Mixmax types as described by Savvidy [CITE PAPER]. More...

#include <latmrg/MixmaxMMRG.h>

Public Member Functions

 MixmaxMMRG (Int modulus, int N, Int &s, Int &m, Int &b)
 Constructor for the four-parameters family. More...
 
 MixmaxMMRG (Int modulus, int N, Int &s, Int &m)
 Constructor for the three-parameters family. More...
 
 MixmaxMMRG (Int modulus, int N, Int &s)
 Constructor for the two-parameters family. More...
 
 ~MixmaxMMRG ()
 Destructor. More...
 
IntMat getMatrix ()
 Returns the matrix of the MMRG. More...
 
int getOrder ()
 Returns the order of the MMRG matrix. More...
 

Private Types

typedef NTL::matrix< Int > IntMat
 

Private Member Functions

void buildMatrix (Int modulus, int N, Int &s, Int &m, Int &b)
 This method build the matrix for the MMRG recurrence according to the selected parameters for the four-parameters family of generators. More...
 

Private Attributes

IntMat m_A
 The matrix used for the MMRG recurrence. More...
 
Int m_modulus
 The modulus used for the MMRG. More...
 
int m_order
 The order of the MMRG. More...
 
Int m_parameter1
 The 'magic number' parameter of the MMRG matrix. More...
 
Int m_parameter2
 Second parameter of the MMRG matrix. More...
 
Int m_parameter3
 Third parameter of the MMRG matrix. More...
 

Detailed Description

template<typename Int>
class LatMRG::MixmaxMMRG< Int >

This class is used to manipulate easily MMRG of Mixmax types as described by Savvidy [CITE PAPER].

Member Typedef Documentation

◆ IntMat

template<typename Int >
typedef NTL::matrix<Int> LatMRG::MixmaxMMRG< Int >::IntMat
private

Constructor & Destructor Documentation

◆ MixmaxMMRG() [1/3]

template<typename Int >
LatMRG::MixmaxMMRG< Int >::MixmaxMMRG ( Int  modulus,
int  N,
Int &  s,
Int &  m,
Int &  b 
)

Constructor for the four-parameters family.

◆ MixmaxMMRG() [2/3]

template<typename Int >
LatMRG::MixmaxMMRG< Int >::MixmaxMMRG ( Int  modulus,
int  N,
Int &  s,
Int &  m 
)

Constructor for the three-parameters family.

The four-parameter family reduces to the three-parameter family with \(b=2-2m\).

◆ MixmaxMMRG() [3/3]

template<typename Int >
LatMRG::MixmaxMMRG< Int >::MixmaxMMRG ( Int  modulus,
int  N,
Int &  s 
)

Constructor for the two-parameters family.

The three-parameter family reduces to the two-parameter family with \(m=1\).

◆ ~MixmaxMMRG()

template<typename Int >
LatMRG::MixmaxMMRG< Int >::~MixmaxMMRG ( )

Destructor.

Member Function Documentation

◆ buildMatrix()

template<typename Int >
void LatMRG::MixmaxMMRG< Int >::buildMatrix ( Int  modulus,
int  N,
Int &  s,
Int &  m,
Int &  b 
)
private

This method build the matrix for the MMRG recurrence according to the selected parameters for the four-parameters family of generators.

◆ getMatrix()

template<typename Int >
IntMat LatMRG::MixmaxMMRG< Int >::getMatrix ( )
inline

Returns the matrix of the MMRG.

◆ getOrder()

template<typename Int >
int LatMRG::MixmaxMMRG< Int >::getOrder ( )
inline

Returns the order of the MMRG matrix.

Member Data Documentation

◆ m_A

template<typename Int >
IntMat LatMRG::MixmaxMMRG< Int >::m_A
private

The matrix used for the MMRG recurrence.

◆ m_modulus

template<typename Int >
Int LatMRG::MixmaxMMRG< Int >::m_modulus
private

The modulus used for the MMRG.

◆ m_order

template<typename Int >
int LatMRG::MixmaxMMRG< Int >::m_order
private

The order of the MMRG.

◆ m_parameter1

template<typename Int >
Int LatMRG::MixmaxMMRG< Int >::m_parameter1
private

The 'magic number' parameter of the MMRG matrix.

◆ m_parameter2

template<typename Int >
Int LatMRG::MixmaxMMRG< Int >::m_parameter2
private

Second parameter of the MMRG matrix.

◆ m_parameter3

template<typename Int >
Int LatMRG::MixmaxMMRG< Int >::m_parameter3
private

Third parameter of the MMRG matrix.


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