Code Duplication    Length = 29-30 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3608-3636 (lines=29) @@
3605
     *
3606
     * @return float
3607
     */
3608
    public static function VARFunc(...$args)
3609
    {
3610
        $returnValue = Functions::DIV0();
3611
3612
        $summerA = $summerB = 0;
3613
3614
        // Loop through arguments
3615
        $aArgs = Functions::flattenArray($args);
3616
        $aCount = 0;
3617
        foreach ($aArgs as $arg) {
3618
            if (is_bool($arg)) {
3619
                $arg = (int) $arg;
3620
            }
3621
            // Is it a numeric value?
3622
            if ((is_numeric($arg)) && (!is_string($arg))) {
3623
                $summerA += ($arg * $arg);
3624
                $summerB += $arg;
3625
                ++$aCount;
3626
            }
3627
        }
3628
3629
        if ($aCount > 1) {
3630
            $summerA *= $aCount;
3631
            $summerB *= $summerB;
3632
            $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1));
3633
        }
3634
3635
        return $returnValue;
3636
    }
3637
3638
    /**
3639
     * VARA.
@@ 3705-3734 (lines=30) @@
3702
     *
3703
     * @return float
3704
     */
3705
    public static function VARP(...$args)
3706
    {
3707
        // Return value
3708
        $returnValue = Functions::DIV0();
3709
3710
        $summerA = $summerB = 0;
3711
3712
        // Loop through arguments
3713
        $aArgs = Functions::flattenArray($args);
3714
        $aCount = 0;
3715
        foreach ($aArgs as $arg) {
3716
            if (is_bool($arg)) {
3717
                $arg = (int) $arg;
3718
            }
3719
            // Is it a numeric value?
3720
            if ((is_numeric($arg)) && (!is_string($arg))) {
3721
                $summerA += ($arg * $arg);
3722
                $summerB += $arg;
3723
                ++$aCount;
3724
            }
3725
        }
3726
3727
        if ($aCount > 0) {
3728
            $summerA *= $aCount;
3729
            $summerB *= $summerB;
3730
            $returnValue = ($summerA - $summerB) / ($aCount * $aCount);
3731
        }
3732
3733
        return $returnValue;
3734
    }
3735
3736
    /**
3737
     * VARPA.