CakeFest 2017 NYC, the Official CakePHP Conference

# lcg_value

(PHP 4, PHP 5)

lcg_valueCombined linear congruential generator

### Description

float lcg_value ( void )

lcg_value() returns a pseudo random number in the range of (0, 1). The function combines two CGs with periods of 2^31 - 85 and 2^31 - 249. The period of this function is equal to the product of both primes.

### Return Values

A pseudo random float value in the range of (0, 1)

• rand() - Generate a random integer
• mt_rand() - Generate a better random value

``` An elegant way to return random float between two numbers:<?phpfunction random_float (\$min,\$max) {   return (\$min+lcg_value()*(abs(\$max-\$min)));}?> ```
``` Choose your weapon:<?phpfunction 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);}?> ```
``` I think best example...<?php\$x=0;while(\$x<=5){\$x++;echo lcg_value()+\$x."\n";   }     echo lcg_value()+\$x-(2*lcg_value()); echo "\n";?> ```