summaryrefslogtreecommitdiff
path: root/src/preprocessing/passes/bv_gauss.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/preprocessing/passes/bv_gauss.h')
-rw-r--r--src/preprocessing/passes/bv_gauss.h27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/preprocessing/passes/bv_gauss.h b/src/preprocessing/passes/bv_gauss.h
index 8fafcb741..0078770fb 100644
--- a/src/preprocessing/passes/bv_gauss.h
+++ b/src/preprocessing/passes/bv_gauss.h
@@ -93,14 +93,29 @@ class BVGauss : public PreprocessingPass
NONE
};
- static Result gaussElim(Integer prime,
- std::vector<Integer>& rhs,
- std::vector<std::vector<Integer>>& lhs);
+ Result gaussElim(Integer prime,
+ std::vector<Integer>& rhs,
+ std::vector<std::vector<Integer>>& lhs);
- static Result gaussElimRewriteForUrem(const std::vector<Node>& equations,
- std::unordered_map<Node, Node>& res);
+ Result gaussElimRewriteForUrem(const std::vector<Node>& equations,
+ std::unordered_map<Node, Node>& res);
- static unsigned getMinBwExpr(Node expr);
+ uint32_t getMinBwExpr(Node expr);
+
+ /**
+ * Return true if given node is a bit-vector value (after rewriting).
+ */
+ bool is_bv_const(Node n);
+ /**
+ * Return the bit-vector value resulting from rewriting node 'n'.
+ * Asserts that given node can be rewritten to a bit-vector value.
+ */
+ Node get_bv_const(Node n);
+ /**
+ * Return the Integer value representing the given bit-vector value.
+ * Asserts that given node can be rewritten to a bit-vector value.
+ */
+ Integer get_bv_const_value(Node n);
};
} // namespace passes
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback