28 lines
612 B
PHP
28 lines
612 B
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace Brick\Math\Exception;
|
||
|
|
||
|
use Brick\Math\BigInteger;
|
||
|
|
||
|
/**
|
||
|
* Exception thrown when an integer overflow occurs.
|
||
|
*/
|
||
|
class IntegerOverflowException extends MathException
|
||
|
{
|
||
|
/**
|
||
|
* @param BigInteger $value
|
||
|
*
|
||
|
* @return IntegerOverflowException
|
||
|
*
|
||
|
* @psalm-pure
|
||
|
*/
|
||
|
public static function toIntOverflow(BigInteger $value) : IntegerOverflowException
|
||
|
{
|
||
|
$message = '%s is out of range %d to %d and cannot be represented as an integer.';
|
||
|
|
||
|
return new self(\sprintf($message, (string) $value, PHP_INT_MIN, PHP_INT_MAX));
|
||
|
}
|
||
|
}
|