Availability:Arithmetic function (see is/2)
random(+IntExpr)Evaluate to a random integer i for which 0 =< i < IntExpr.
The system has two implementations. If it is compiled with support for
unbounded arithmetic (default) it uses the GMP library random functions.
In this case, each thread keeps its own random state. The default
algorithm is the Mersenne Twister algorithm. The seed is set
when the first random number in a thread is generated. If available, it
is set from /dev/random. Otherwise it is set from the
system clock. If unbounded arithmetic is not supported, random numbers
are shared between threads and the seed is initialised from the clock
when SWI-Prolog was started. The predicate set_random/1
can be used to control the random number generator.