1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| | COMMENT(!MOD!zsh/random
Some High-quality randomness parameters and functions.
!MOD!)
The tt(zsh/random) module gets random data from the kernel random pool. If no
kernel random pool can be found, the module will not load.
subsect(Parameters)
startitem()
vindex(SRANDOM)
item(tt(SRANDOM)) (
A random positive 32-bit integer between 0 and 4,294,967,295. This parameter
is read-only.
)
enditem()
subsect(Math Functions)
startitem()
item(tt(zrand_float+LPAR()RPAR())) (
Returns a random floating point number between 0 and 1.
)
enditem()
startitem()
item(tt(zrand_int)+LPAR()tt(upper), tt(lower), tt(inclusive)RPAR()) (
Returns a random integer between tt(lower) and tt(upper). All parameters are
optional. If none are specified it is equivilent to
tt(SRANDOM).
tt(upper) is the upper bound on the resultant number and defaults to
4,294,967,295.
tt(lower) is the lower bound and defaults to 0.
tt(inclusive) is a flag to determine whether the result can ever equal
tt(upper). By default it can not. If this argument is set to a non-zero value
then it can.
This is to facilitate a construct like tt($a[zrand_int($#a)+1]) rather
than tt($a[zrand_int+LPAR()$#a-1+RPAR()+1]).
tt(zrand_int+LPAR()16RPAR()) has 16
possible return values 0-15, in order to use it as an array index which goes
from 1-16 you need to add one. Since it can return zero, you don't want it
to return 16.
Most statistics algorithms seem to also expect 0 to tt(upper)-1, so this was
deemed the most commonly desired case and chosen as the default.
)
enditem()
|