Code Duplication    Length = 21-24 lines in 2 locations

src/PhpSpreadsheet/Calculation/MathTrig.php 2 locations

@@ 120-140 (lines=21) @@
117
     * @param    float    $significance    The multiple to which you want to round.
118
     * @return    float    Rounded Number
119
     */
120
    public static function CEILING($number, $significance = null)
121
    {
122
        $number = Functions::flattenSingleValue($number);
123
        $significance = Functions::flattenSingleValue($significance);
124
125
        if ((is_null($significance)) &&
126
            (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_GNUMERIC)) {
127
            $significance = $number / abs($number);
128
        }
129
130
        if ((is_numeric($number)) && (is_numeric($significance))) {
131
            if (($number == 0.0) || ($significance == 0.0)) {
132
                return 0.0;
133
            } elseif (self::SIGN($number) == self::SIGN($significance)) {
134
                return ceil($number / $significance) * $significance;
135
            } else {
136
                return Functions::NAN();
137
            }
138
        }
139
140
        return Functions::VALUE();
141
    }
142
143
    /**
@@ 295-318 (lines=24) @@
292
     * @param    float    $significance    Significance
293
     * @return    float    Rounded Number
294
     */
295
    public static function FLOOR($number, $significance = null)
296
    {
297
        $number = Functions::flattenSingleValue($number);
298
        $significance = Functions::flattenSingleValue($significance);
299
300
        if ((is_null($significance)) &&
301
            (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_GNUMERIC)) {
302
            $significance = $number / abs($number);
303
        }
304
305
        if ((is_numeric($number)) && (is_numeric($significance))) {
306
            if ($significance == 0.0) {
307
                return Functions::DIV0();
308
            } elseif ($number == 0.0) {
309
                return 0.0;
310
            } elseif (self::SIGN($number) == self::SIGN($significance)) {
311
                return floor($number / $significance) * $significance;
312
            } else {
313
                return Functions::NAN();
314
            }
315
        }
316
317
        return Functions::VALUE();
318
    }
319
320
    /**
321
     * GCD