Code Duplication    Length = 16-17 lines in 3 locations

src/PhpSpreadsheet/Calculation/Financial.php 1 location

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

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

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