@@ 3079-3115 (lines=37) @@ | ||
3076 | * @param mixed $arg,... Data values |
|
3077 | * @return float |
|
3078 | */ |
|
3079 | public static function STDEVA() |
|
3080 | { |
|
3081 | $aArgs = Functions::flattenArrayIndexed(func_get_args()); |
|
3082 | ||
3083 | $returnValue = null; |
|
3084 | ||
3085 | $aMean = self::AVERAGEA($aArgs); |
|
3086 | if (!is_null($aMean)) { |
|
3087 | $aCount = -1; |
|
3088 | foreach ($aArgs as $k => $arg) { |
|
3089 | if ((is_bool($arg)) && |
|
3090 | (!Functions::isMatrixValue($k))) { |
|
3091 | } else { |
|
3092 | // Is it a numeric value? |
|
3093 | if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { |
|
3094 | if (is_bool($arg)) { |
|
3095 | $arg = (integer) $arg; |
|
3096 | } elseif (is_string($arg)) { |
|
3097 | $arg = 0; |
|
3098 | } |
|
3099 | if (is_null($returnValue)) { |
|
3100 | $returnValue = pow(($arg - $aMean), 2); |
|
3101 | } else { |
|
3102 | $returnValue += pow(($arg - $aMean), 2); |
|
3103 | } |
|
3104 | ++$aCount; |
|
3105 | } |
|
3106 | } |
|
3107 | } |
|
3108 | ||
3109 | if (($aCount > 0) && ($returnValue >= 0)) { |
|
3110 | return sqrt($returnValue / $aCount); |
|
3111 | } |
|
3112 | } |
|
3113 | ||
3114 | return Functions::DIV0(); |
|
3115 | } |
|
3116 | ||
3117 | /** |
|
3118 | * STDEVP |
|
@@ 3174-3210 (lines=37) @@ | ||
3171 | * @param mixed $arg,... Data values |
|
3172 | * @return float |
|
3173 | */ |
|
3174 | public static function STDEVPA() |
|
3175 | { |
|
3176 | $aArgs = Functions::flattenArrayIndexed(func_get_args()); |
|
3177 | ||
3178 | $returnValue = null; |
|
3179 | ||
3180 | $aMean = self::AVERAGEA($aArgs); |
|
3181 | if (!is_null($aMean)) { |
|
3182 | $aCount = 0; |
|
3183 | foreach ($aArgs as $k => $arg) { |
|
3184 | if ((is_bool($arg)) && |
|
3185 | (!Functions::isMatrixValue($k))) { |
|
3186 | } else { |
|
3187 | // Is it a numeric value? |
|
3188 | if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { |
|
3189 | if (is_bool($arg)) { |
|
3190 | $arg = (integer) $arg; |
|
3191 | } elseif (is_string($arg)) { |
|
3192 | $arg = 0; |
|
3193 | } |
|
3194 | if (is_null($returnValue)) { |
|
3195 | $returnValue = pow(($arg - $aMean), 2); |
|
3196 | } else { |
|
3197 | $returnValue += pow(($arg - $aMean), 2); |
|
3198 | } |
|
3199 | ++$aCount; |
|
3200 | } |
|
3201 | } |
|
3202 | } |
|
3203 | ||
3204 | if (($aCount > 0) && ($returnValue >= 0)) { |
|
3205 | return sqrt($returnValue / $aCount); |
|
3206 | } |
|
3207 | } |
|
3208 | ||
3209 | return Functions::DIV0(); |
|
3210 | } |
|
3211 | ||
3212 | /** |
|
3213 | * STEYX |