`prev Menu next`

Random Numbers☆☆
RND-function
`RND`The pseudorandom number, where 0≦RND＜1
< Note > RND is a reserved word of Full BASIC.
randomize statement
`RANDOMIZE`
Sets the starting point of the pseudorandom numbers unpredictable.
[Note]
The sequence of the pseudorandom numbers is global over the whole program.
Example. A program which generates 20 random integers within 1 to 6.

    10 RANDOMIZE
    20 FOR t=1 TO 20
    30   LET n=1+INT(6*RND)
    40   PRINT n
    50 NEXT t
    60 END

If RANDOMIZE in line 10 lacks, this program generates the same sequence for every time.

[Original Enhancement]
RANDOMIZE statement can take an integer parameter within 0～4294967295.
The parameter indicates a seed, that is, the starting point of the sequence of the random numbers.
Example.

    RANDOMIZE 1024

[Supplement]
The pseudorandom numbers generated by RND-functions are those generated by Mersenne Twister method.
They have precision of 52 bits on the binary or the complex mode, 50-bits on the decimal, 1000-digits decimal, or the RATIONAL operation mode.
The algorithm depends on mt19937ar.c by Matsumoto and Nishimura, 2002