random

Returns a uniform random number with the xorshift64* algorithm

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

Syntax

(r, stateOut) = Xorshift64star.random(stateIn);

Description

Returns a uniform random number r in the range 0 < r ≤ 1 with the xorshift64* 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.

Example

  parameter Integer localSeed;
  parameter Integer globalSeed;
  Real r;
  Integer state[Xorshift64star.nState];
initial equation
  state = initialState(localSeed, globalSeed);
equation
  when sample(0,0.1) then
    (r, state) = random(pre(state));
  end when;

See also

Random.Generators.Xorshift64star.initialState.

Syntax

(result, stateOut) = random(stateIn)

Inputs (1)

stateIn

Type: Integer[nState]

Description: The internal states for the random number generator

Outputs (2)

result

Type: Real

Description: A random number with a uniform distribution on the interval (0,1]

stateOut

Type: Integer[nState]

Description: The new internal states of the random number generator