32 #ifndef vtkMersenneTwister_h
33 #define vtkMersenneTwister_h
35 #include "vtkCommonCoreModule.h"
38 VTK_ABI_NAMESPACE_BEGIN
39 class vtkMersenneTwisterInternals;
59 void Initialize(vtkTypeUInt32 seed)
override { this->InitializeSequence(0, seed); }
68 SequenceId InitializeNewSequence(vtkTypeUInt32 seed,
int p = 521);
76 void InitializeSequence(SequenceId
id, vtkTypeUInt32 seed,
int p = 521);
82 virtual double GetValue(SequenceId
id);
95 virtual void Next(SequenceId
id);
115 VTK_ABI_NAMESPACE_END
116 #endif // #ifndef vtkMersenneTwister_h
Generator for Mersenne Twister pseudorandom numbers.
void Initialize(vtkTypeUInt32 seed) override
Satisfy general API of vtkRandomSequence superclass.
Generate a sequence of random numbers.
virtual void Next()=0
Move to the next number in the random sequence.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
virtual double GetValue()=0
Return the current value.
a simple class to control print indentation
double GetValue() override
Current value.
void Next() override
Move to the next number in random sequence <0>.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkMersenneTwisterInternals * Internal