Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Several results were wrong, and had been wrong since at least GAP 4.4. E.g. before this commit: gap> BlistList([0..3], [-3..-1]); [ true, true, true, false ] Now we get the correct result gap> BlistList([0,1,2,3], [-3..-1]); [ false, false, false, false ] One major issue was the use of unsigned variables to store signed data. Two variables were only of type `long` instead of `Int`, but on 64bit, this could lead 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.
- Loading branch information