object

fast_random

Fast portable random number generator predicates. Core predicates originally written by Richard O’Keefe. Based on algorithm AS 183 from Applied Statistics.

Author: Paulo Moura
Version: 2.5
Date: 2018/8/14
Compilation flags:
static, context_switching_calls
Implements:
public randomp

Public interface

reset_seed/0

Resets the random generator seed to its default value. Use get_seed/1 and set_seed/1 instead if you need reproducibility.

Compilation flags:
static, synchronized
Mode and number of proofs:
reset_seed - one

randomize/1

Randomizes the random generator using a positive integer to compute a new seed.

Compilation flags:
static, synchronized
Template:
randomize(Seed)
Mode and number of proofs:
randomize(+positive_integer) - one

Protected interface

(see related entities)

Private predicates

seed_/3

Stores the current random generator seed values.

Compilation flags:
dynamic
Template:
seed_(S0,S1,S2)
Mode and number of proofs:
seed_(-integer,-integer,-integer) - one

Operators

(none)

Remarks

  • Single random number generator: This object provides a faster version of the “random” library object but does not support being extended to define multiple random number generators.