|
VTK
|
Park and Miller Sequence of pseudo random numbers. More...
#include <vtkMinimalStandardRandomSequence.h>
Public Member Functions | |
| void | Initialize (vtkTypeUInt32 seed) override |
| Satisfy general API of vtkRandomSequence superclass. More... | |
| void | SetSeed (int value) |
| Set the seed of the random sequence. More... | |
| void | SetSeedOnly (int value) |
| Set the seed of the random sequence. More... | |
| int | GetSeed () |
| Get the seed of the random sequence. More... | |
| double | GetValue () override |
| Current value. More... | |
| void | Next () override |
| Move to the next number in the random sequence. More... | |
| virtual double | GetRangeValue (double rangeMin, double rangeMax) |
| Convenient method to return a value in a specific range from the range [0,1. More... | |
Public Member Functions inherited from vtkRandomSequence | |
| vtkRandomSequence * | NewInstance () const |
| Standard methods for type information and printing. More... | |
| void | PrintSelf (ostream &os, vtkIndent indent) override |
| Standard methods for type information and printing. More... | |
Public Member Functions inherited from vtkObject | |
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
| virtual void | DebugOn () |
| Turn debugging output on. More... | |
| virtual void | DebugOff () |
| Turn debugging output off. More... | |
| bool | GetDebug () |
| Get the value of the debug flag. More... | |
| void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. More... | |
| virtual void | Modified () |
| Update the modification time for this object. More... | |
| virtual vtkMTimeType | GetMTime () |
| Return this object's modified time. More... | |
| void | RemoveObserver (unsigned long tag) |
| void | RemoveObservers (unsigned long event) |
| void | RemoveObservers (const char *event) |
| void | RemoveAllObservers () |
| vtkTypeBool | HasObserver (unsigned long event) |
| vtkTypeBool | HasObserver (const char *event) |
| int | InvokeEvent (unsigned long event) |
| int | InvokeEvent (const char *event) |
| unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| vtkCommand * | GetCommand (unsigned long tag) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| void | RemoveObserver (vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| void | RemoveObservers (unsigned long event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| void | RemoveObservers (const char *event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
| template<class U , class T > | |
| unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
| int | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More... | |
| int | InvokeEvent (const char *event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
| const char * | GetClassName () const |
| Return the class name as a string. More... | |
| virtual void | Delete () |
| Delete a VTK object. More... | |
| virtual void | FastDelete () |
| Delete a reference to this object. More... | |
| void | InitializeObjectBase () |
| void | Print (ostream &os) |
| Print an object to an ostream. More... | |
| virtual void | Register (vtkObjectBase *o) |
| Increase the reference count (mark as used by another object). More... | |
| virtual void | UnRegister (vtkObjectBase *o) |
| Decrease the reference count (release by another object). More... | |
| int | GetReferenceCount () |
| Return the current reference count of this object. More... | |
| void | SetReferenceCount (int) |
| Sets the reference count. More... | |
| void | PrintRevisions (ostream &) |
| Legacy. More... | |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| Methods invoked by print to print information about the object including superclasses. More... | |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| Methods invoked by print to print information about the object including superclasses. More... | |
Protected Member Functions | |
| vtkMinimalStandardRandomSequence () | |
| ~vtkMinimalStandardRandomSequence () override | |
Protected Member Functions inherited from vtkRandomSequence | |
| vtkRandomSequence () | |
| ~vtkRandomSequence () override | |
Protected Member Functions inherited from vtkObject | |
| vtkObject () | |
| ~vtkObject () override | |
| void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
| void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
| void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
| These methods allow a command to exclusively grab all events. More... | |
| void | InternalReleaseFocus () |
| These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
| vtkObjectBase () | |
| virtual | ~vtkObjectBase () |
| virtual void | CollectRevisions (ostream &) |
| virtual void | ReportReferences (vtkGarbageCollector *) |
| vtkObjectBase (const vtkObjectBase &) | |
| void | operator= (const vtkObjectBase &) |
Protected Attributes | |
| int | Seed |
Protected Attributes inherited from vtkObject | |
| bool | Debug |
| vtkTimeStamp | MTime |
| vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
| vtkAtomicInt32 | ReferenceCount |
| vtkWeakPointerBase ** | WeakPointers |
| typedef vtkRandomSequence | Superclass |
| Standard methods for instantiation, type information, and printing. More... | |
| static vtkMinimalStandardRandomSequence * | New () |
| Standard methods for instantiation, type information, and printing. More... | |
| static vtkTypeBool | IsTypeOf (const char *type) |
| Standard methods for instantiation, type information, and printing. More... | |
| static vtkMinimalStandardRandomSequence * | SafeDownCast (vtkObjectBase *o) |
| Standard methods for instantiation, type information, and printing. More... | |
| virtual vtkTypeBool | IsA (const char *type) |
| Standard methods for instantiation, type information, and printing. More... | |
| vtkMinimalStandardRandomSequence * | NewInstance () const |
| Standard methods for instantiation, type information, and printing. More... | |
| void | PrintSelf (ostream &os, vtkIndent indent) override |
| Standard methods for instantiation, type information, and printing. More... | |
| virtual vtkObjectBase * | NewInstanceInternal () const |
| Standard methods for instantiation, type information, and printing. More... | |
Additional Inherited Members | |
Public Types inherited from vtkRandomSequence | |
| typedef vtkObject | Superclass |
| Standard methods for type information and printing. More... | |
Static Public Member Functions inherited from vtkRandomSequence | |
| static vtkTypeBool | IsTypeOf (const char *type) |
| Standard methods for type information and printing. More... | |
| static vtkRandomSequence * | SafeDownCast (vtkObjectBase *o) |
| Standard methods for type information and printing. More... | |
Static Public Member Functions inherited from vtkObject | |
| static vtkObject * | New () |
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
| static void | BreakOnError () |
| This method is called when vtkErrorMacro executes. More... | |
| static void | SetGlobalWarningDisplay (int val) |
| This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
| static void | GlobalWarningDisplayOn () |
| This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
| static void | GlobalWarningDisplayOff () |
| This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
| static int | GetGlobalWarningDisplay () |
| This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
| static vtkTypeBool | IsTypeOf (const char *name) |
| Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
| static vtkObjectBase * | New () |
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Park and Miller Sequence of pseudo random numbers.
vtkMinimalStandardRandomSequence is a sequence of statistically independent pseudo random numbers uniformly distributed between 0.0 and 1.0.
The sequence is generated by a prime modulus multiplicative linear congruential generator (PMMLCG) or "Lehmer generator" with multiplier 16807 and prime modulus 2^(31)-1. The authors calls it "minimal standard random number generator"
ref: "Random Number Generators: Good Ones are Hard to Find," by Stephen K. Park and Keith W. Miller in Communications of the ACM, 31, 10 (Oct. 1988) pp. 1192-1201. Code is at page 1195, "Integer version 2"
Correctness test is described in first column, page 1195: A seed of 1 at step 1 should give a seed of 1043618065 at step 10001.
Definition at line 47 of file vtkMinimalStandardRandomSequence.h.
Standard methods for instantiation, type information, and printing.
Definition at line 56 of file vtkMinimalStandardRandomSequence.h.
|
protected |
|
overrideprotected |
|
static |
Standard methods for instantiation, type information, and printing.
|
static |
Standard methods for instantiation, type information, and printing.
|
virtual |
Standard methods for instantiation, type information, and printing.
Reimplemented from vtkRandomSequence.
|
static |
Standard methods for instantiation, type information, and printing.
|
protectedvirtual |
Standard methods for instantiation, type information, and printing.
Reimplemented from vtkRandomSequence.
| vtkMinimalStandardRandomSequence* vtkMinimalStandardRandomSequence::NewInstance | ( | ) | const |
Standard methods for instantiation, type information, and printing.
|
overridevirtual |
Standard methods for instantiation, type information, and printing.
Reimplemented from vtkObjectBase.
|
inlineoverridevirtual |
Satisfy general API of vtkRandomSequence superclass.
Initialize the sequence with a seed.
Implements vtkRandomSequence.
Definition at line 64 of file vtkMinimalStandardRandomSequence.h.
| void vtkMinimalStandardRandomSequence::SetSeed | ( | int | value | ) |
Set the seed of the random sequence.
The following pre-condition is stated page 1197, second column: valid_seed: value>=1 && value<=2147483646 2147483646=(2^31)-2 This method does not have this criterium as a pre-condition (ie it will not fail if an incorrect seed value is passed) but the value is silently changed to fit in the valid range [1,2147483646]. 2147483646 is added to a null or negative value. 2147483647 is changed to be 1 (ie 2147483646 is subtracted). Implementation note: it also performs 3 calls to Next() to avoid the bad property that the first random number is proportional to the seed value.
| void vtkMinimalStandardRandomSequence::SetSeedOnly | ( | int | value | ) |
Set the seed of the random sequence.
There is no extra internal adjustment. Only useful for writing correctness test. The following pre-condition is stated page 1197, second column 2147483646=(2^31)-2 This method does not have this criterium as a pre-condition (ie it will not fail if an incorrect seed value is passed) but the value is silently changed to fit in the valid range [1,2147483646]. 2147483646 is added to a null or negative value. 2147483647 is changed to be 1 (ie 2147483646 is subtracted).
| int vtkMinimalStandardRandomSequence::GetSeed | ( | ) |
Get the seed of the random sequence.
Only useful for writing correctness test.
|
overridevirtual |
|
overridevirtual |
Move to the next number in the random sequence.
Implements vtkRandomSequence.
|
virtual |
Convenient method to return a value in a specific range from the range [0,1.
There is an initial implementation that can be overridden by a subclass. There is no pre-condition on the range:
|
protected |
Definition at line 132 of file vtkMinimalStandardRandomSequence.h.
1.8.15