-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert "Revert "Multi-interval set operators"" #192
Conversation
Codecov Report
@@ Coverage Diff @@
## master #192 +/- ##
==========================================
+ Coverage 81.73% 84.16% +2.43%
==========================================
Files 11 12 +1
Lines 624 840 +216
==========================================
+ Hits 510 707 +197
- Misses 114 133 +19
Continue to review full report at Codecov.
|
Moving my note over: This should also add test cases for treating each interval as an element in a set (represented by an array).
Can you elaborate on this point? |
Also, happy to start making some changes here with proposed fixes. Does that work? Or did you have plans to work on this branch? |
Yeah, the main difference is that the
I was planning on making the minimal changes required to make this non-breaking and then I was gonna ask you and @omus for a review. After all I was the one complaining and reverting things :) |
Can I ask that you cherry-pick the commit from #179 and then apply your changes as a separate commit? Will be much easier to review this by seeing just the differences between that PR and this. |
I'd rather not mess with the history at this point. My plan was to just add an extra commit that you could review independently from all the rest. |
Best of both worlds? @rofinn if you create a separate PR that merges into this one, it would be easy to review the changes, and then we can merge into this branch, and from there to main. ?? Just a suggestion. Can also just review locally and pick the right commits for the diff. |
Can you list out what you changed as part of this PR? I've noticed that the |
1. Made IntervalSet a subtype of AbstractSet - Note about changing internally representation once `union!(Vector{AbstractInterval})` is deprecated 2. Add an extra empty constructor 3. `==` falls back to issetequal 4. Fixed a bug where `union` didn't correctly copy data in the non-concrete case. 5. Updated a bunch of tests to include both the previous (reverted) expectation and the current base fallback behaviour.
Tests, docs and some small fixes to IntervalSets
…lling back to the base `setdiff`.
Co-authored-by: mattBrzezinski <matt.brzezinski@invenia.ca>
Minimal IntervalSet type
History is a bit ugly, but this should be good to go now. |
It's ugly, but necessary. We're reverting #191 which in turn reverted #179.
We just need to address the #179 (comment) from the original PR and double check that no other cases exists (ie: review all new Base method overloads).
NOTE: Something else that we should probably change is the
union
behaviour as our definition ofunion
doesn't really match theBase
definition.