Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/fast_random_0.rst.txt

.. index:: single: fast_random .. _fast_random/0:

.. rst-class:: right

object

fast_random

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

| Availability: | logtalk_load(random(loader))

| Author: Paulo Moura | Version: 3:0:0 | Date: 2026-01-25

| Compilation flags: | static, context_switching_calls

| Extends: | public :ref:`fast_random(as183) <fast_random/1>`

| 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.
  • Randomness: Loading this object always initializes the random generator seed to the same value, thus providing a pseudo random number generator. The randomize/1 predicate can be used to initialize the seed with a random value.

| Inherited public predicates: | Â :ref:sampling_protocol/0::bernoulli/2 Â :ref:sampling_protocol/0::beta/3 Â :ref:random_protocol/0::between/3 Â :ref:sampling_protocol/0::binomial/3 Â :ref:sampling_protocol/0::chi_squared/2 Â :ref:sampling_protocol/0::circular_uniform_cartesian/3 Â :ref:sampling_protocol/0::circular_uniform_polar/3 Â :ref:sampling_protocol/0::dirichlet/2 Â :ref:random_protocol/0::enumerate/2 Â :ref:sampling_protocol/0::exponential/2 Â :ref:sampling_protocol/0::fisher/3 Â :ref:sampling_protocol/0::gamma/3 Â :ref:sampling_protocol/0::geometric/2 Â :ref:pseudo_random_protocol/0::get_seed/1 Â :ref:sampling_protocol/0::gumbel/3 Â :ref:sampling_protocol/0::hypergeometric/4 Â :ref:sampling_protocol/0::logistic/3 Â :ref:sampling_protocol/0::lognormal/3 Â :ref:sampling_protocol/0::logseries/2 Â :ref:random_protocol/0::maybe/0 Â :ref:random_protocol/0::maybe/1 Â :ref:random_protocol/0::maybe/2 Â :ref:random_protocol/0::maybe_call/1 Â :ref:random_protocol/0::maybe_call/2 Â :ref:random_protocol/0::member/2 Â :ref:sampling_protocol/0::normal/3 Â :ref:random_protocol/0::permutation/2 Â :ref:sampling_protocol/0::poisson/2 Â :ref:sampling_protocol/0::power/2 Â :ref:random_protocol/0::random/1 Â :ref:random_protocol/0::random/3 Â :ref:fast_random/1::randomize/1 Â :ref:random_protocol/0::randseq/4 Â :ref:random_protocol/0::randset/4 Â :ref:fast_random/1::reset_seed/0 Â :ref:random_protocol/0::select/3 Â :ref:random_protocol/0::select/4 Â :ref:random_protocol/0::sequence/4 Â :ref:random_protocol/0::set/4 Â :ref:pseudo_random_protocol/0::set_seed/1 Â :ref:sampling_protocol/0::standard_cauchy/3 Â :ref:sampling_protocol/0::standard_exponential/1 Â :ref:sampling_protocol/0::standard_gamma/2 Â :ref:sampling_protocol/0::standard_normal/1 Â :ref:sampling_protocol/0::standard_t/2 Â :ref:random_protocol/0::swap/2 Â :ref:random_protocol/0::swap_consecutive/2 Â :ref:sampling_protocol/0::triangular/4 Â :ref:sampling_protocol/0::uniform/1 Â :ref:sampling_protocol/0::uniform/3 Â :ref:sampling_protocol/0::von_mises/3 Â :ref:sampling_protocol/0::wald/3 Â :ref:sampling_protocol/0::weibull/3 Â

.. contents:: :local: :backlinks: top

Public predicates

(no local declarations; see entity ancestors if any)

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)

.. seealso::

:ref:`fast_random <fast_random/0>`, :ref:`random <random/0>`, :ref:`random(Algorithm) <random/1>`, :ref:`backend_random <backend_random/0>`