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)cdotleft(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(3cdotoperatorname{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