Generates a random number.
(rand a)
is equivalent to (rand 0 a)
.
(rand a b)
generates a random number between a
and b
:

If both arguments are integers, then
a
is an inclusive bound andb
is an exclusive bound, and the result will be an integer. 
If either argument is a float, then both bounds are inclusive and the result will be a float.
There is no requirement for b
to be greater than a
. For example, (rand 3)
may
return 0
, 1
or 2
; and (rand 5 3)
may return 5
or 4
.
The builtin random number generator uses a simple linearcongruential algorithm. It may not be appropriate when highquality randomness is required.