summaryrefslogtreecommitdiff
path: root/src/theory/rep_set.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/rep_set.cpp')
-rw-r--r--src/theory/rep_set.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/theory/rep_set.cpp b/src/theory/rep_set.cpp
index d293890bf..55cef5ea7 100644
--- a/src/theory/rep_set.cpp
+++ b/src/theory/rep_set.cpp
@@ -371,8 +371,8 @@ int RepSetIterator::incrementAtIndex(int i)
}
int RepSetIterator::do_reset_increment( int i, bool initial ) {
- bool emptyDomain = false;
for( unsigned ii=(i+1); ii<d_index.size(); ii++ ){
+ bool emptyDomain = false;
int ri_res = resetIndex( ii, initial );
if( ri_res==-1 ){
//failed
@@ -383,16 +383,13 @@ int RepSetIterator::do_reset_increment( int i, bool initial ) {
emptyDomain = true;
}
//force next iteration if currently an empty domain
- if( emptyDomain ){
- d_index[ii] = domainSize(ii)-1;
+ if (emptyDomain)
+ {
+ Trace("rsi-debug") << "This is an empty domain, increment." << std::endl;
+ return increment();
}
}
- if( emptyDomain ){
- Trace("rsi-debug") << "This is an empty domain, increment." << std::endl;
- return increment();
- }else{
- return i;
- }
+ return i;
}
int RepSetIterator::increment(){
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback