impure functionimpureRandom
Impure random number generator (with hidden state vector)
Extends from Modelica.Icons.Function (Icon for functions).
Information
Syntax
r = impureRandom(id);
Description
Returns a uniform random number in the range 0 < random ≤ 1 with the xorshift1024* algorithm. 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 impureRandom is always called after initializeImpureRandom). For every call of impureRandom(id), a different random number is returned, so the function is impure.
Example
parameter Integer seed;
Real r;
function random = impureRandom (final id=id);
protected
Integer id;
equation
// Initialize the random number generator
when initial() then
id = initializeImpureRandom(seed, time);
end when;
// Use the random number generator
when sample(0,0.001) then
r = random();
end when;
See also
initializeImpureRandom, Random.Generators
Note
This function is impure!
Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | id | Identification number from initializeImpureRandom(..) function (is needed for correct sorting) |
Outputs
| Type | Name | Default | Description |
|---|---|---|---|
| Real | y | A random number with a uniform distribution on the interval (0,1] |
Revisions
| Date | Description | ||
|---|---|---|---|
| June 22, 2015 |
|