/dev/random.128On 
Windows the state is initialised from CryptGenRandom(). 
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.
Warning! Although properly seeded (if supported on the OS), 
the Mersenne Twister algorithm does not produce 
cryptographically secure random numbers. To generate cryptographically 
secure random numbers, use crypto_n_random_bytes/2 
from library library(crypto) provided by the ssl 
package.