diff options
author | Tim King <taking@cs.nyu.edu> | 2010-09-13 16:08:21 +0000 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2010-09-13 16:08:21 +0000 |
commit | 0e18d60841c2a7cd5c079b6c0dacf5d61afb4835 (patch) | |
tree | 470e4868ca9576dc20d491afa7462d6e9f1f8c56 /src/expr/node_manager.cpp | |
parent | 8d74ddb6380f39034e5cae5d4b094a283e14ffb3 (diff) |
* New normal form for arithmetic is in place.
* src/theory/arith/normal_form.{h,cpp} contains the description for the new
normal form as well as utilities for dealing with the normal form.
* src/theory/arith/next_arith_rewriter.{h,cpp} contains the new rewriter.
The new rewriter implements preRewrite() and postRewrite() for arithmetic.
* src/theory/arith/arith_rewriter.{h,cpp} have been removed.
* TheoryArith::rewrite() has been removed.
* Arithmetic with the new normal form outperforms the trunk where the branch
occurred (-r797) on 46% of the examples in QF_LRA. (33% have no noticeable
difference.) Some important optimizations are stilling pending to the code
for handling the new normal form. (Bug 196.)
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r-- | src/expr/node_manager.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp index d017ad799..37ed4fe20 100644 --- a/src/expr/node_manager.cpp +++ b/src/expr/node_manager.cpp @@ -235,6 +235,9 @@ TypeNode NodeManager::getType(TNode n, bool check) case kind::APPLY_UF: typeNode = CVC4::theory::uf::UfTypeRule::computeType(this, n, check); break; + case kind::IDENTITY: + typeNode = CVC4::theory::arith::ArithOperatorTypeRule::computeType(this, n, check); + break; case kind::PLUS: typeNode = CVC4::theory::arith::ArithOperatorTypeRule::computeType(this, n, check); break; |