Code Duplication    Length = 37-37 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3535-3571 (lines=37) @@
3532
     * @param    mixed        $arg,...        Data values
3533
     * @return    float
3534
     */
3535
    public static function VARA()
3536
    {
3537
        $returnValue = Functions::DIV0();
3538
3539
        $summerA = $summerB = 0;
3540
3541
        // Loop through arguments
3542
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3543
        $aCount = 0;
3544
        foreach ($aArgs as $k => $arg) {
3545
            if ((is_string($arg)) &&
3546
                (Functions::isValue($k))) {
3547
                return Functions::VALUE();
3548
            } elseif ((is_string($arg)) &&
3549
                (!Functions::isMatrixValue($k))) {
3550
            } else {
3551
                // Is it a numeric value?
3552
                if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3553
                    if (is_bool($arg)) {
3554
                        $arg = (integer) $arg;
3555
                    } elseif (is_string($arg)) {
3556
                        $arg = 0;
3557
                    }
3558
                    $summerA += ($arg * $arg);
3559
                    $summerB += $arg;
3560
                    ++$aCount;
3561
                }
3562
            }
3563
        }
3564
3565
        if ($aCount > 1) {
3566
            $summerA *= $aCount;
3567
            $summerB *= $summerB;
3568
            $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1));
3569
        }
3570
        return $returnValue;
3571
    }
3572
3573
3574
    /**
@@ 3631-3667 (lines=37) @@
3628
     * @param    mixed        $arg,...        Data values
3629
     * @return    float
3630
     */
3631
    public static function VARPA()
3632
    {
3633
        $returnValue = Functions::DIV0();
3634
3635
        $summerA = $summerB = 0;
3636
3637
        // Loop through arguments
3638
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3639
        $aCount = 0;
3640
        foreach ($aArgs as $k => $arg) {
3641
            if ((is_string($arg)) &&
3642
                (Functions::isValue($k))) {
3643
                return Functions::VALUE();
3644
            } elseif ((is_string($arg)) &&
3645
                (!Functions::isMatrixValue($k))) {
3646
            } else {
3647
                // Is it a numeric value?
3648
                if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3649
                    if (is_bool($arg)) {
3650
                        $arg = (integer) $arg;
3651
                    } elseif (is_string($arg)) {
3652
                        $arg = 0;
3653
                    }
3654
                    $summerA += ($arg * $arg);
3655
                    $summerB += $arg;
3656
                    ++$aCount;
3657
                }
3658
            }
3659
        }
3660
3661
        if ($aCount > 0) {
3662
            $summerA *= $aCount;
3663
            $summerB *= $summerB;
3664
            $returnValue = ($summerA - $summerB) / ($aCount * $aCount);
3665
        }
3666
        return $returnValue;
3667
    }
3668
3669
3670
    /**