9.176 RANDOM_NUM_GENERATOR
Note: Built-In Function Rules Usage Options
Returns a random number between 0 and 1.
Arguments
No
|
Type
|
Req/ Opt
|
Description
|
Min Len
|
Max Len
|
Min Dec
|
Max Dec
|
1
|
N
|
Opt
|
Stream index
|
1
|
2
|
0
|
0
|
2
|
N
|
Opt
|
Seed
|
1
|
10
|
0
|
0
|
|
Return Values
No
|
Type
|
Req/ Opt
|
Description
|
Min Len
|
Max Len
|
Min Dec
|
Max Dec
|
1
|
N
|
Req
|
Random number between 0 and 1.
|
1
|
63
|
1
|
63
|
|
Technical Notes
- By default, the Built-In-Function RANDOM_NUM_GENERATOR always returns a random number between 0 and 1. For advanced users, it also provides 100 independent streams of random numbers, where drawing a random number from one stream does not affect the sequence of random numbers drawn from a different stream. Each stream is referenced using an optional "stream index" in the range [0,99], inclusive. If no stream index is supplied, then stream 0 is used by default.
- By default, the Built-In-Function RANDOM_NUM_GENERATOR seeds (i.e. initializes) each stream from the current system time the first time the stream is referenced. For advanced users, it also accepts an optional seed value which is used to seed (i.e. initialize) a stream. This is useful if you wish to repeat the same sequence of random numbers many times.
Examples
Get the next random number from the default stream (0):
Use Builtin(RANDOM_NUM_GENERATOR) To_Get(#x_dec)
Get the next random number from stream 23:
Use Builtin(RANDOM_NUM_GENERATOR) With_Args(23) To_Get(#x_dec)
Seed stream 42 with the value 12345. n.b. This seeds the stream and so will always return the same random number value:
Use Builtin(RANDOM_NUM_GENERATOR) With_Args(42 12345) To_Get(#x_dec)
Seed the default stream (0) with the value 56789.
Note: This seeds the stream and so will always return the same value:
Use Builtin(RANDOM_NUM_GENERATOR) With_Args(*DEFAULT 56789) To_Get(#x_dec)