next up previous contents index
Next: Scanning in Prolog Up: Library Utilities Previous: Low-level Trie Manipulation Utilities   Contents   Index

Random Number Generator

The following predicates are provided in module random to generate random numbers (both integers and floating numbers):

random(-Number)
random
Binds Number to a random float in the interval [0.0, 1.0). Note that 1.0 will never be generated.

random(+Lower,+Upper,-Number)
random
Binds Number to a random integer in the interval [Lower,Upper) if Lower and Upper are integers. Otherwise Number is bound to a random float between Lower and Upper. Upper will never be generated.

genrand(?State)
random
Tries to unify State with the term rand(X,Y,Z) where X,Y,and Z are integers describing the state of the random generator.

setrand(rand(+X,+Y,+Z))
random
Sets the state of the random generator. X,Y, and Z must be integers in the ranges [1,30269), [1,30307), [1,30323), respectively.

randseq(+K, +N, -RandomSeq)
random
Generates a sequence of K unique integers chosen randomly in the range from 1 to N. RandomSeq is not returned in any particular order.

randset(+K, +N, -RandomSet)
random
Generates an ordered set of K unique integers chosen randomly in the range from 1 to N. The set is returned in reversed order, with the largest element first and the smallest last.


next up previous contents index
Next: Scanning in Prolog Up: Library Utilities Previous: Low-level Trie Manipulation Utilities   Contents   Index
Luis Fernando P. de Castro 2003-06-27