PropagatingEitherWayPrivate: count failures in both directions

This commit is contained in:
Robert Haschke 2018-02-16 15:13:42 +01:00
parent 2ea463fff4
commit 1f4264c8c8

View File

@ -308,17 +308,17 @@ bool PropagatingEitherWayPrivate::compute()
const InterfaceState& state = fetchStartState(); const InterfaceState& state = fetchStartState();
// enforce property initialization from INTERFACE // enforce property initialization from INTERFACE
properties_.performInitFrom(Stage::INTERFACE, state.properties(), true); properties_.performInitFrom(Stage::INTERFACE, state.properties(), true);
if (me->computeForward(state)) if (countFailures(me->computeForward(state)))
result |= true; result |= true;
} }
if ((dir & PropagatingEitherWay::BACKWARD) && hasEndState()) { if ((dir & PropagatingEitherWay::BACKWARD) && hasEndState()) {
const InterfaceState& state = fetchEndState(); const InterfaceState& state = fetchEndState();
// enforce property initialization from INTERFACE // enforce property initialization from INTERFACE
properties_.performInitFrom(Stage::INTERFACE, state.properties(), true); properties_.performInitFrom(Stage::INTERFACE, state.properties(), true);
if (me->computeBackward(state)) if (countFailures(me->computeBackward(state)))
result |= true; result |= true;
} }
return countFailures(result); return result;
} }