.Modelica.Math.Random.Utilities.impureRandomInteger

Information

Syntax

r = impureRandomInteger(id, imin=1, imax=Modelica.Constants.Integer_inf);

Description

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.

See also

initializeImpureRandom, Random.Generators

Note

This function is impure!

Interface

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;

Revisions

Date Description
June 2, 2017 Correct probabilities - especially for small ranges, by Hans Olsson, Dassault Systèmes
June 22, 2015
Initial version implemented by A. Klöckner, F. v.d. Linden, D. Zimmer, M. Otter.
DLR Institute of System Dynamics and Control

Generated at 2020-06-05T07:38:22Z by OpenModelica 1.16.0~dev-420-gc007a39