Random number generator xorshift128+. This generator has a period of 2^128 (the period defines the number of random numbers generated before the sequence begins to repeat itself). For an overview, comparison with other random number generators, and links to articles, see Math.Random.Generators.
Extends from Modelica.Icons.Package
(Icon for standard packages).
Name | Description |
---|---|
initialState | Returns an initial state for the xorshift128+ algorithm |
random | Returns a uniform random number with the xorshift128+ algorithm |
Type | Name | Value | Description |
---|---|---|---|
Integer | nState | 4 | The dimension of the internal state vector |
state = Xorshift128plus.initialState(localSeed, globalSeed);
Generates an initial state vector for the Xorshift128plus random number generator (= xorshift128+ algorithm), from two Integer numbers given as input (arguments localSeed, globalSeed). Any Integer numbers can be given (including zero or negative number). The function returns a reasonable initial state vector with the following strategy:
The Xorshift64star random number generator is used to fill the internal state vector with 64 bit random numbers.
parameter Integer localSeed; parameter Integer globalSeed; Integer state[Xorshift128plus.nState]; initial equation state = initialState(localSeed, globalSeed);
Random.Generators.Xorshift128plus.random.
Extends from Modelica.Icons.Function
(Icon for functions).
Type | Name | Description |
---|---|---|
Integer | localSeed | The local seed to be used for generating initial states |
Integer | globalSeed | The global seed to be combined with the local seed |
Type | Name | Description |
---|---|---|
Integer | state[nState] | The generated initial states |
(r, stateOut) = Xorshift128plus.random(stateIn);
Returns a uniform random number in the range 0 < random ≤ 1 with the xorshift128+ algorithm. Input argument stateIn is the state vector of the previous call. Output argument stateOut is the updated state vector. If the function is called with identical stateIn vectors, exactly the same random number r is returned.
parameter Integer localSeed; parameter Integer globalSeed; Real r; Integer state[Xorshift128plus.nState]; initial equation state = initialState(localSeed, globalSeed); equation when sample(0,0.1) then (r, state) = random(pre(state)); end when;
Random.Generators.Xorshift128plus.initialState.
Extends from Modelica.Icons.Function
(Icon for functions).
Type | Name | Description |
---|---|---|
Integer | stateIn[nState] | The internal states for the random number generator |
Type | Name | Description |
---|---|---|
Real | result | A random number with a uniform distribution on the interval (0,1] |
Integer | stateOut[nState] | The new internal states of the random number generator |
Generated 2018-12-12 12:14:35 EST by MapleSim.