This XQuery Module contains nondeterministic functions for returning random values.
Conventions
All functions in this module are assigned to the http://basex.org/modules/random
namespace, which is statically bound to the random
prefix.
All errors are assigned to the http://basex.org/errors
namespace, which is statically bound to the bxerr
prefix.
Functions
random:double
Signatures

random:double() as xs:double()

Summary

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



random:integer
Signatures

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)



random:seededdouble
Signatures

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

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 .



random:seededinteger
Signatures

random:seededinteger($seed as xs:integer, $num as xs:integer, $max as xs:integer?) as xs:items()*

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 .



random:gaussian
Signatures

random:gaussian($num as xs:integer) as xs:items()*

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.



random:uuid
Signatures

random:uuid() as xs:string

Summary

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

Examples

math:uuid() eq math:uuid() will (most probably) return the boolean value false .

Changelog
The module was introduced with Version X. It includes functionality which was previously located in the Math Module.