Code Duplication    Length = 16-17 lines in 3 locations

src/PhpSpreadsheet/Calculation/Financial.php 1 location

@@ 2029-2045 (lines=17) @@
2026
     *
2027
     * @return float
2028
     */
2029
    public static function SLN($cost, $salvage, $life)
2030
    {
2031
        $cost = Functions::flattenSingleValue($cost);
2032
        $salvage = Functions::flattenSingleValue($salvage);
2033
        $life = Functions::flattenSingleValue($life);
2034
2035
        // Calculate
2036
        if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life))) {
2037
            if ($life < 0) {
2038
                return Functions::NAN();
2039
            }
2040
2041
            return ($cost - $salvage) / $life;
2042
        }
2043
2044
        return Functions::VALUE();
2045
    }
2046
2047
    /**
2048
     * SYD.

src/PhpSpreadsheet/Calculation/Statistical.php 2 locations

@@ 2661-2676 (lines=16) @@
2658
     *
2659
     * @return int Number of permutations
2660
     */
2661
    public static function PERMUT($numObjs, $numInSet)
2662
    {
2663
        $numObjs = Functions::flattenSingleValue($numObjs);
2664
        $numInSet = Functions::flattenSingleValue($numInSet);
2665
2666
        if ((is_numeric($numObjs)) && (is_numeric($numInSet))) {
2667
            $numInSet = floor($numInSet);
2668
            if ($numObjs < $numInSet) {
2669
                return Functions::NAN();
2670
            }
2671
2672
            return round(MathTrig::FACT($numObjs) / MathTrig::FACT($numObjs - $numInSet));
2673
        }
2674
2675
        return Functions::VALUE();
2676
    }
2677
2678
    /**
2679
     * POISSON.
@@ 2946-2961 (lines=16) @@
2943
     *
2944
     * @return float Standardized value
2945
     */
2946
    public static function STANDARDIZE($value, $mean, $stdDev)
2947
    {
2948
        $value = Functions::flattenSingleValue($value);
2949
        $mean = Functions::flattenSingleValue($mean);
2950
        $stdDev = Functions::flattenSingleValue($stdDev);
2951
2952
        if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) {
2953
            if ($stdDev <= 0) {
2954
                return Functions::NAN();
2955
            }
2956
2957
            return ($value - $mean) / $stdDev;
2958
        }
2959
2960
        return Functions::VALUE();
2961
    }
2962
2963
    /**
2964
     * STDEV.