@@ 1925-1941 (lines=17) @@ | ||
1922 | * @param life Number of periods over which the asset is depreciated |
|
1923 | * @return float |
|
1924 | */ |
|
1925 | public static function SLN($cost, $salvage, $life) |
|
1926 | { |
|
1927 | $cost = Functions::flattenSingleValue($cost); |
|
1928 | $salvage = Functions::flattenSingleValue($salvage); |
|
1929 | $life = Functions::flattenSingleValue($life); |
|
1930 | ||
1931 | // Calculate |
|
1932 | if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life))) { |
|
1933 | if ($life < 0) { |
|
1934 | return Functions::NAN(); |
|
1935 | } |
|
1936 | ||
1937 | return ($cost - $salvage) / $life; |
|
1938 | } |
|
1939 | ||
1940 | return Functions::VALUE(); |
|
1941 | } |
|
1942 | ||
1943 | /** |
|
1944 | * SYD |
@@ 2734-2749 (lines=16) @@ | ||
2731 | * @param int $numInSet Number of objects in each permutation |
|
2732 | * @return int Number of permutations |
|
2733 | */ |
|
2734 | public static function PERMUT($numObjs, $numInSet) |
|
2735 | { |
|
2736 | $numObjs = Functions::flattenSingleValue($numObjs); |
|
2737 | $numInSet = Functions::flattenSingleValue($numInSet); |
|
2738 | ||
2739 | if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { |
|
2740 | $numInSet = floor($numInSet); |
|
2741 | if ($numObjs < $numInSet) { |
|
2742 | return Functions::NAN(); |
|
2743 | } |
|
2744 | ||
2745 | return round(MathTrig::FACT($numObjs) / MathTrig::FACT($numObjs - $numInSet)); |
|
2746 | } |
|
2747 | ||
2748 | return Functions::VALUE(); |
|
2749 | } |
|
2750 | ||
2751 | /** |
|
2752 | * POISSON |
|
@@ 3002-3017 (lines=16) @@ | ||
2999 | * @param float $stdDev Standard Deviation |
|
3000 | * @return float Standardized value |
|
3001 | */ |
|
3002 | public static function STANDARDIZE($value, $mean, $stdDev) |
|
3003 | { |
|
3004 | $value = Functions::flattenSingleValue($value); |
|
3005 | $mean = Functions::flattenSingleValue($mean); |
|
3006 | $stdDev = Functions::flattenSingleValue($stdDev); |
|
3007 | ||
3008 | if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { |
|
3009 | if ($stdDev <= 0) { |
|
3010 | return Functions::NAN(); |
|
3011 | } |
|
3012 | ||
3013 | return ($value - $mean) / $stdDev; |
|
3014 | } |
|
3015 | ||
3016 | return Functions::VALUE(); |
|
3017 | } |
|
3018 | ||
3019 | /** |
|
3020 | * STDEV |