object

random

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
Uses:
Remarks:
  • Multiple random number generators: To define multiple random number generators, simply extend this object. The derived objects must send to self the reset_seed/0 message.

Public predicates

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 predicates

(see entity ancestors)

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