Code Duplication    Length = 22-24 lines in 2 locations

src/PhpSpreadsheet/Calculation/MathTrig.php 2 locations

@@ 124-145 (lines=22) @@
121
     *
122
     * @return float Rounded Number
123
     */
124
    public static function CEILING($number, $significance = null)
125
    {
126
        $number = Functions::flattenSingleValue($number);
127
        $significance = Functions::flattenSingleValue($significance);
128
129
        if ((is_null($significance)) &&
130
            (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_GNUMERIC)) {
131
            $significance = $number / abs($number);
132
        }
133
134
        if ((is_numeric($number)) && (is_numeric($significance))) {
135
            if (($number == 0.0) || ($significance == 0.0)) {
136
                return 0.0;
137
            } elseif (self::SIGN($number) == self::SIGN($significance)) {
138
                return ceil($number / $significance) * $significance;
139
            }
140
141
            return Functions::NAN();
142
        }
143
144
        return Functions::VALUE();
145
    }
146
147
    /**
148
     * COMBIN.
@@ 309-332 (lines=24) @@
306
     *
307
     * @return float Rounded Number
308
     */
309
    public static function FLOOR($number, $significance = null)
310
    {
311
        $number = Functions::flattenSingleValue($number);
312
        $significance = Functions::flattenSingleValue($significance);
313
314
        if ((is_null($significance)) &&
315
            (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_GNUMERIC)) {
316
            $significance = $number / abs($number);
317
        }
318
319
        if ((is_numeric($number)) && (is_numeric($significance))) {
320
            if ($significance == 0.0) {
321
                return Functions::DIV0();
322
            } elseif ($number == 0.0) {
323
                return 0.0;
324
            } elseif (self::SIGN($number) == self::SIGN($significance)) {
325
                return floor($number / $significance) * $significance;
326
            }
327
328
            return Functions::NAN();
329
        }
330
331
        return Functions::VALUE();
332
    }
333
334
    /**
335
     * GCD.