protocol
random_protocol
ï
Random number generator protocol. The predicates are declared as synchronized when the library is compiled using a backend supporting threads.
logtalk_load(random(loader))
static
Public predicatesï
random/1
ï
Returns a new random float value in the interval [0.0, 1.0[
.
static, synchronized
random(Random)
random(-float)
- one
between/3
ï
Returns a new random integer in the interval [Lower, Upper]
. Fails if Lower
or Upper
are not integers or if Lower > Upper
.
static
between(Lower,Upper,Random)
between(+integer,+integer,-integer)
- zero_or_one
member/2
ï
Returns a random member of a list. Fails if the list is empty.
static
member(Random,List)
member(-term,+list(term))
- zero_or_one
select/3
ï
Returns a random member of a list and the rest of the list. Fails if the list is empty.
static
select(Random,List,Rest)
select(-term,+list(term),-list(term))
- zero_or_one
select/4
ï
Returns a random member of a list, replacing it with a new element and returning the resulting list.
static
select(Random,OldList,New,NewList)
select(-term,+list(term),@term,-list(term))
- zero_or_one
swap/2
ï
Swaps two randomly selected elements of a list. Fails if the list is empty or contains a single element.
static
swap(OldList,NewList)
swap(-term,+list(term))
- zero_or_one
swap_consecutive/2
ï
Swaps two randomly selected consecutive elements of a list. Fails if the list is empty or contains a single element.
static
swap_consecutive(OldList,NewList)
swap_consecutive(-term,+list(term))
- zero_or_one
enumerate/2
ï
Enumerates the elements of a list in random order. Fails if the list is empty.
static
enumerate(List,Random)
enumerate(+list(term),--term)
- zero_or_more
permutation/2
ï
Returns a random permutation of a list.
static, synchronized
permutation(List,Permutation)
permutation(+list,-list)
- one
sequence/4
ï
Returns list of random integers of given length in random order in interval [Lower, Upper]
. Fails if Length
, Lower
, or Upper
are not integers or if Lower > Upper
.
static, synchronized
sequence(Length,Lower,Upper,List)
sequence(+integer,+integer,+integer,-list(integer))
- zero_or_one
set/4
ï
Returns ordered set of random integers of given size in interval [Lower, Upper]
. Fails if Length
, Lower
, or Upper
are not integers, if Lower > Upper
, or if Length > Upper - Lower + 1
.
static, synchronized
set(Length,Lower,Upper,Set)
set(+integer,+integer,+integer,-list(integer))
- zero_or_one
random/3
ï
Returns a new random value in the interval [Lower, Upper[
. Fails if Lower > Upper
. Deprecated. Use between/3
for integers.
static, synchronized
random(Lower,Upper,Random)
random(+integer,+integer,-integer)
- zero_or_one
random(+float,+float,-float)
- zero_or_one
randseq/4
ï
Returns list of random values of given length in random order in interval [Lower, Upper[
. Fails if Lower > Upper
or if the arguments are neither integers or floats. Deprecated. Use sequence/4
for integers.
static, synchronized
randseq(Length,Lower,Upper,List)
randseq(+integer,+integer,+integer,-list(integer))
- zero_or_one
randseq(+integer,+float,+float,-list(float))
- zero_or_one
randset/4
ï
Returns ordered set of random values of given size in interval [Lower, Upper[
. Fails if the arguments are neither integers or floats, Lower > Upper
, or Length > Upper - Lower
when arguments are integers. Deprecated. Use set/4
for integers.
static, synchronized
randset(Length,Lower,Upper,Set)
randset(+integer,+integer,+integer,-list(integer))
- zero_or_one
randset(+integer,+float,+float,-list(float))
- zero_or_one
maybe/0
ï
Succeeds or fails with equal probability.
static
maybe
- zero_or_one
maybe/1
ï
Succeeds with probability Probability
or fails with probability 1 - Probability
. Fails if Probability
is not a float or is outside the interval [0.0, 1.0]
.
static
maybe(Probability)
maybe(+probability)
- zero_or_one
maybe/2
ï
Succeeds with probability K/N
where K
and N
are integers satisfying the equation 0 =< K =< N
. Fails otherwise.
static
maybe(K,N)
maybe(+non_negative_integer,+non_negative_integer)
- zero_or_one
maybe_call/1
ï
Calls a goal or fails without calling it with equal probability. When the goal is called, it determines if this predicate succeeds once or fails.
static
maybe_call(Goal)
maybe_call(0)
maybe_call(+callable)
- zero_or_one
maybe_call/2
ï
Calls a goal or fails without calling it with probability Probability
. When the goal is called, it determines if this predicate succeeds once or fails.
static
maybe_call(Probability,Goal)
maybe_call(*,0)
maybe_call(+probability,+callable)
- zero_or_one
Protected predicatesï
(none)
Private predicatesï
(none)
Operatorsï
(none)
See also