r = impureRandomInteger(id, imin=1, imax=Modelica.Constants.Integer_inf);
Returns an Integer random number in the range imin ≤ random ≤ imax with the xorshift1024* algorithm, (the random number in the range 0 ... 1 returned by the xorshift1024* algorithm is mapped to an Integer number in the range imin ... imax). The dummy input Integer argument id must be the output argument of a call to function initializeImpureRandom, in order that the sorting order is correct (so that impureRandomInteger is always called after initializeImpureRandom). For every call of impureRandomInteger(id), a different random number is returned, so the function is impure.
initializeImpureRandom, Random.Generators
This function is impure!
impure function impureRandomInteger extends Modelica.Icons.Function; input Integer id "Identification number from initializeImpureRandom(..) function (is needed for correct sorting)"; input Integer imin = 1 "Minimum integer to generate"; input Integer imax = 268435456 "Maximum integer to generate (default = 2^28)"; output Integer y "A random number with a uniform distribution on the interval [imin,imax]"; end impureRandomInteger;
Date | Description | ||
---|---|---|---|
June 2, 2017 | Correct probabilities - especially for small ranges, by Hans Olsson, Dassault Systèmes | ||
June 22, 2015 |
|