search for in the

 Last updated: Fri, 24 May 2013

# 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

 Last updated: Fri, 24 May 2013

User Contributed Notes lcg_value - [3 notes]
rok kralj gmail com
5 years ago
``` An elegant way to return random float between two numbers: <?php function random_float (\$min,\$max) {    return (\$min+lcg_value()*(abs(\$max-\$min))); } ?> ```
daniel dot baulig at gmx dot de
3 years ago
``` 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); }?> ```
-1
jfdsmit at gmail dot com
5 years ago
``` 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. ```