@@ 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. |