PHP 8.0.0 Beta 4 available for testing

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normalGenerates a single random deviate from a normal distribution

Descrição

stats_rand_gen_normal ( float $av , float $sd ) : float

Returns a random deviate from the normal distribution with mean, av, and standard deviation, sd.

Parâmetros

av

The mean of the normal distribution

sd

The standard deviation of the normal distribution

Valor Retornado

A random deviate

add a note add a note

User Contributed Notes 1 note

up
0
KEINOS
3 months ago
Alternative of "stats_rand_gen_normal()".

<?php
/**
* "Box–Muller transform" based random deviate generator.
*
* @ref https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform
*
* @param  float|int $av Average/Mean
* @param  float|int $sd Standard deviation
* @return float
*/
if (! function_exists('stats_rand_gen_normal')) {
    function
stats_rand_gen_normal($av, $sd): float
   
{
       
$x = mt_rand() / mt_getrandmax();
       
$y = mt_rand() / mt_getrandmax();
   
        return
sqrt(-2 * log($x)) * cos(2 * pi() * $y) * $sd + $av;
    }
}
?>
To Top