[isoltest] Add support for fixed point types.

This commit is contained in:
Alexander Arlt
2021-08-12 21:27:51 +02:00
committed by chriseth
parent fe0d027d45
commit d6b9b4175b
9 changed files with 175 additions and 21 deletions
+12 -6
View File
@@ -407,11 +407,17 @@ Parameter TestFileParser::parseParameter()
if (isSigned)
parsed = "-" + parsed;
parameter.rawBytes = BytesUtils::applyAlign(
parameter.alignment,
parameter.abiType,
BytesUtils::convertNumber(parsed)
);
if (parsed.find('.') == string::npos)
parameter.rawBytes = BytesUtils::applyAlign(
parameter.alignment,
parameter.abiType,
BytesUtils::convertNumber(parsed)
);
else
{
parameter.abiType.type = isSigned ? ABIType::SignedFixedPoint : ABIType::UnsignedFixedPoint;
parameter.rawBytes = BytesUtils::convertFixedPoint(parsed, parameter.abiType.fractionalDigits);
}
}
else if (accept(Token::Failure, true))
{
@@ -667,7 +673,7 @@ string TestFileParser::Scanner::scanDecimalNumber()
{
string number;
number += current();
while (langutil::isDecimalDigit(peek()))
while (langutil::isDecimalDigit(peek()) || '.' == peek())
{
advance();
number += current();