This page documents library functions related to randomisation.
Random Integer
frandint(sstart,sstop,sseed) Uniformly generate a random integer x such that sstart≤x≤sstop.
Arguments
| Argument | Description | Domain | Constraints | Notes |
|---|
| sstart | lower bound | R | sstart<sstop | |
| sstop | upper bound | R | sstart<sstop | |
| sseed | randomiser seed | R | | |
Return
| Value | Description | Codomain | Constraints | Notes |
|---|
| ω | random integer | Z | sstart≤ω≤sstop | |
Usage
f_{randint}\left(s_{start},\ s_{stop},\ s_{seed}\right)=\operatorname{floor}\left(s_{start}+\operatorname{random}\left(\right)\cdot\left(\left(s_{stop}+1\right)-s_{start}\right)\right)
f_{randint}\left(1,\ 10,\ 0.1\right)
Implementation
frandint(sstartsstopsseed)=floor(sstart+random()⋅((sstop+1)−sstart)) Notes
- sstop<sstart results in unexpected behaviour due to the use of floor() and sstop+1.
Dependencies
None
Random Integer Scalar
frandintscale(sseed) Uniformly pick a random number from {−1,0,1}.
Arguments
| Argument | Description | Domain | Constraints | Notes |
|---|
| sseed | randomiser seed | R | | |
Return
| Value | Description | Codomain | Constraints | Notes |
|---|
| ω | random integer | Z | ω∈{−1,0,1} | |
Usage
f_{randintscale}\left(s_{seed}\right)=\operatorname{floor}\left(3\cdot\operatorname{random}\left(\right)-1\right)
f_{randintscale}\left(e\right)
f_{randintscale}\left(e^{2}\right)
f_{randintscale}\left(e^{3}\right)
Implementation
frandintscale(sseed)=floor(3⋅random()−1) Dependencies
None