Code Duplication    Length = 12-16 lines in 2 locations

DecimalInfinite.php 1 location

@@ 258-273 (lines=16) @@
255
     *
256
     * @return \Cubiche\Domain\System\DecimalInfinite
257
     */
258
    protected function powSpecialCases(Number $x)
259
    {
260
        if ($x->isPositive()) {
261
            if ($this->isPositive()) {
262
                return $this;
263
            }
264
265
            if ($x->isInfinite()) {
266
                throw new \DomainException('The pow operation is not defined between "-INF" and "INF"');
267
            }
268
        } elseif ($x->isNegative()) {
269
            return Decimal::fromNative(0);
270
        }
271
272
        return;
273
    }
274
275
    /**
276
     * {@inheritdoc}

Number.php 1 location

@@ 214-225 (lines=12) @@
211
     *
212
     * @return static|null
213
     */
214
    protected function divSpecialCases(Number $x)
215
    {
216
        if ($x->isZero()) {
217
            throw new \DomainException('Division by zero is not allowed.');
218
        }
219
220
        if (($this->isZero() || $x->isInfinite()) && !$this->isInfinite()) {
221
            return static::fromNative(0);
222
        }
223
224
        return;
225
    }
226
227
    /**
228
     * @param \Cubiche\Domain\System\Integer $x