Fix bug in BlistList
for two ranges that could lead to wrong results
#3689
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Several results were wrong, and had been wrong since at least GAP 4.4.
E.g. before this commit:
Now we get the correct result
One major issue was the use of unsigned variables to store signed data. Two
variables were only of type
long
instead ofInt
, but on 64bit, this couldlead to further issues.
The logic handling the intersection was broken and overly complicated. The
rewritten logic should be simpler.
Finally, there is a tiny optimization enabled by switching from 1-based
indexing to 0-based.