Code Duplication    Length = 37-37 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3495-3531 (lines=37) @@
3492
     * @param    mixed        $arg,...        Data values
3493
     * @return    float
3494
     */
3495
    public static function VARA()
3496
    {
3497
        $returnValue = Functions::DIV0();
3498
3499
        $summerA = $summerB = 0;
3500
3501
        // Loop through arguments
3502
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3503
        $aCount = 0;
3504
        foreach ($aArgs as $k => $arg) {
3505
            if ((is_string($arg)) &&
3506
                (Functions::isValue($k))) {
3507
                return Functions::VALUE();
3508
            } elseif ((is_string($arg)) &&
3509
                (!Functions::isMatrixValue($k))) {
3510
            } else {
3511
                // Is it a numeric value?
3512
                if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3513
                    if (is_bool($arg)) {
3514
                        $arg = (integer) $arg;
3515
                    } elseif (is_string($arg)) {
3516
                        $arg = 0;
3517
                    }
3518
                    $summerA += ($arg * $arg);
3519
                    $summerB += $arg;
3520
                    ++$aCount;
3521
                }
3522
            }
3523
        }
3524
3525
        if ($aCount > 1) {
3526
            $summerA *= $aCount;
3527
            $summerB *= $summerB;
3528
            $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1));
3529
        }
3530
3531
        return $returnValue;
3532
    }
3533
3534
    /**
@@ 3589-3625 (lines=37) @@
3586
     * @param    mixed        $arg,...        Data values
3587
     * @return    float
3588
     */
3589
    public static function VARPA()
3590
    {
3591
        $returnValue = Functions::DIV0();
3592
3593
        $summerA = $summerB = 0;
3594
3595
        // Loop through arguments
3596
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3597
        $aCount = 0;
3598
        foreach ($aArgs as $k => $arg) {
3599
            if ((is_string($arg)) &&
3600
                (Functions::isValue($k))) {
3601
                return Functions::VALUE();
3602
            } elseif ((is_string($arg)) &&
3603
                (!Functions::isMatrixValue($k))) {
3604
            } else {
3605
                // Is it a numeric value?
3606
                if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3607
                    if (is_bool($arg)) {
3608
                        $arg = (integer) $arg;
3609
                    } elseif (is_string($arg)) {
3610
                        $arg = 0;
3611
                    }
3612
                    $summerA += ($arg * $arg);
3613
                    $summerB += $arg;
3614
                    ++$aCount;
3615
                }
3616
            }
3617
        }
3618
3619
        if ($aCount > 0) {
3620
            $summerA *= $aCount;
3621
            $summerB *= $summerB;
3622
            $returnValue = ($summerA - $summerB) / ($aCount * $aCount);
3623
        }
3624
3625
        return $returnValue;
3626
    }
3627
3628
    /**