This repository has been archived by the owner on May 13, 2022. It is now read-only.
For CJs: ignore makers with overlapping offer ranges #710
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.
support.py: checkes if makers have overlapping offers and removes them from being considered for joins
This is done efficiently in O(n) by adding up the ranges of a maker's offers.
Example:
Maker has 3 offers:
a) min=1, max=3
b) min=1.5, max=4
c) min=3, max=5
First, the "total" maximum range of that maker is highest_max - lowest_min (in this case: 5-1=4).
Now the single ranges are iteratively added up and checked against the "total" max.
If there is no overlap, then the total max will always be >= the added up ranges of the individual offers.
Currently, about 25% of all makers use overlapping ranges and would be filtered out by this.