Random Functions
This module contains functions for computing random values. All functions except for random:seededdouble
and random:seededinteger
are nondeterministic, i. e., they return different values for each call.
All functions and errors in this module are assigned to the http://basex.org/modules/random
namespace, which is statically bound to the random
prefix.
Signature  random:double() as xs:double 

Summary  Returns a double value between 0.0 (inclusive) and 1.0 (exclusive). 

Signature  random:integer(
$max as xs:integer := ()
) as xs:integer 

Summary  Returns an integer value, either in the whole integer range or between 0 (inclusive) and the given maximum (exclusive) 

Errors  bounds  The specified maximum value is out of bounds. 


Signature  random:seededdouble(
$seed as xs:integer,
$num as xs:integer
) as xs:double* 

Summary  Returns a sequence with $num double values between 0.0 (inclusive) and 1.0 (exclusive). The random values are created using the initial seed given in $seed . 

Signature  random:seededinteger(
$seed as xs:integer,
$num as xs:integer,
$max as xs:integer := ()
) as xs:integer* 

Summary  Returns a sequence with $num integer values, either in the whole integer range or between 0 (inclusive) and the given maximum (exclusive). The random values are created using the initial seed given in $seed . 

Errors  bounds  The specified maximum value is out of bounds.  negative  The specified number of values to be returned is negative. 


Signature  random:gaussian(
$num as xs:integer
) as xs:double* 

Summary  Returns a sequence with $num double values. The random values are Gaussian (i.e. normally) distributed with the mean 0.0. and the derivation 1.0. 

Signature  random:seededpermutation(
$seed as xs:integer,
$items as item()*
) as item()* 

Summary  Returns a random permutation of the specified $items . The random order is created using the initial seed given in $seed . 

Signature  random:uuid() as xs:string 

Summary  Creates a random universally unique identifier (UUID), represented as 128bit value. 

Examples  random:uuid() eq random:uuid() Can be expected to return the boolean value false . 

Code  Description 

bounds  The specified maximum value is out of bounds. 
negative  The specified number of values to be returned is negative. 
Version 9.0 Updated: error codes updated; errors now use the module namespace
Version 8.5Version 8.0Version 7.5 Added: New module added. It includes some functionality which was previously located in the Math Functions module.
⚡Generated with XQuery