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