Skip to content

Commit 1102fa1

Browse files
authored
Merge pull request #8539 from diffblue/smt2-rounding-modes
SMT2 parser: add abbreviated versions of the rounding modes
2 parents 6dc6dd5 + 03ac764 commit 1102fa1

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/solvers/smt2/smt2_parser.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -1088,25 +1088,49 @@ void smt2_parsert::setup_expressions()
10881088
return from_integer(ieee_floatt::ROUND_TO_EVEN, unsignedbv_typet(32));
10891089
};
10901090

1091+
expressions["RNE"] = [] {
1092+
// we encode as 32-bit unsignedbv
1093+
return from_integer(ieee_floatt::ROUND_TO_EVEN, unsignedbv_typet(32));
1094+
};
1095+
10911096
expressions["roundNearestTiesToAway"] = [this]() -> exprt {
10921097
throw error("unsupported rounding mode");
10931098
};
10941099

1100+
expressions["RNA"] = [this]() -> exprt {
1101+
throw error("unsupported rounding mode");
1102+
};
1103+
10951104
expressions["roundTowardPositive"] = [] {
10961105
// we encode as 32-bit unsignedbv
10971106
return from_integer(ieee_floatt::ROUND_TO_PLUS_INF, unsignedbv_typet(32));
10981107
};
10991108

1109+
expressions["RTP"] = [] {
1110+
// we encode as 32-bit unsignedbv
1111+
return from_integer(ieee_floatt::ROUND_TO_PLUS_INF, unsignedbv_typet(32));
1112+
};
1113+
11001114
expressions["roundTowardNegative"] = [] {
11011115
// we encode as 32-bit unsignedbv
11021116
return from_integer(ieee_floatt::ROUND_TO_MINUS_INF, unsignedbv_typet(32));
11031117
};
11041118

1119+
expressions["RTN"] = [] {
1120+
// we encode as 32-bit unsignedbv
1121+
return from_integer(ieee_floatt::ROUND_TO_MINUS_INF, unsignedbv_typet(32));
1122+
};
1123+
11051124
expressions["roundTowardZero"] = [] {
11061125
// we encode as 32-bit unsignedbv
11071126
return from_integer(ieee_floatt::ROUND_TO_ZERO, unsignedbv_typet(32));
11081127
};
11091128

1129+
expressions["RTZ"] = [] {
1130+
// we encode as 32-bit unsignedbv
1131+
return from_integer(ieee_floatt::ROUND_TO_ZERO, unsignedbv_typet(32));
1132+
};
1133+
11101134
expressions["lambda"] = [this] { return lambda_expression(); };
11111135
expressions["let"] = [this] { return let_expression(); };
11121136
expressions["exists"] = [this] { return quantifier_expression(ID_exists); };

0 commit comments

Comments
 (0)