Code Duplication    Length = 29-30 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3450-3478 (lines=29) @@
3447
     * @param    mixed        $arg,...        Data values
3448
     * @return    float
3449
     */
3450
    public static function VARFunc()
3451
    {
3452
        $returnValue = Functions::DIV0();
3453
3454
        $summerA = $summerB = 0;
3455
3456
        // Loop through arguments
3457
        $aArgs = Functions::flattenArray(func_get_args());
3458
        $aCount = 0;
3459
        foreach ($aArgs as $arg) {
3460
            if (is_bool($arg)) {
3461
                $arg = (integer) $arg;
3462
            }
3463
            // Is it a numeric value?
3464
            if ((is_numeric($arg)) && (!is_string($arg))) {
3465
                $summerA += ($arg * $arg);
3466
                $summerB += $arg;
3467
                ++$aCount;
3468
            }
3469
        }
3470
3471
        if ($aCount > 1) {
3472
            $summerA *= $aCount;
3473
            $summerB *= $summerB;
3474
            $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1));
3475
        }
3476
3477
        return $returnValue;
3478
    }
3479
3480
    /**
3481
     * VARA
@@ 3543-3572 (lines=30) @@
3540
     * @param    mixed        $arg,...        Data values
3541
     * @return    float
3542
     */
3543
    public static function VARP()
3544
    {
3545
        // Return value
3546
        $returnValue = Functions::DIV0();
3547
3548
        $summerA = $summerB = 0;
3549
3550
        // Loop through arguments
3551
        $aArgs = Functions::flattenArray(func_get_args());
3552
        $aCount = 0;
3553
        foreach ($aArgs as $arg) {
3554
            if (is_bool($arg)) {
3555
                $arg = (integer) $arg;
3556
            }
3557
            // Is it a numeric value?
3558
            if ((is_numeric($arg)) && (!is_string($arg))) {
3559
                $summerA += ($arg * $arg);
3560
                $summerB += $arg;
3561
                ++$aCount;
3562
            }
3563
        }
3564
3565
        if ($aCount > 0) {
3566
            $summerA *= $aCount;
3567
            $summerB *= $summerB;
3568
            $returnValue = ($summerA - $summerB) / ($aCount * $aCount);
3569
        }
3570
3571
        return $returnValue;
3572
    }
3573
3574
    /**
3575
     * VARPA