32#ifndef vtkMersenneTwister_h
33#define vtkMersenneTwister_h
35#include "vtkCommonCoreModule.h"
38VTK_ABI_NAMESPACE_BEGIN
39class vtkMersenneTwisterInternals;
59 void Initialize(vtkTypeUInt32 seed)
override { this->InitializeSequence(0, seed); }
95 virtual void Next(SequenceId
id);
a simple class to control print indentation
Generator for Mersenne Twister pseudorandom numbers.
virtual void Next(SequenceId id)
Move to the next number in random sequence id.
vtkMersenneTwisterInternals * Internal
void Next() override
Move to the next number in random sequence <0>.
static vtkMersenneTwister * New()
Standard methods for instantiation, type information, and printing.
void InitializeSequence(SequenceId id, vtkTypeUInt32 seed, int p=521)
Initialize a sequence as in InitializeNewSequence(), but additionally pass an id to associate with th...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
virtual double GetValue(SequenceId id)
Current value.
double GetValue() override
Current value.
void Initialize(vtkTypeUInt32 seed) override
Satisfy general API of vtkRandomSequence superclass.
SequenceId InitializeNewSequence(vtkTypeUInt32 seed, int p=521)
Initialize a new Mersenne Twister sequence, given a) a seed and b) a Mersenne exponent (p s....
~vtkMersenneTwister() override
Generate a sequence of random numbers.