PhpBench\Math\Distribution::__construct PHP Méthode

__construct() public méthode

public __construct ( array $samples, array $stats = [] )
$samples array
$stats array
    public function __construct(array $samples, array $stats = [])
    {
        if (count($samples) < 1) {
            throw new \LogicException('Cannot create a distribution with zero samples.');
        }
        $this->samples = $samples;
        $this->closures = ['min' => function () {
            return min($this->samples);
        }, 'max' => function () {
            return max($this->samples);
        }, 'sum' => function () {
            return array_sum($this->samples);
        }, 'stdev' => function () {
            return Statistics::stdev($this->samples);
        }, 'mean' => function () {
            return Statistics::mean($this->samples);
        }, 'mode' => function () {
            return Statistics::kdeMode($this->samples);
        }, 'variance' => function () {
            return Statistics::variance($this->samples);
        }, 'rstdev' => function () {
            $mean = $this->getMean();
            return $mean ? $this->getStdev() / $mean * 100 : 0;
        }];
        if ($diff = array_diff(array_keys($stats), array_keys($this->closures))) {
            throw new \RuntimeException(sprintf('Unknown pre-computed stat(s) encountered: "%s"', implode('", "', $diff)));
        }
        $this->stats = $stats;
    }