Code Duplication    Length = 22-24 lines in 2 locations

src/PhpSpreadsheet/Calculation/MathTrig.php 2 locations

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