summaryrefslogtreecommitdiff
path: root/src/theory/bv/bvintropow2.h
diff options
context:
space:
mode:
authorlianah <lianahady@gmail.com>2014-06-14 23:06:50 -0400
committerlianah <lianahady@gmail.com>2014-06-14 23:06:50 -0400
commit782bfe1b122a34f72c0533d9f189045379eb1d58 (patch)
tree099de5435867ce26654b9c0e44195c7fc8ccb0fc /src/theory/bv/bvintropow2.h
parentaeeb951b0fcc33e03feb6a6300808834a96daff5 (diff)
Evil bitvector preprocessing pass for simplifying powers of two.
Diffstat (limited to 'src/theory/bv/bvintropow2.h')
-rw-r--r--src/theory/bv/bvintropow2.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/theory/bv/bvintropow2.h b/src/theory/bv/bvintropow2.h
new file mode 100644
index 000000000..3844d03e1
--- /dev/null
+++ b/src/theory/bv/bvintropow2.h
@@ -0,0 +1,34 @@
+
+
+#include "cvc4_private.h"
+#include "expr/node.h"
+
+#include <vector>
+#include <ext/hash_map>
+
+#ifndef __CVC4__THEORY__BV__BV_INTRO_POW_H
+#define __CVC4__THEORY__BV__BV_INTRO_POW_H
+
+namespace CVC4 {
+namespace theory {
+namespace bv {
+
+
+class BVIntroducePow2 {
+public:
+ static void pow2Rewrite(std::vector<Node>& assertionsToPreprocess);
+
+private:
+ typedef __gnu_cxx::hash_map<Node, Node, NodeHashFunction> NodeMap;
+ static Node pow2Rewrite(Node assertionsToPreprocess, NodeMap& cache);
+};
+
+
+
+}/* CVC4::theory::bv namespace */
+}/* CVC4::theory namespace */
+
+}/* CVC4 namespace */
+
+
+#endif /* __CVC4__THEORY__BV__BV_INTRO_POW_H */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback