Releases: cicirello/rho-mu
Releases · cicirello/rho-mu
rho-mu, v4.2.0
[4.2.0] - 2024-08-16
Changed
- Refactored nextIntTriple to simplify logic, based on suggestion from anonymous reviewer of journal article submission. No impact on performance of array version of method, but code easier to read. Version that returns a record a few nanoseconds faster per call as well as easier to read.
rho-mu, v4.1.0
[4.1.0] - 2024-06-08
Changed
- Improved Gaussian random number generation from ThreadLocalRandom in methods of RandomVariates class (internal change).
- Improved Gaussian random number generation in static methods of RandomVariates to choose between internal implementation of original ziggurat algorithm (for Java legacy random number generators Random and SecureRandom) or the Java API implementation of the modified ziggurat for all others (internal change).
- Improved Gaussian random number generation in EnhancedRandomGenerator class to choose between internal implementation of original ziggurat algorithm (for Java legacy random number generator Random) or the Java API implementation of the modified ziggurat for all others (internal change).
Fixed
- Added missing overrides in EnhancedSplittableRandom of the rngs and erngs methods.
- Added missing overrides in EnhancedJumpableRandom of the rngs and erngs methods.
rho-mu, v4.0.0
[4.0.0] - 2024-05-14
Added
- IndexPair record class for use in methods generating pairs of random indexes.
- IndexTriple record class for use in methods generating triples of random indexes.
- Methods in the RandomIndexer and EnhancedRandomGenerator classes that utilize the new IndexPair and IndexTriple when generating combinations of distinct random integers, as an alternative to the existing methods that return arrays, including:
- Versions of nextIntPair using the new IndexPair class
- Versions of nextIntTriple using the new IndexTriple class
- Versions of nextWindowedIntPair using the new IndexPair class
- Versions of nextWindowedIntTriple using the new IndexTriple class
- Methods in the RandomIndexer and EnhancedRandomGenerator classes for generating additional combinations of distinct integers (both array-based versions and versions using IndexPair and IndexTriple), including:
- nextSortedIntPair: a variation of nextIntPair whose result is in sorted order.
- nextSortedIntTriple: a variation of nextIntTriple whose result is in sorted order.
- nextSortedWindowedIntPair: a variation of nextWindowedIntPair whose result is in sorted order.
- nextSortedWindowedIntTriple: a variation of nextWindowedIntTriple whose result is in sorted order.
- Methods in the EnhancedRandomGenerator class for generating streams of combinations of distinct integers as streams of IndexPair or IndexTriple objects, including streams of the following:
- Streams of random pairs of distinct integers (method pairs)
- Streams of random pairs of distinct sorted integers (method sortedPairs)
- Streams of random pairs of distinct integers, separated by at most a specified window (method windowedPairs)
- Streams of random pairs of distinct sorted integers, separated by at most a specified window (method sortedWindowedPairs)
- Streams of random triples of distinct integers (method triples)
- Streams of random triples of distinct sorted integers (method sortedTriples)
- Streams of random triples of distinct integers, separated by at most a specified window (method windowedTriples)
- Streams of random triples of distinct sorted integers, separated by at most a specified window (method sortedWindowedTriples)
- Shuffler class, and shuffle methods in EnhancedRandomGenerator class, for efficiently randomizing the ordering of elements in arrays and Lists.
Changed (BREAKING)
- Changed ZigguratGaussian to a package-access class (BREAKING CHANGE): Instead use corresponding methods of the RandomVariates class.
Changed (non-breaking)
- Refactored and optimized RandomIndexer.nextIntTriple methods.
- Refactored and optimized RandomIndexer.nextWindowedIntPair methods.
- Refactored and optimized RandomIndexer.nextWindowedIntTriple methods.
Removed
- Removed PolarGaussian (BREAKING): Instead use corresponding methods of the RandomVariates class.
Fixed
- Fixed potential finalizer vulnerability in class JacobiDiagonalization, identified by SpotBugs.
Dependencies
- Bump org.cicirello:core from 2.5.0 to 2.7.0.
- Retired publishing of a
jar-with-dependencies
(BREAKING CHANGE only if you were using thejar-with-dependencies
).
rho-mu, v3.2.0
[3.2.0] - 2024-03-29
Deprecated
- Deprecated PolarGaussian, in preparation for future removal.
- Deprecated ZigguratGaussian, in preparation for making it an internal package access class.
Fixed
- Fixed exposed private array references in JacobiDiagonalization class.
- Reformatted source code of example programs to Google Java Style for consistency with the library itself.
CI/CD
- Integrated SpotBugs static analysis into build process.
- Integrated Find Security Bugs static analysis into build process.
- Removed support for importing from JitPack, iuncluding all JitPack configuration, workflows, workflow steps, and webhook.
- Configured Spotify's fmt-maven-plugin to reformat the source code of the example programs to Google style during builds (the equivalent was already in place for the library's source code).
rho-mu, v3.1.1
[3.1.1] - 2023-06-11
Changed
- Refactored binomial random variate generation for improved algorithm constant caching
rho-mu, v3.1.0
[3.1.0] - 2023-05-12
Added
- MathFunctions.betai: incomplete beta function
- Statistics.p: calculates p value from a t statistic and degrees of freedom
Dependencies
- Bump core from 2.4.6 to 2.5.0
rho-mu, v3.0.4
[3.0.4] - 2023-04-02
Changed
- Minor optimization to RandomIndexer.nextIntPair
rho-mu, v3.0.3
[3.0.3] - 2023-03-02
Dependencies
- Bump core from 2.4.4 to 2.4.6
rho-mu, v3.0.2
[3.0.2] - 2023-01-11
Dependencies
- Bump core from 2.4.3 to 2.4.4
rho-mu, v3.0.1
[3.0.1] - 2022-11-17
CI/CD
- Begin publishing a jar-with-dependencies, in addition to the regular jar of the library, on deploys.