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 — 複合線形合同法
説明
float lcg_value
( void
)
lcg_value() は、(0, 1)の範囲の疑似乱数を返します。 この関数は、周期が 2^31 - 85 および 2^31 - 249 の 2 つの CG を組み合わせます。 この関数の周期はこれら 2 つの素数の積と等価です。
返り値
(0, 1) の範囲の疑似乱数を、浮動小数点数で返します。
lcg_value
jfdsmit at gmail dot com
17-Dec-2007 11:44
17-Dec-2007 11:44
mr dot joebert at gmail dot com
23-Nov-2007 04:20
23-Nov-2007 04:20
<?php
function random_float ($min,$max) {
return max($min, lcg_value() * $max);
}
?>
rok kralj gmail com
06-Jun-2007 12:54
06-Jun-2007 12:54
An elegant way to return random float between two numbers:
<?php
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}
?>