Code Duplication    Length = 36-36 lines in 2 locations

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 3118-3153 (lines=36) @@
3115
     * @param    mixed        $arg,...        Data values
3116
     * @return    float
3117
     */
3118
    public static function STDEVA()
3119
    {
3120
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3121
3122
        $returnValue = null;
3123
3124
        $aMean = self::AVERAGEA($aArgs);
3125
        if (!is_null($aMean)) {
3126
            $aCount = -1;
3127
            foreach ($aArgs as $k => $arg) {
3128
                if ((is_bool($arg)) &&
3129
                    (!Functions::isMatrixValue($k))) {
3130
                } else {
3131
                    // Is it a numeric value?
3132
                    if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3133
                        if (is_bool($arg)) {
3134
                            $arg = (integer) $arg;
3135
                        } elseif (is_string($arg)) {
3136
                            $arg = 0;
3137
                        }
3138
                        if (is_null($returnValue)) {
3139
                            $returnValue = pow(($arg - $aMean), 2);
3140
                        } else {
3141
                            $returnValue += pow(($arg - $aMean), 2);
3142
                        }
3143
                        ++$aCount;
3144
                    }
3145
                }
3146
            }
3147
3148
            if (($aCount > 0) && ($returnValue >= 0)) {
3149
                return sqrt($returnValue / $aCount);
3150
            }
3151
        }
3152
        return Functions::DIV0();
3153
    }
3154
3155
3156
    /**
@@ 3215-3250 (lines=36) @@
3212
     * @param    mixed        $arg,...        Data values
3213
     * @return    float
3214
     */
3215
    public static function STDEVPA()
3216
    {
3217
        $aArgs = Functions::flattenArrayIndexed(func_get_args());
3218
3219
        $returnValue = null;
3220
3221
        $aMean = self::AVERAGEA($aArgs);
3222
        if (!is_null($aMean)) {
3223
            $aCount = 0;
3224
            foreach ($aArgs as $k => $arg) {
3225
                if ((is_bool($arg)) &&
3226
                    (!Functions::isMatrixValue($k))) {
3227
                } else {
3228
                    // Is it a numeric value?
3229
                    if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) {
3230
                        if (is_bool($arg)) {
3231
                            $arg = (integer) $arg;
3232
                        } elseif (is_string($arg)) {
3233
                            $arg = 0;
3234
                        }
3235
                        if (is_null($returnValue)) {
3236
                            $returnValue = pow(($arg - $aMean), 2);
3237
                        } else {
3238
                            $returnValue += pow(($arg - $aMean), 2);
3239
                        }
3240
                        ++$aCount;
3241
                    }
3242
                }
3243
            }
3244
3245
            if (($aCount > 0) && ($returnValue >= 0)) {
3246
                return sqrt($returnValue / $aCount);
3247
            }
3248
        }
3249
        return Functions::DIV0();
3250
    }
3251
3252
3253
    /**