Be warned, the function provided by mr dot joebert at gmail dot com has a serious tendency to return $min more often than anything else, especially when $min and $max are close. It also will never return $max if $min is negative. rok kralj gmail com's implementation does not have this problem, as it operates on the difference between $max and $min instead of $max itself.
lcg_value
(PHP 4, PHP 5)
lcg_value — Generador lineal congruente combinado
Descripción
float lcg_value
( void
)
lcg_value() devuelve un número pseudo-aleatorio en el rango (0, 1). La función combina dos generadores congruentes con periodos de 2^31 - 85 y 2^31 - 249. El periodo de esta función es igual al producto de ambos primos.
Valores retornados
Un valor flotante pseudo-aleatorio en el rango de (0, 1)
lcg_value
jfdsmit at gmail dot com
17-Dec-2007 02:44
17-Dec-2007 02:44
mr dot joebert at gmail dot com
22-Nov-2007 07:20
22-Nov-2007 07:20
<?php
function random_float ($min,$max) {
return max($min, lcg_value() * $max);
}
?>
rok kralj gmail com
05-Jun-2007 03:54
05-Jun-2007 03:54
An elegant way to return random float between two numbers:
<?php
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}
?>
