Node:Random, Next:System Utilities, Previous:Queues, Up:Top

This package provides a random number generator. To load the
package, enter the query

| ?-use_module(library(random)).

This library fully supports multiple SICStus run-times in a process.

`random(`

`-Number`)-
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`)- 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. `randseq(`

`+K`,`+N`,`-RandomSeq`)-
Generates an unordered set of

`K`unique integers, chosen randomly in the range`1..N`.`RandomSeq`is not returned in any particular order. `randset(`

`+K`,`+N`,`-RandomSet`)-
Generates an ordered set of

`K`unique integers, chosen randomly in the range`1..N`. The set is returned in standard order. `getrand(`

`?State`)-
Tries to unify

`State`with the term`rand(`

where`X,Y,Z`)`X`,`Y`, and`Z`are integers describing the state of the random generator. `setrand(rand(`

`+X`,`+Y`,`+Z`))-
Sets the state of the random generator.

`X`,`Y`, and`Z`must be integers in the ranges`[1,30269)`

,`[1,30307)`

, and`[1,30323)`

, respectively.