zsh-workers
 help / color / mirror / code / Atom feed
d2892bf79c86b4518a3746ea394c3c18d334cb28 blob 2026 bytes (raw)

 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
52
53
54
55
56
 
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. The name was chosen for compatibility with Bash and to
distinguish it from tt(RANDOM) which has a documented repeatable behavior.
)
enditem()

subsect(Math Functions)

startitem()
item(tt(zrand_float+LPAR()RPAR())) (
Returns a random floating point number between 0 and 1 inclusive.
)
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 equivalent 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.

The defaults of these two arguments are also the maximum and minimum to which
either can be set.

tt(inclusive) is a flag that controls whether the result is ever equal to
tt(upper).  By default it is not. If this argument is set to a non-zero value
then it may be.

This is to facilitate a construct like tt($a[zrand_int($#a)+1]) rather
than tt($a[zrand_int+LPAR()$#a-1+RPAR()+1]).
For example, if $#a is 16, you would use tt(zrand_int+LPAR()16RPAR()) which has
16 possible return values 0-15.  Because the function can return zero, in order
to use it as an array index from 1-16 you need to add one.  It would
be an array index range error for it to also potentially return 16 ($#a). You
could, however, use the construct tt(zrand_int+LPAR()16,1,1+RPAR()) instead of
adding 1 to achieve the same result, but it is more verbose.

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()
debug log:

solving d2892bf79 ...
found d2892bf79 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).