RandomTools[MersenneTwister] - Maple Programming Help

Home : Support : Online Help : Programming : Random Objects : RandomTools package : MersenneTwister Subpackage : RandomTools/MersenneTwister/SetState

RandomTools[MersenneTwister]

 SetState
 Set the internal state of the Mersenne Twister Generator

 Calling Sequence SetState( option )

Parameters

 option - (optional) argument of the form option=value where option is state

Description

 • The SetState command sets the state of the internal Mersenne Twister random number generator.
 • A state returned by GetState can be passed into SetState to regenerate a sequence of numbers.
 • SetState accepts one optional argument, state.
 state=integer or rtable
 The state argument specifies the data used to set the state of the generator.  If the value of state is an integer, then the integer is used to seed the state.  If the value of state is an rtable that was returned by GetState, then the state is set to the value stored in the rtable.  If the state argument is not given then the state is seeded using values taken from the system.

Examples

 > $\mathrm{with}\left({\mathrm{RandomTools}}_{\mathrm{MersenneTwister}}\right)$
 $\left[{\mathrm{GenerateData}}{,}{\mathrm{GenerateFloat}}{,}{\mathrm{GenerateFloat64}}{,}{\mathrm{GenerateInteger}}{,}{\mathrm{GenerateInteger32}}{,}{\mathrm{GenerateUnsignedInt32}}{,}{\mathrm{GetState}}{,}{\mathrm{NewGenerator}}{,}{\mathrm{SetState}}\right]$ (1)
 > $s≔\mathrm{GetState}\left(\right)$
  (2)
 > $\mathrm{seq}\left(\mathrm{GenerateInteger}\left(\right),i=1..5\right)$
 ${395718860534}{,}{193139816415}{,}{22424170465}{,}{800187484459}{,}{427552056869}$ (3)
 > $\mathrm{SetState}\left(\mathrm{state}=1234567\right)$
 > $\mathrm{seq}\left(\mathrm{GenerateInteger}\left(\right),i=1..5\right)$
 ${633358104191}{,}{499773630790}{,}{300352444386}{,}{416305631357}{,}{412579138445}$ (4)
 > $\mathrm{SetState}\left(\mathrm{state}=1234567\right)$
 > $\mathrm{seq}\left(\mathrm{GenerateInteger}\left(\right),i=1..5\right)$
 ${633358104191}{,}{499773630790}{,}{300352444386}{,}{416305631357}{,}{412579138445}$ (5)
 > $\mathrm{SetState}\left(\mathrm{state}=s\right)$
 > $\mathrm{seq}\left(\mathrm{GenerateInteger}\left(\right),i=1..5\right)$
 ${395718860534}{,}{193139816415}{,}{22424170465}{,}{800187484459}{,}{427552056869}$ (6)