Skip to content
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

Implement geedy integrators #59

Merged
merged 1 commit into from
Nov 23, 2024
Merged

Conversation

tginsberg
Copy link
Owner

  • Greedy integrators can be used anywhere the integrator does not itself initiate a short circuit (returns false). Passing along the downstream rejecting flag is allowed for greedy integrators.

+ Greedy integrators can be used anywhere the integrator does not itself initiate a short circuit (returns false). Passing along the downstream rejecting flag is allowed for greedy integrators.
Copy link

Overall Project 98.46% -0.16% 🍏
Files changed 97.2% 🍏

File Coverage
ZipWithGatherer.java 100% 🍏
IndexingGatherer.java 100% 🍏
ThrottlingGatherer.java 99.4% 🍏
ShufflingGatherer.java 98.67% -1.33% 🍏
BigDecimalGatherer.java 98.57% 🍏
LastGatherer.java 98.53% -1.47% 🍏
DropLastGatherer.java 98.44% 🍏
DedupeConsecutiveGatherer.java 98.25% 🍏
ReversingGatherer.java 98.04% -1.96% 🍏
DistinctGatherer.java 97.67% 🍏
FilteringWithIndexGatherer.java 97.62% 🍏
ZipWithNextGatherer.java 97.14% 🍏
MinMaxGatherer.java 95.35% 🍏

@tginsberg tginsberg merged commit d9af1e5 into relese/0.7.0 Nov 23, 2024
2 checks passed
@tginsberg tginsberg deleted the feature/greed-is-good branch November 23, 2024 16:17
tginsberg added a commit that referenced this pull request Jan 6, 2025
* Branch for v0.7.0

* JavaDoc fixes (#58)

* Fix #57: Use greedy integrators where possible (#59)

+ Greedy integrators can be used anywhere the integrator does not itself initiate a short circuit (returns false). Passing along the downstream rejecting flag is allowed for greedy integrators.

* Implement JSpecify nullability annotations (#60)

+ Implement JSpecify nullability annotations
+ Add ErrorProne and NullAway to build for compile-time checks
+ Add more tests to `MinMaxGatherer` as highlighted by coverage report

* Make nullable lists more sane, update JEP reference (#61)

* Implement ordering by frequency (#62)

* Implement movingSum, movingSumBy, movingProduct, and movingProductBy (#63)

* Misc Cleanups (#66)

+ Nullability annotations in Gatherers4j.java
+ Minimum windowSize is 1 in a lot of places, not zero.
+ Add constructor to GroupingByGatherer and handle null mapping function to make nullability checks happier
+ Parameterize tests where multiple independent assertions were taking place

* #64 - Change order of arguments so functions are last (#67)

+ More Kotlin friendly, if people end up using this from Kotlin instead of extension functions on Stream
+ More consistent, easier for me to remember the order

* Remove min/max (#68)

* Broader support for stream sizes (#69)

+ Rename `exactSize(n)` to `sizeExactly(n)`
+ Add `sizeGreaterThan(n)`
+ Add `sizeGreaterThanOrEqualTo(n)`
+ Add `sizeLessThan(n)`
+ Add `sizeLessThanOrEqualTo(n)`

* Misc fixes (#70)

* Use default implementation of checkFinalLength when tryAccept will fail-fast.

* Eliminate warning

* Release v0.7.0
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