summaryrefslogtreecommitdiff
path: root/src/theory/fp/theory_fp.cpp
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2021-05-26 07:30:17 -0700
committerGitHub <noreply@github.com>2021-05-26 14:30:17 +0000
commita24d6c8cf774f971a3eff62f73b2558b01b04440 (patch)
tree5c8f1054bd8da3b56eb501409a205081294eee06 /src/theory/fp/theory_fp.cpp
parent7440f0568b99842d87cb1f86eec21aed9f46b92a (diff)
More precise includes of `Node` constants (#6617)
We store constants, e.g., BitVector and Rational, in our node infrastructure. As a result, we were indirectly including some headers in almost all files, e.g., the GMP headers. This commit changes that by forward-declaring the classes for the constants. As a result, we have to include headers like util/rational.h explicitly when we use Rational but it saves about 3 minutes in compile time (CPU time). The commit changes RoundingMode from an enum to an enum class such that it can be forward declared.
Diffstat (limited to 'src/theory/fp/theory_fp.cpp')
-rw-r--r--src/theory/fp/theory_fp.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/theory/fp/theory_fp.cpp b/src/theory/fp/theory_fp.cpp
index ecb8ba2b4..a48f62c6d 100644
--- a/src/theory/fp/theory_fp.cpp
+++ b/src/theory/fp/theory_fp.cpp
@@ -29,6 +29,7 @@
#include "theory/output_channel.h"
#include "theory/rewriter.h"
#include "theory/theory_model.h"
+#include "util/floatingpoint.h"
using namespace std;
@@ -362,7 +363,7 @@ bool TheoryFp::refineAbstraction(TheoryModel *m, TNode abstract, TNode concrete)
nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete[0].getType().getConst<FloatingPointSize>())),
- nm->mkConst(ROUND_TOWARD_POSITIVE),
+ nm->mkConst(RoundingMode::ROUND_TOWARD_POSITIVE),
abstractValue));
Node bg = nm->mkNode(
@@ -379,7 +380,7 @@ bool TheoryFp::refineAbstraction(TheoryModel *m, TNode abstract, TNode concrete)
nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete[0].getType().getConst<FloatingPointSize>())),
- nm->mkConst(ROUND_TOWARD_NEGATIVE),
+ nm->mkConst(RoundingMode::ROUND_TOWARD_NEGATIVE),
abstractValue));
Node bl = nm->mkNode(
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback