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.

See also

random, backend_random