downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

log10> <is_nan
[edit] Last updated: Fri, 25 May 2012

view this page in

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) の範囲の疑似乱数を、浮動小数点数で返します。

参考

  • rand() - 乱数を生成する
  • mt_rand() - よりよい乱数値を生成する



log10> <is_nan
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes lcg_value
daniel dot baulig at gmx dot de 03-Feb-2010 07:16
Choose your weapon:
<?php
function mt_randf($min, $max)
{
    return
$min + abs($max - $min) * mt_rand(0, mt_getrandmax())/mt_getrandmax();
}
function
lcg_randf($min, $max)
{
    return
$min + lcg_value() * abs($max - $min);
}
function
randf($min, $max)
{
    return
$min + rand(0,getrandmax()) / getrandmax() * abs($max - $min);
}
?>
jfdsmit at gmail dot com 17-Dec-2007 06:44
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.
rok kralj gmail com 05-Jun-2007 08:54
An elegant way to return random float between two numbers:

<?php
function random_float ($min,$max) {
   return (
$min+lcg_value()*(abs($max-$min)));
}
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites