~jespoke/verifypn/relevant-inhib-fix

Viewing all changes in revision 253.

  • Committer: jespoke
  • Date: 2021-10-12 09:47:14 UTC
  • Revision ID: jespoke@hotmail.com-20211012094714-gk7qtzkjfxidu6e2
In Reducer.cpp, function 'relevant', block for dealing with inhibitor arcs.

Removed the condition in the loop iterating it2 that would break the loop when arc it2 is an inhibitor. This is to ensure the loop breaks on exactly the arc from place, which we know to exist at that point.
Inserted a condition to continue if that found arc is an inhibitor, as that means it cannot consume tokens.
Inserted a condition to continue if a decreasing loop is unable to lower the marking of place far enough to disable the inhibitor under evaluation.
On the same line, flipped the <= to >= in the existing condition, as the continue should happen on non-decreasing loops, not non-increasing ones.

Also included a test model which is affected by this change.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: