mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Use better assertion messages for RationalNumberType::literalValue
This commit is contained in:
parent
608f36d77b
commit
00b1b96eb4
@ -1276,13 +1276,13 @@ u256 RationalNumberType::literalValue(Literal const*) const
|
||||
else
|
||||
{
|
||||
auto fixed = fixedPointType();
|
||||
solAssert(fixed, "");
|
||||
solAssert(fixed, "Rational number cannot be represented as fixed point type.");
|
||||
int fractionalDigits = fixed->fractionalDigits();
|
||||
shiftedValue = m_value.numerator() * boost::multiprecision::pow(bigint(10), fractionalDigits) / m_value.denominator();
|
||||
}
|
||||
|
||||
// we ignore the literal and hope that the type was correctly determined
|
||||
solAssert(shiftedValue <= u256(-1), "Integer constant too large.");
|
||||
solAssert(shiftedValue <= u256(-1), "Number constant too large.");
|
||||
solAssert(shiftedValue >= -(bigint(1) << 255), "Number constant too small.");
|
||||
|
||||
if (m_value >= rational(0))
|
||||
|
Loading…
Reference in New Issue
Block a user