This PR refactors avulsions to simplify the codebase. Additionally, a bug in the forbiddenCorners code is fixed, and avulsion routing is changed to stop after encountering a sink cell at any point along the avulsion (#27).
First commit contains refactor: avulsion path finding is handled entirely within propagateAvulsion now, with checkAvulsion searching and flagging avulsions.
First commit also contains bugfix: the corner checking was working, but flagging the incorrect corner as forbidden, this is fixed by reordering the corner index array.
This PR refactors avulsions to simplify the codebase. Additionally, a bug in the
forbiddenCorners
code is fixed, and avulsion routing is changed to stop after encountering asink
cell at any point along the avulsion (#27).First commit contains refactor: avulsion path finding is handled entirely within
propagateAvulsion
now, withcheckAvulsion
searching and flagging avulsions. First commit also contains bugfix: the corner checking was working, but flagging the incorrect corner as forbidden, this is fixed by reordering the corner index array.Second commit implements the sink check.