Standard PHP functions like rand
or mt_rand
generate random numbers with normal distribution, however sometimes it
required to generate random numbers with different distribution, for example binomial distribution.
composer require qmegas/php-rand-custom-distribution
PHP >= 7.0
$generator = new \Qmegas\RandomGenerator(50, 150, function(float $i) {
return $i * 100;
});
echo $generator->getNumber();
Class constractor receives 3 arguments: low-high bounds of generated numbers and distribution function. Distribution function receives float argument between 0 and 1 and should return some integer value >= 0, see additional examples for better understanding.