Crypto++ 8.6 Free C++ class library of cryptographic schemes

List of all members
MT19937 Class Reference

Original MT19937 generator provided in the ACM paper. More...

Inheritance diagram for MT19937:

## Additional Inherited Members
Public Member Functions inherited from MersenneTwister< 0x9908B0DF, 397, 624, 0x10DCD, 4537 >
| MersenneTwister (word32 seed=S)
| Construct a Mersenne Twister. More...
bool | CanIncorporateEntropy () const
| Determines if a generator can accept additional entropy. More...
void | IncorporateEntropy (const byte *input, size_t length)
| Update RNG state with additional unpredictable values. More...
void | GenerateBlock (byte *output, size_t size)
| Generate random array of bytes. More...
word32 | GenerateWord32 (word32 min=0, word32 max=0xffffffffL)
| Generate a random 32-bit word in the range min to max, inclusive. More...
void | DiscardBytes (size_t n)
| Generate and discard n bytes. More...
Public Member Functions inherited from RandomNumberGenerator
virtual byte | GenerateByte ()
| Generate new random byte and return it. More...
virtual unsigned int | GenerateBit ()
| Generate new random bit and return it. More...
virtual void | GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length)
| Generate random bytes into a BufferedTransformation. More...
template<class IT >
void | Shuffle (IT begin, IT end)
| Randomly shuffle the specified array. More...
Public Member Functions inherited from Algorithm
| Algorithm (bool checkSelfTestStatus=true)
| Interface for all crypto algorithms. More...
virtual std::string | AlgorithmName () const
| Provides the name of this algorithm. More...
virtual std::string | AlgorithmProvider () const
| Retrieve the provider of this algorithm. More...
Public Member Functions inherited from Clonable
virtual Clonable * | Clone () const
| Copies this object. More...
Static Public Member Functions inherited from MersenneTwister< 0x9908B0DF, 397, 624, 0x10DCD, 4537 >
static const char * | StaticAlgorithmName ()

## Detailed Description

Original MT19937 generator provided in the ACM paper.

MT19937 uses 4537 as default initial seed.

You should reseed the generator after a fork() to avoid multiple generators with the same internal state.

See also
  MT19937ar, Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator

Since
  Crypto++ 5.6.3

Definition at line 210 of file mersenne.h.

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

- mersenne.h