Code Duplication    Length = 38-38 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3656-3693 (lines=38) @@
3653
     *
3654
     * @return    float
3655
     */
3656
    public static function VARA()
3657
    {
3658
        $returnValue = Functions::DIV0();
3659
3660
        $summerA = $summerB = 0;
3661
3662
        // Loop through arguments
3663
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3664
        $aCount = 0;
3665
        foreach ($aArgs as $k => $arg) {
3666
            if ((is_string($arg)) &&
3667
                (Functions::isValue($k))) {
3668
                return Functions::VALUE();
3669
            } elseif ((is_string($arg)) &&
3670
                (!Functions::isMatrixValue($k))) {
3671
            } else {
3672
                // Is it a numeric value?
3673
                if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3674
                    if (is_bool($arg)) {
3675
                        $arg = (int) $arg;
3676
                    } elseif (is_string($arg)) {
3677
                        $arg = 0;
3678
                    }
3679
                    $summerA += ($arg * $arg);
3680
                    $summerB += $arg;
3681
                    ++$aCount;
3682
                }
3683
            }
3684
        }
3685
3686
        if ($aCount > 1) {
3687
            $summerA *= $aCount;
3688
            $summerB *= $summerB;
3689
            $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1));
3690
        }
3691
3692
        return $returnValue;
3693
    }
3694
3695
    /**
3696
     * VARP.
@@ 3754-3791 (lines=38) @@
3751
     *
3752
     * @return    float
3753
     */
3754
    public static function VARPA()
3755
    {
3756
        $returnValue = Functions::DIV0();
3757
3758
        $summerA = $summerB = 0;
3759
3760
        // Loop through arguments
3761
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3762
        $aCount = 0;
3763
        foreach ($aArgs as $k => $arg) {
3764
            if ((is_string($arg)) &&
3765
                (Functions::isValue($k))) {
3766
                return Functions::VALUE();
3767
            } elseif ((is_string($arg)) &&
3768
                (!Functions::isMatrixValue($k))) {
3769
            } else {
3770
                // Is it a numeric value?
3771
                if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3772
                    if (is_bool($arg)) {
3773
                        $arg = (int) $arg;
3774
                    } elseif (is_string($arg)) {
3775
                        $arg = 0;
3776
                    }
3777
                    $summerA += ($arg * $arg);
3778
                    $summerB += $arg;
3779
                    ++$aCount;
3780
                }
3781
            }
3782
        }
3783
3784
        if ($aCount > 0) {
3785
            $summerA *= $aCount;
3786
            $summerB *= $summerB;
3787
            $returnValue = ($summerA - $summerB) / ($aCount * $aCount);
3788
        }
3789
3790
        return $returnValue;
3791
    }
3792
3793
    /**
3794
     * WEIBULL.