diff options
author | Morgan Deters <mdeters@cs.nyu.edu> | 2013-06-04 18:09:48 -0400 |
---|---|---|
committer | Morgan Deters <mdeters@cs.nyu.edu> | 2013-06-04 19:17:05 -0400 |
commit | 61f8a3151797c884d6f083d1657aec9a76e694de (patch) | |
tree | 96f1301d5d1f73d42168dea1d4e1c2fd0c2c6644 /src/theory/model.cpp | |
parent | 10ab2b6492dc0b725abbb41d4e5aa423252b8a59 (diff) |
Add --no-condense-function-values option for explicit function models (useful in some applications)
Diffstat (limited to 'src/theory/model.cpp')
-rw-r--r-- | src/theory/model.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/theory/model.cpp b/src/theory/model.cpp index 1c511be30..544ee6c85 100644 --- a/src/theory/model.cpp +++ b/src/theory/model.cpp @@ -19,6 +19,7 @@ #include "smt/options.h" #include "smt/smt_engine.h" #include "theory/uf/theory_uf_model.h" +#include "theory/uf/options.h" using namespace std; using namespace CVC4; @@ -851,8 +852,10 @@ void TheoryEngineModelBuilder::processBuildModel(TheoryModel* m, bool fullModel) default_v = (*te); } ufmt.setDefaultValue( m, default_v ); - ufmt.simplify(); - Node val = ufmt.getFunctionValue( "_ufmt_" ); + if(options::condenseFunctionValues()) { + ufmt.simplify(); + } + Node val = ufmt.getFunctionValue( "_ufmt_", options::condenseFunctionValues() ); Trace("model-builder") << " Assigning (" << n << ") to (" << val << ")" << endl; m->d_uf_models[n] = val; //ufmt.debugPrint( std::cout, m ); |