New Gatherers
- Implement
movingGeometricMean(),movingGeometricMeanBy(),runningGeometricMean(), andrunningGeometricMeanBy(). - Implement
filterNotNull(), which filters out null values from the input stream and is useful for lining up JSpecify annotations (from nullable to non-nullable).
Bug Fixes
- Fix bug in
movingProduct()andmovingProductBy()where zero values were incorrectly handled. Addresses #184.
Behavior Changes
- Change
CrossGatherer,TypeFilteringGatherer, andFlattenSingleOrFailto use Greedy integrators.
Other Changes
- Thank you to @Riggs333 for contributing code cleanups, making comparisons in
FrequencyGatherereasier to understand! - Thank you to @Riggs333 for contributing changes to tests to use AssertJ's type-specific exception assertions, which clarifies the intent of the code!
Using in Maven
<dependency>
<groupId>com.ginsberg</groupId>
<artifactId>gatherers4j</artifactId>
<version>0.14.0</version>
</dependency>Using in Gradle
implementation("com.ginsberg:gatherers4j:0.14.0")