Code Duplication    Length = 37-37 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3223-3259 (lines=37) @@
3220
     *
3221
     * @return    float
3222
     */
3223
    public static function STDEVA()
3224
    {
3225
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3226
3227
        $returnValue = null;
3228
3229
        $aMean = self::AVERAGEA($aArgs);
3230
        if (!is_null($aMean)) {
3231
            $aCount = -1;
3232
            foreach ($aArgs as $k => $arg) {
3233
                if ((is_bool($arg)) &&
3234
                    (!Functions::isMatrixValue($k))) {
3235
                } else {
3236
                    // Is it a numeric value?
3237
                    if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3238
                        if (is_bool($arg)) {
3239
                            $arg = (int) $arg;
3240
                        } elseif (is_string($arg)) {
3241
                            $arg = 0;
3242
                        }
3243
                        if (is_null($returnValue)) {
3244
                            $returnValue = pow(($arg - $aMean), 2);
3245
                        } else {
3246
                            $returnValue += pow(($arg - $aMean), 2);
3247
                        }
3248
                        ++$aCount;
3249
                    }
3250
                }
3251
            }
3252
3253
            if (($aCount > 0) && ($returnValue >= 0)) {
3254
                return sqrt($returnValue / $aCount);
3255
            }
3256
        }
3257
3258
        return Functions::DIV0();
3259
    }
3260
3261
    /**
3262
     * STDEVP.
@@ 3322-3358 (lines=37) @@
3319
     *
3320
     * @return    float
3321
     */
3322
    public static function STDEVPA()
3323
    {
3324
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3325
3326
        $returnValue = null;
3327
3328
        $aMean = self::AVERAGEA($aArgs);
3329
        if (!is_null($aMean)) {
3330
            $aCount = 0;
3331
            foreach ($aArgs as $k => $arg) {
3332
                if ((is_bool($arg)) &&
3333
                    (!Functions::isMatrixValue($k))) {
3334
                } else {
3335
                    // Is it a numeric value?
3336
                    if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3337
                        if (is_bool($arg)) {
3338
                            $arg = (int) $arg;
3339
                        } elseif (is_string($arg)) {
3340
                            $arg = 0;
3341
                        }
3342
                        if (is_null($returnValue)) {
3343
                            $returnValue = pow(($arg - $aMean), 2);
3344
                        } else {
3345
                            $returnValue += pow(($arg - $aMean), 2);
3346
                        }
3347
                        ++$aCount;
3348
                    }
3349
                }
3350
            }
3351
3352
            if (($aCount > 0) && ($returnValue >= 0)) {
3353
                return sqrt($returnValue / $aCount);
3354
            }
3355
        }
3356
3357
        return Functions::DIV0();
3358
    }
3359
3360
    /**
3361
     * STEYX.