Eris\Random\RandomRange::rand PHP Method

rand() public method

If $lower and $upper are specified, the number will fall into their inclusive range. Otherwise the number from the source will be directly returned.
public rand ( integer | null $lower = null, integer | null $upper = null ) : integer
$lower integer | null
$upper integer | null
return integer
    public function rand($lower = null, $upper = null)
    {
        if ($lower === null && $upper === null) {
            return $this->source->extractNumber();
        }
        $delta = $upper - $lower;
        $divisor = $this->source->max() / ($delta + 1);
        do {
            $retval = (int) floor($this->source->extractNumber() / $divisor);
        } while ($retval > $delta);
        return $retval + $lower;
    }