|
|
@ -166,7 +166,7 @@ namespace storm { |
|
|
|
|
|
|
|
// Upper bound iteration |
|
|
|
singleIterationCallback(upperX, auxVector, overallIterations); |
|
|
|
// At this point,h auxVector contains the old values for the upper bound whereas upperX contains the new ones. |
|
|
|
// At this point, auxVector contains the old values for the upper bound whereas upperX contains the new ones. |
|
|
|
|
|
|
|
// Compare the new upper bound candidate with the old one |
|
|
|
bool newUpperBoundAlwaysHigherEqual = true; |
|
|
@ -176,30 +176,25 @@ namespace storm { |
|
|
|
for (uint64_t i = 0; i < upperX->size() & !cancelOuterScan; ++i) { |
|
|
|
if ((*upperX)[i] < (*auxVector)[i]) { |
|
|
|
newUpperBoundAlwaysHigherEqual = false; |
|
|
|
++i; |
|
|
|
while (i < upperX->size()) { |
|
|
|
for (++i; i < upperX->size(); ++i) { |
|
|
|
if ((*upperX)[i] > (*auxVector)[i]) { |
|
|
|
newUpperBoundAlwaysLowerEqual = false; |
|
|
|
cancelOuterScan = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
++i; |
|
|
|
} |
|
|
|
} else if ((*upperX)[i] != (*auxVector)[i]) { |
|
|
|
newUpperBoundAlwaysLowerEqual = false; |
|
|
|
++i; |
|
|
|
while (i < upperX->size()) { |
|
|
|
for (++i; i < upperX->size(); ++i) { |
|
|
|
if ((*upperX)[i] < (*auxVector)[i]) { |
|
|
|
newUpperBoundAlwaysHigherEqual = false; |
|
|
|
cancelOuterScan = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
++i; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
} else { |
|
|
|
for (uint64_t i = 0; i < upperX->size(); ++i) { |
|
|
|
if ((*upperX)[i] < (*auxVector)[i]) { |
|
|
|
newUpperBoundAlwaysHigherEqual = false; |
|
|
|