diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-04-09 12:43:37 +0200 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-04-09 12:43:37 +0200 |
commit | 7443276e61db276e5ba48d605cb6b08a35c5a100 (patch) | |
tree | 6229f2d75a6f58c09fa185771b696af728d58e42 /src/theory/quantifiers_engine.cpp | |
parent | a5726277ce0388f07edcdaef573c0de2e88f37e7 (diff) |
Fix performance issue with variable triggers + instantiation restrictions.
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r-- | src/theory/quantifiers_engine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp index ba75af873..8dec3898c 100644 --- a/src/theory/quantifiers_engine.cpp +++ b/src/theory/quantifiers_engine.cpp @@ -991,8 +991,14 @@ eq::EqualityEngine* QuantifiersEngine::getMasterEqualityEngine(){ void QuantifiersEngine::debugPrintEqualityEngine( const char * c ) { eq::EqualityEngine* ee = getMasterEqualityEngine(); eq::EqClassesIterator eqcs_i = eq::EqClassesIterator( ee ); + std::map< TypeNode, int > typ_num; while( !eqcs_i.isFinished() ){ TNode r = (*eqcs_i); + TypeNode tr = r.getType(); + if( typ_num.find( tr )==typ_num.end() ){ + typ_num[tr] = 0; + } + typ_num[tr]++; bool firstTime = true; Trace(c) << " " << r; Trace(c) << " : { "; @@ -1013,6 +1019,9 @@ void QuantifiersEngine::debugPrintEqualityEngine( const char * c ) { ++eqcs_i; } Trace(c) << std::endl; + for( std::map< TypeNode, int >::iterator it = typ_num.begin(); it != typ_num.end(); ++it ){ + Trace(c) << "# eqc for " << it->first << " : " << it->second << std::endl; + } } void EqualityQueryQuantifiersEngine::reset(){ |