Random Module
Jump to navigation
Jump to search
This XQuery Module contains functions for computing random values. All functions except for random:seeded-double and random:seeded-integer are non-deterministic, i. e., they return different values for each call.
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() as xs:integer 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:seeded-double
Signatures | random:seeded-double($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 . |
random:seeded-integer
Signatures | random:seeded-integer($seed as xs:integer, $num as xs:integer) as xs:integer* random:seeded-integer($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 . |
random:gaussian
Signatures | 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. |
random:uuid
Signatures | random:uuid() as xs:string
|
Summary | Creates a random universally unique identifier (UUID), represented as 128-bit value. |
Examples |
|
Changelog
The module was introduced with Version 7.5. It includes some functionality which was previously located in the Math Module.