object

# random

> Portable random number generator predicates. Core predicates originally written by Richard O'Keefe.

author:
  `Paulo Moura`
version:
  `2.3`
date:
  `2018/2/19`

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 – 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 – 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 – number of proofs:
  `seed_(-integer,-integer,-integer) – one`

## Operators

### (none)

## 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.

## See also

- fast_random
- backend_random