Skip to content

Various bug fixes - #36

Open
carl-andersson-at-westermo wants to merge 14 commits into
mainfrom
fix/various
Open

carl-andersson-at-westermo wants to merge 14 commits into
mainfrom
fix/various

Conversation

@carl-andersson-at-westermo

Copy link
Copy Markdown
Collaborator

No description provided.

…eGraph, GraphXExtensions, Measure types

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
RandomLayoutAlgorithm.Compute also tolerates missing sizes and uses an O(1) lookup.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Iterate over snapshots of the hidden vertex/edge lists instead of looping until they are empty, and report whether everything was actually restored.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Look the tag up with TryGetValue instead of lazily creating the collection, which made the subsequent Remove always succeed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
HiddenEdgesOf, HiddenEdgeCountOf and UnhideEdge used GetHiddenEdgeListOf, which inserts an empty list for unknown vertices. They now use TryGetValue so reads don't allocate or mutate.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Size declared an explicit operator Point(Size) while Point already declared an implicit one, making (Point)size ambiguous (CS0457). Removed the redundant explicit operator; both had identical semantics.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Hidden vertices/edges and the per-vertex hidden-edge index were List-backed, making IsHidden*/Unhide* O(n) and hide/unhide-all O(n^2). Self-loops were also indexed twice. Empty per-vertex entries are now dropped on unhide.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
OneWayFSA requires OneWayFSAParameters; previously mismatched parameters were silently replaced with defaults, discarding user-supplied gaps. Add OneWayFSAParameters.From to convert while keeping HorizontalGap/VerticalGap, use it in AlgorithmFactory and GXLogicCore, and let FSA accept any IOverlapRemovalParameters.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
OriginalGraph was null until the first PushFilters call. It now falls back to Graph when no unfiltered copy is held. The unfiltered copy is released after ApplyFilters/PopFilters and on Dispose, and Clear no longer clears the same graph twice.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use HashSet lookups for the vertex sets and only scan out-edges of set members, reducing cost from O(|set1|*|E|*|set2|) to O(sum of out-degrees). Undirected mode no longer returns duplicate edges when the sets overlap. Vertices not present in the graph are now ignored instead of throwing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant