Author: aherbert Date: Mon Sep 13 09:20:00 2021 New Revision: 49911 Log: Release Commons RNG v1.4 (from RC3).
Added: release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz (with props) release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.asc release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.sha512 release/commons/rng/binaries/commons-rng-1.4-bin.zip (with props) release/commons/rng/binaries/commons-rng-1.4-bin.zip.asc release/commons/rng/binaries/commons-rng-1.4-bin.zip.sha512 release/commons/rng/source/commons-rng-1.4-src.tar.gz (with props) release/commons/rng/source/commons-rng-1.4-src.tar.gz.asc release/commons/rng/source/commons-rng-1.4-src.tar.gz.sha512 release/commons/rng/source/commons-rng-1.4-src.zip (with props) release/commons/rng/source/commons-rng-1.4-src.zip.asc release/commons/rng/source/commons-rng-1.4-src.zip.sha512 Removed: release/commons/rng/binaries/commons-rng-1.3-bin.tar.gz release/commons/rng/binaries/commons-rng-1.3-bin.tar.gz.asc release/commons/rng/binaries/commons-rng-1.3-bin.tar.gz.sha512 release/commons/rng/binaries/commons-rng-1.3-bin.zip release/commons/rng/binaries/commons-rng-1.3-bin.zip.asc release/commons/rng/binaries/commons-rng-1.3-bin.zip.sha512 release/commons/rng/source/commons-rng-1.3-src.tar.gz release/commons/rng/source/commons-rng-1.3-src.tar.gz.asc release/commons/rng/source/commons-rng-1.3-src.tar.gz.sha512 release/commons/rng/source/commons-rng-1.3-src.zip release/commons/rng/source/commons-rng-1.3-src.zip.asc release/commons/rng/source/commons-rng-1.3-src.zip.sha512 Modified: release/commons/rng/CONTRIBUTING.md release/commons/rng/README.html release/commons/rng/RELEASE-NOTES.txt Modified: release/commons/rng/CONTRIBUTING.md ============================================================================== --- release/commons/rng/CONTRIBUTING.md (original) +++ release/commons/rng/CONTRIBUTING.md Mon Sep 13 09:20:00 2021 @@ -50,7 +50,7 @@ Getting Started + Make sure you have a [JIRA account](https://issues.apache.org/jira/). + Make sure you have a [GitHub account](https://github.com/signup/free). -+ If you're planning to implement a new feature it makes sense to discuss you're changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons RNG's scope. ++ If you're planning to implement a new feature it makes sense to discuss your changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons RNG's scope. + Submit a ticket for your issue, assuming one does not already exist. + Clearly describe the issue including steps to reproduce when it is a bug. + Make sure you fill in the earliest version that you know has the issue. Modified: release/commons/rng/README.html ============================================================================== --- release/commons/rng/README.html (original) +++ release/commons/rng/README.html Mon Sep 13 09:20:00 2021 @@ -14,9 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. --> -<h1>Commons-RNG v1.3.</h1> +<h1>Commons-RNG v1.4.</h1> -<p>This is the 1.3 version of commons-rng. It is available in both binary and source distributions.</p> +<p>This is the 1.4 version of commons-rng. It is available in both binary and source distributions.</p> <p><font color="red" size="+2">Note:</font> @@ -55,12 +55,12 @@ <pre>Always test available signatures, <i>e.g.</i>, $ pgpk -a KEYS -$ pgpv commons-rng-1.3-bin.tar.gz.asc +$ pgpv commons-rng-1.4-bin.tar.gz.asc or, $ pgp -ka KEYS -$ pgp commons-rng-1.3-bin.tar.gz.asc +$ pgp commons-rng-1.4-bin.tar.gz.asc or, $ gpg --import KEYS -$ gpg --verify commons-rng-1.3-bin.tar.gz.asc +$ gpg --verify commons-rng-1.4-bin.tar.gz.asc </pre> <p> \ No newline at end of file Modified: release/commons/rng/RELEASE-NOTES.txt ============================================================================== --- release/commons/rng/RELEASE-NOTES.txt (original) +++ release/commons/rng/RELEASE-NOTES.txt Mon Sep 13 09:20:00 2021 @@ -1,115 +1,234 @@ + Apache Commons RNG 1.4 RELEASE NOTES + +The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.4 + +The Apache Commons RNG project provides pure-Java implementation +of pseudo-random generators. + +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. + +Apache Commons RNG 1.4 contains the following library modules: + commons-rng-client-api (requires Java 8) + commons-rng-core (requires Java 8) + commons-rng-simple (requires Java 8) + commons-rng-sampling (requires Java 8) + +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 11+. + +Additional code is provided in the following modules: + commons-rng-examples-quadrature (requires Java 8) + commons-rng-examples-jmh (requires Java 8) + commons-rng-examples-sampling (requires Java 8) + commons-rng-examples-stress (requires Java 8) + commons-rng-examples-jpms (requires Java 11) + +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +It must be noted that, due to the nature of random number generation, some unit tests +are bound to fail with some probability. The 'maven-surefire-plugin' is configured +to re-run tests that fail, and pass the build if they succeed within the allotted +number of reruns (the test will be marked as 'flaky' in the report). + +Changes in this version include: + +New features: +o RNG-156: New "DirichletSampler" class to sample from a Dirichlet distribution. +o RNG-137: New "StableSampler" class to sample from a stable distribution. +o RNG-138: New "CompositeSamplers" class to sample from a weighted combination of samplers. +o RNG-140: New "LongSampler" interface for sampling a long. New "UniformLongSampler" to sample + from a range. +o RNG-151: New "ZigguratSampler" implementation of the modified "Ziggurat" algorithm for + Gaussian and exponential sampling. +o RNG-147: New "LevySampler" to sample from a Levy distribution. +o RNG-145: "ContinuousUniformSampler": Add optional support for an open interval: (lower, upper). +o RNG-143: "RandomSource": Add an instance create method. Deprecate the static create method. +o RNG-136: New "ObjectSampler<T>" and "SharedStateObjectSampler<T>" interfaces. + These interfaces are implemented by samplers returning an object. + This changes the functional compatibility of existing samplers that implement + SharedStatedSampler<R>: CollectionSampler<T>; CombinationSampler; + DiscreteProbabilityCollectionSampler<T>; PermutationSampler; and UnitSphereSampler. + The method signature of the SharedStateSampler<R> interface remains + 'public R withUniformRandomProvider(UniformRandomProvider)'. The result can still be + assigned to an instance of the same class R; it can no longer be assigned to an instance + of SharedStatedSampler<R>. It can now be assigned to SharedStateObjectSampler<T> + which can be used to generate samples of type <T>. + Code that assigned to SharedStatedSampler<R> should be updated. +o RNG-135: New "TetrahedronSampler" to sample uniformly from a tetrahedron. +o RNG-134: New "BoxSampler" to sample uniformly from a box (or hyperrectangle). +o RNG-133: New "LineSampler" to sample uniformly on a line segment. +o RNG-131: New "TriangleSampler" to sample uniformly from a triangle. +o RNG-132: New "o.a.c.rng.sampling.shape" package for sampling coordinates from shapes. +o RNG-128: New "UnitBallSampler" to generate coordinates uniformly within an n-unit ball. +o RNG-126: "PoissonSamplerCache": Method to return a SharedStateDiscreteSampler. +o RNG-124: Add fixed increment versions of the PCG generators. + +Fixed Bugs: +o RNG-159: "ZigguratSampler.NormalizedGaussian": Corrected biased sampling within convex regions + at the edge of the ziggurat. +o RNG-146: "GaussianSampler": Prevent infinite mean and standard deviation. +o RNG-144: "AhrensDieterExponentialSampler": Avoid possible infinite loop during sampling if the + underlying UniformRandomProvider creates a zero for the uniform deviate. +o RNG-130: "UnitSphereSampler": Fix 1 dimension sampling to only return vectors containing 1 or -1. + +Changes: +o RNG-163: Update test suite to JUnit 5. +o Simplify assertions with simpler equivalent. Thanks to Arturo Bernal. +o RNG-162: Update the minimum Java version to 1.8. +o RNG-160: "ZigguratSampler.NormalizedGaussian": Performance improvement by extracting ziggurat + edge sampling to a separate method. +o RNG-157: "UnitSphereSampler": Deprecate public constructor. Use the factory constructor to create + an optimal sampler. +o RNG-155: "ZigguratNormalizedGaussianSampler": Update to a table size of 256. +o RNG-152: Update samplers to use ZigguratSampler.NormalizedGaussian for Gaussian deviates. +o RNG-154: Update Gaussian samplers to avoid infinity in the tails of the distribution. Applies + to: ZigguratNormalisedGaussianSampler; BoxMullerNormalizedGaussianSampler; and + BoxMullerGaussianSampler. +o RNG-153: "UnitBallSampler": Update to use the ZigguratSampler for an exponential deviate for + ball point picking. +o RNG-150: Update "LargeMeanPoissonSampler" and "GeometricSampler" to use the ZigguratSampler for + exponential deviates. +o RNG-129: "UnitSphereSampler": Improve performance with specialisations for low order dimensions. + Added a factory constructor to create the sampler. + + +For complete information on Apache Commons RNG, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons RNG website: + +https://commons.apache.org/proper/commons-rng/ + + +============================================================================= + Apache Commons RNG 1.3 RELEASE NOTES The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.3 The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators. -This is a minor release of Apache Commons RNG, containing a few new features and performance improvements. Apache Commons RNG 1.3 contains the following library modules: +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. + +Apache Commons RNG 1.3 contains the following library modules: commons-rng-client-api (requires Java 6) commons-rng-core (requires Java 6) commons-rng-simple (requires Java 6) - commons-rng-sampling (requires Java 6) The code in module 'commons-rng-core' should not be accessed directly by applications as a future release might make use of the JPMS modularization feature available in Java 9+. -Additional code is provided in the following module: - commons-rng-examples (requires Java 9) It is however not part of the official API and no compatibility should be expected in subsequent releases. -It must be noted that, due to the nature of random number generation, some of unit tests are bound to fail with some probability. -The 'maven-surefire-plugin' is configured to re-run tests that fail, and pass the build if they succeed within the allotted number of reruns (the test will be marked as 'flaky' in the report). + commons-rng-sampling (requires Java 6) -Changes in this version include: +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 9+. + +Additional code is provided in the following module: + commons-rng-examples (requires Java 9) +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +We would like to also note that unit tests in module 'commons-rng-sampling' +are bound to fail with some probability; this is expected due to the nature +of random number generation. The 'maven-surefire-plugin' can be configured +to re-run tests that fail and pass the build if they succeed (the test will +be marked as 'flaky' in the report). New features: o RNG-117: Additional "XorShiRo" family generators. This adds 4 PlusPlus general purpose variants - of existing generators and 3 variants of a large state (1024-bit) generator. + of existing generators and 3 variants of a large state (1024-bit) generator. o RNG-117: "RandomSource": Support creating a byte[] seed suitable for the implementing - generator class. + generator class. o RNG-116: "RandomSource": Expose interfaces supported by the implementing generator class - with methods isJumpable() and isLongJumpable(). -o RNG-111: New "JenkinsSmallFast32" and "JenkinsSmallFast64" generators. + with methods isJumpable() and isLongJumpable(). +o RNG-111: New "JenkinsSmallFast32" and "JenkinsSmallFast64" generators. o RNG-19: "JDKRandomWrapper": Wraps an instance of java.util.Random for use as a UniformRandomProvider. Can wrap a SecureRandom to use functionality provided by the JDK for cryptographic random numbers and platform dependent - features such as reading /dev/urandom on Linux. -o RNG-112: New "DotyHumphreySmallFastCounting32" and "DotyHumphreySmallFastCounting64" generators. -o RNG-85: New "MiddleSquareWeylSequence" generator. + features such as reading /dev/urandom on Linux. +o RNG-112: New "DotyHumphreySmallFastCounting32" and "DotyHumphreySmallFastCounting64" generators. +o RNG-85: New "MiddleSquareWeylSequence" generator. o RNG-110: Factory methods for Discrete and Continuous distribution samplers. The factory method - can choose the optimal implementation for the distribution parameters. + can choose the optimal implementation for the distribution parameters. o RNG-84: New Permuted Congruential Generators (PCG) from the PCG family. Added the LCG and MCG 32 bit output versions of the XSH-RS and XSH-RR operations, - along with the 64 bit RXS-M-XS edition. Thanks to Abhishek Singh Dhadwal. + along with the 64 bit RXS-M-XS edition. Thanks to Abhishek Singh Dhadwal. o RNG-102: New "SharedStateSampler" interface to allow a sampler to create a new instance with - a new source of randomness. Any pre-computed state can be shared between the samplers. -o RNG-108: Update "SeedFactory" to improve performance. + a new source of randomness. Any pre-computed state can be shared between the samplers. +o RNG-108: Update "SeedFactory" to improve performance. o RNG-99: New "AliasMethodDiscreteSampler" that can sample from any discrete distribution defined - by an array of probabilities. Set-up is O(n) time and sampling is O(1) time. + by an array of probabilities. Set-up is O(n) time and sampling is O(1) time. o RNG-100: New "GuideTableDiscreteSampler" that can sample from any discrete distribution defined - by an array of probabilities. + by an array of probabilities. o RNG-98: New "LongJumpableUniformRandomProvider" interface extends JumpableUniformRandomProvider - with a long jump method. + with a long jump method. o RNG-97: New "JumpableUniformRandomProvider" interface provides a jump method that advances the generator a large number of steps of the output sequence in a single operation. A copy is returned allowing repeat invocations to create a series of generators - for use in parallel computations. + for use in parallel computations. o RNG-101: New "MarsagliaTsangWangDiscreteSampler" that provides samples from a discrete distribution stored as a look-up table using a single random integer deviate. Computes tables for the Poisson or Binomial distributions, and generically any provided discrete - probability distribution. + probability distribution. o RNG-91: New "KempSmallMeanPoissonSampler" that provides Poisson samples using only 1 random deviate per sample. This algorithm outperforms the SmallMeanPoissonSampler - when the generator is slow. + when the generator is slow. o RNG-70: New "XorShiRo" family of generators. This adds 6 new general purpose generators with different periods and 4 related generators with improved performance for floating-point - generation. -o RNG-82: New "XorShift1024StarPhi" generator. This is a modified implementation of XorShift1024Star - that improves randomness of the output sequence. The XOR_SHIFT_1024_S enum has been marked - deprecated as a note to users to switch to the new XOR_SHIFT_1024_S_PHI version. -o RNG-78: New "ThreadLocalRandomSource" class provides thread safe access to random generators. -o RNG-79: Benchmark methods for producing nextDouble and nextFloat. -o RNG-72: Add new JMH benchmark ConstructionPerformance. -o RNG-71: Validate parameters for the distribution samplers. -o RNG-67: Instructions for how to build and run the examples-stress code. -o RNG-69: New "GeometricSampler" class. + generation. +o RNG-82: New "XorShift1024StarPhi" generator. This is a modified implementation of + XorShift1024Star that improves randomness of the output sequence. The XOR_SHIFT_1024_S + enum has been marked deprecated as a note to users to switch to the new + XOR_SHIFT_1024_S_PHI version. +o RNG-78: New "ThreadLocalRandomSource" class provides thread safe access to random generators. +o RNG-79: Benchmark methods for producing nextDouble and nextFloat. +o RNG-72: Add new JMH benchmark ConstructionPerformance. +o RNG-71: Validate parameters for the distribution samplers. +o RNG-67: Instructions for how to build and run the examples-stress code. +o RNG-69: New "GeometricSampler" class. Fixed Bugs: o RNG-115: "JDKRandom": Fixed the restore state method to function when the instance has not - previously been used to save state. + previously been used to save state. o RNG-96: "AhrensDieterMarsagliaTsangGammaSampler": Fix parameter interpretation so that alpha is a 'shape' parameter and theta is a 'scale' parameter. This reverses the functionality of the constructor parameters from previous versions. Dependent code should be checked - and parameters reversed to ensure existing functionality is maintained. + and parameters reversed to ensure existing functionality is maintained. o RNG-93: "SmallMeanPoissonSampler": Requires the Poisson probability for p(x=0) to be positive - setting an upper bound on the mean of approximately 744.44. -o RNG-92: "LargeMeanPoissonSampler": Requires mean >= 1. + setting an upper bound on the mean of approximately 744.44. +o RNG-92: "LargeMeanPoissonSampler": Requires mean >= 1. Changes: -o RNG-122: "SeedFactory": Use XoRoShiRo1024PlusPlus as the default source of randomness. +o RNG-122: "SeedFactory": Use XoRoShiRo1024PlusPlus as the default source of randomness. o RNG-121: "ChengBetaSampler": Algorithms for different distribution parameters have - been delegated to specialised classes. + been delegated to specialised classes. o RNG-120: Update security of serialization code for java.util.Random instances. Implement - look-ahead deserialization or remove the use of ObjectInputStream.readObject(). -o RNG-76: "SplitMix64": Added primitive long constructor. -o RNG-119: Add LongJumpable support to XoShiRo generators previously only supporting Jumpable. + look-ahead deserialization or remove the use of ObjectInputStream.readObject(). +o RNG-76: "SplitMix64": Added primitive long constructor. +o RNG-119: Add LongJumpable support to XoShiRo generators previously only supporting Jumpable. o RNG-114: "ListSampler": Select the shuffle algorithm based on the list type. This improves - performance for non-RandomAccess lists such as LinkedList. + performance for non-RandomAccess lists such as LinkedList. o RNG-109: "DiscreteProbabilityCollectionSampler": Use a faster enumerated probability - distribution sampler to replace the binary search algorithm. -o RNG-90: "BaseProvider": Updated to use faster algorithm for nextInt(int). -o RNG-95: "DiscreteUniformSampler": Updated to use faster algorithms for generation of ranges. + distribution sampler to replace the binary search algorithm. +o RNG-90: "BaseProvider": Updated to use faster algorithm for nextInt(int). +o RNG-95: "DiscreteUniformSampler": Updated to use faster algorithms for generation of ranges. o RNG-106: Ensure SeedFactory produces non-zero seed arrays. This avoids invalid seeding of - generators that cannot recover from a seed of zeros. + generators that cannot recover from a seed of zeros. o RNG-103: "LargeMeanPoissonSampler: Switch from SmallMeanPoissonSampler to use - KempSmallMeanPoissonSampler for the fractional mean sample. + KempSmallMeanPoissonSampler for the fractional mean sample. o RNG-75: "RandomSource.create(...)": Refactor internal components to allow custom seeding routines per random source. Improvements were made to the speed of creating generators with small - seeds. -o RNG-77: "NumberFactory": Improve performance of int and long array to/from byte array conversions. -o RNG-88: Update the generation performance JMH benchmarks to have a reference baseline. -o RNG-87: "MultiplyWithCarry256": Performance improvement by advancing state one step per sample. -o RNG-81: "NumberFactory": Evenly sample all dyadic rationals between 0 and 1. -o RNG-73: Add the methods used from UniformRandomProvider to each sampler in the sampling module. + seeds. +o RNG-77: "NumberFactory": Improve performance of int and long array to/from byte array + conversions. +o RNG-88: Update the generation performance JMH benchmarks to have a reference baseline. +o RNG-87: "MultiplyWithCarry256": Performance improvement by advancing state one step per sample. +o RNG-81: "NumberFactory": Evenly sample all dyadic rationals between 0 and 1. +o RNG-73: Add the methods used from UniformRandomProvider to each sampler in the sampling module. o RNG-74: "DiscreteUniformSampler": Algorithms for small and large integer ranges have - been delegated to specialised classes. + been delegated to specialised classes. o RNG-68: "AhrensDieterMarsagliaTsangGammaSampler": Algorithms for small and large theta have - been delegated to specialised classes. + been delegated to specialised classes. For complete information on Apache Commons RNG, including instructions on how to submit bug reports, @@ -117,7 +236,6 @@ patches, or suggestions for improvement, https://commons.apache.org/proper/commons-rng/ - ============================================================================= Apache Commons RNG 1.2 RELEASE NOTES @@ -126,37 +244,53 @@ The Apache Commons RNG team is pleased t The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators. -This is a minor release of Apache Commons RNG, containing a few new features and performance improvements. Apache Commons RNG 1.2 contains the following library modules: +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. + +Apache Commons RNG 1.2 contains the following library modules: commons-rng-client-api (requires Java 6) commons-rng-core (requires Java 6) commons-rng-simple (requires Java 6) - commons-rng-sampling (requires Java 6) The code in module 'commons-rng-core' should not be accessed directly by applications as a future release might make use of the JPMS modularization feature available in Java 9+. + commons-rng-sampling (requires Java 6) + +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 9+. + Additional code is provided in the following module: - commons-rng-examples (requires Java 9) It is however not part of the official API and no compatibility should be expected in subsequent releases. -It must be noted that, due to the nature of random number generation, some of unit tests are bound to fail with some probability. -The 'maven-surefire-plugin' is configured to re-run tests that fail, and pass the build if they succeed within the allotted number of reruns (the test will be marked as 'flaky' in the report). + commons-rng-examples (requires Java 9) +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +We would like to also note that unit tests in module 'commons-rng-sampling' +are bound to fail with some probability; this is expected due to the nature +of random number generation. The 'maven-surefire-plugin' can be configured +to re-run tests that fail and pass the build if they succeed (the test will +be marked as 'flaky' in the report). Changes in this version include: New features: -o RNG-62: New "CombinationSampler" class. Thanks to Alex D. Herbert. +o RNG-62: New "CombinationSampler" class. Thanks to Alex D. Herbert. Fixed Bugs: -o RNG-59: Use JDK's "SecureRandom" to seed the "SeedFactory". -o RNG-56: "ZigguratNormalizedGaussianSampler": Missing statements in least used branch. +o RNG-59: Use JDK's "SecureRandom" to seed the "SeedFactory". +o RNG-56: "ZigguratNormalizedGaussianSampler": Missing statements in least used branch. o RNG-55: "UnitSphereSampler": Prevent returning NaN components and forbid - negative dimension. Thanks to Alex D. Herbert. + negative dimension. Thanks to Alex D. Herbert. Changes: -o RNG-63: "NumberFactory": Some methods have become obsolete following RNG-57. -o RNG-64: "PermutationSampler" and "CombinationSampler" shared code moved to a utility class. Thanks to Alex D. Herbert. -o RNG-61: "PermutationSampler": Performance improvement. Thanks to Alex D. Herbert. -o RNG-57: Cache for using up all the bits provided by the underlying source of randomness. Thanks to Alex D. Herbert. -o RNG-60: Use random seeds for unit testing. -o RNG-52: Set conservative upper bound in "LargePoissonSampler" to avoid truncation. +o RNG-63: "NumberFactory": Some methods have become obsolete following RNG-57. +o RNG-64: "PermutationSampler" and "CombinationSampler" shared code moved to a utility class. + Thanks to Alex D. Herbert. +o RNG-61: "PermutationSampler": Performance improvement. Thanks to Alex D. Herbert. +o RNG-57: Cache for using up all the bits provided by the underlying source of randomness. + Thanks to Alex D. Herbert. +o RNG-60: Use random seeds for unit testing. +o RNG-52: Set conservative upper bound in "LargePoissonSampler" to avoid truncation. o RNG-58: Allow part of RNG state to be contained in base classes, e.g. to enable - caching in common code (see RNG-57). -o RNG-51: "PoissonSampler": Performance improvement. Thanks to Alex D. Herbert. + caching in common code (see RNG-57). +o RNG-51: "PoissonSampler": Performance improvement. Thanks to Alex D. Herbert. For complete information on Apache Commons RNG, including instructions on how to submit bug reports, @@ -164,7 +298,6 @@ patches, or suggestions for improvement, https://commons.apache.org/proper/commons-rng/ - ============================================================================= Apache Commons RNG 1.1 RELEASE NOTES @@ -173,49 +306,65 @@ The Apache Commons RNG team is pleased t The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators. -This is a minor release of Apache Commons RNG, containing a few new features and performance improvements. +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. + Apache Commons RNG 1.1 contains the following library modules: - commons-rng-client-api (requires Java 6) - commons-rng-core (requires Java 6) - commons-rng-simple (requires Java 6) - commons-rng-sampling (requires Java 6) -The code in module 'commons-rng-core' should not be accessed directly by applications as a future release might make use of the JPMS modularization feature available in Java 9+. + commons-rng-client-api (requires Java 6) + commons-rng-core (requires Java 6) + commons-rng-simple (requires Java 6) + commons-rng-sampling (requires Java 6) + +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 9+. + Additional code is provided in the following module: - commons-rng-examples (requires Java 9) It is however not part of the official API and no compatibility should be expected in subsequent releases. -We would like to also note that unit tests in module 'commons-rng-sampling' are bound to fail with some probability; this is expected due to the nature of random number generation. -The 'maven-surefire-plugin' can be configured to re-run tests that fail and pass the build if they succeed (the test will be marked as 'flaky' in the report). + commons-rng-examples (requires Java 9) +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +We would like to also note that unit tests in module 'commons-rng-sampling' +are bound to fail with some probability; this is expected due to the nature +of random number generation. The 'maven-surefire-plugin' can be configured +to re-run tests that fail and pass the build if they succeed (the test will +be marked as 'flaky' in the report). Changes in this version include: New features: -o RNG-37: Implementation of the "Ziggurat" algorithm for Gaussian sampling. +o RNG-37: Implementation of the "Ziggurat" algorithm for Gaussian sampling. o RNG-47: "DiscreteProbabilityCollectionSampler": Sampling from a collection of items - with user-defined probabilities (feature ported from "Commons Math"). -o RNG-43: "LogNormalSampler" with user-defined underlying "NormalizedGaussianSampler". + with user-defined probabilities (feature ported from "Commons Math"). +o RNG-43: "LogNormalSampler" with user-defined underlying "NormalizedGaussianSampler". o RNG-39: "UnitSphereSampler": generate random vectors isotropically located - on the surface of a sphere (feature ported from "Commons Math"). + on the surface of a sphere (feature ported from "Commons Math"). o RNG-36: "MarsagliaNormalizedGaussianSampler": Faster variation of the Box-Muller algorithm. This version is used within "AhrensDieterMarsagliaTsangGammaSampler" "MarsagliaLogNormalSampler" and "PoissonSampler" (generated sequences - will thus differ from those generated by version 1.0 of the library). + will thus differ from those generated by version 1.0 of the library). o RNG-35: New generic "GaussianSampler" based on "NormalizedGaussianSampler" marker interface. Implementation of "BoxMullerNormalizedGaussianSampler" deprecates - "BoxMullerGaussianSampler". + "BoxMullerGaussianSampler". Fixed Bugs: o RNG-53: Class "SamplerBase" has been deprecated. It was meant for internal use only but, through inheritance, it allows incorrect usage of the sampler - classes. + classes. Changes: -o RNG-50: "PoissonSampler": Algorithms for small mean and large mean have +o RNG-50: "PoissonSampler": Algorithms for small mean and large mean have been separated into dedicated classes. Cache precomputation has been disabled as it is only marginally used and is a performance - hit for small sampling sets. Thanks to Alex D. Herbert. -o RNG-42: Use "ZigguratNormalizedGaussianSampler" within the library. -o RNG-46: Following RNG-43, "BoxMullerLogNormalSampler" has been deprecated. + hit for small sampling sets.Thanks to Alex D. Herbert. +o RNG-42: Use "ZigguratNormalizedGaussianSampler" within the library. +o RNG-46: Following RNG-43, "BoxMullerLogNormalSampler" has been deprecated. + Furthermore, its base class has been removed; although it is a binary + incompatibility, it cannot cause any problem that were not already + present in code using v1.0 of the library: Calls to the base class + would have raised a NPE. For complete information on Apache Commons RNG, including instructions on how to submit bug reports, @@ -223,7 +372,6 @@ patches, or suggestions for improvement, https://commons.apache.org/proper/commons-rng/ - ============================================================================= Apache Commons RNG 1.0 RELEASE NOTES @@ -247,5 +395,3 @@ For complete information on Apache Commo patches, or suggestions for improvement, see the Apache Commons RNG website: https://commons.apache.org/proper/commons-rng/ - - Added: release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz ============================================================================== Binary file - no diff available. Propchange: release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.asc ============================================================================== --- release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.asc (added) +++ release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.asc Mon Sep 13 09:20:00 2021 @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEvIej/QpUSA8Lrb69IZOf8MoqZWcFAmE4hDkACgkQIZOf8Moq +ZWdKmxAAgXPzK5L62AGTcy57d8gWFDle7ETM5EnQPe6o9J45aW/5Tj4cNUumIm3f +Sh3oYY0RjAt4/AKX9oRKeqrRSQ6p9K5VYAQtlrKR/mfQI+l1L1fR37VBTF0c14zw +wVO0QrvcNxyoDF2SPWuPCD5HNOCjBY39SFYfK55tm3nBmu9En+6MvUnuD8oB+2oM +kH8VmNbZicj6YUDCb2oLoAw9COd2349ie8g54K18VYJ8leVtCgaipNReDT59R2rC +5iuqIHsB0qmBI4oqT/HhxWTjs9akbzxy9a5lQQiwwvkKbLY3fjJ8beDjpJ75Y3RT +MZB06BORMFFLor86uGc4XwckJHdhvIGCWh96J6MYZaDQtEp6pVjHlfEDuCZ1Uyx/ +bDKBGBe3QgMPieP0xc+MwEgFIvKzEwK9dFXyVN6lfeuJor/pTNSJrS1nKMX7T/+N +rSQP9rl+fHL3DbYc2BCOHp7uW8PRZOPvXmBAWC8qKub2ivbc16ze+LV4wlDBeSxl +G4utXJ95o1Qht1DE7LpxcveqqI8p+BlA3y0/TIPDfjd8BQTINVgQUiaofVDajffm +JWlmd4Qx8zRSoPxlJYh+lJk3/F6lk7D6YetDl51MI5CJw/Lh6ozjsj20iGIzvBSM +EtivFNCoOpFO0VPF0JR+UDQMHcxZCNhFjmoHsw+xlF066QJ772M= +=GghG +-----END PGP SIGNATURE----- Added: release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.sha512 ============================================================================== --- release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.sha512 (added) +++ release/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.sha512 Mon Sep 13 09:20:00 2021 @@ -0,0 +1 @@ +6b64112d627249b8c209be9f2ae57a14ceac63b635ec8048e8e695b0c2fa30c26d91c5cecc32f2b46758f20b6397be8783129e0d9a21efa446855df58c4a42c2 Added: release/commons/rng/binaries/commons-rng-1.4-bin.zip ============================================================================== Binary file - no diff available. Propchange: release/commons/rng/binaries/commons-rng-1.4-bin.zip ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: release/commons/rng/binaries/commons-rng-1.4-bin.zip.asc ============================================================================== --- release/commons/rng/binaries/commons-rng-1.4-bin.zip.asc (added) +++ release/commons/rng/binaries/commons-rng-1.4-bin.zip.asc Mon Sep 13 09:20:00 2021 @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEvIej/QpUSA8Lrb69IZOf8MoqZWcFAmE4hDkACgkQIZOf8Moq +ZWcgVg//a3wKMBV1E4WAG5OPZQym6z8+BTAicOLFrpEuLmLYtbuinuDYzQF+sUcR +hibpnkd+nxKt0vnma6at1nXrLfxtPOhS5448/vXyktaS8Egxgh0G7MaYFE0IR4Sr +3kR8VPbNBPWnlQMWe7sWelkhr3Ku5iTUpiqHMA70Zk4IE18ga7dIhapPndu0KsXm +t8FoK5E9FOEvkKSqi9zFrTxbdT0hJb9LWqoeNis/EBYDbNGQ6V764lVF5484n4nC +czShGFxIdHger6PaMT01LfkTj2GBeNR+pe/VJloeFGdgG6BEKEZ6UNuoqmOSEdiy +ozRGhMGUdUEcWARChLdLjGgnbs7DF0q9b5Knf508oaS4sMGu6t+ek5HPeB792Oxi +8XTpbT64MVXmzN/2fBhutS4qJHPrjk47gwpwNozXQb9wvNgeSx/Z6uKsw1FKP9Kk +oYH2FWTVxaVaWuZI9ZpqpDnmggCR8Jn+mznAamnT1ulpnl9seImKUTJKp+Dpf2My +GvBN7yq2DE+t9Ru4VYNveTUS95oHOgAVOwrnP5BhCWV/vUOBZcpc23Q9CPUEzZ+A +pRN1s4dq2a4Bh+JMDVxUFoaikEJl223laCkFuo1PtEiZq5nxn3aUUcVmXJB/yOcI +2X1eg8evPHGID3nG+eZr4jOH7WIsPnx8ecbwI/eyhactNUnOTko= +=E2zl +-----END PGP SIGNATURE----- Added: release/commons/rng/binaries/commons-rng-1.4-bin.zip.sha512 ============================================================================== --- release/commons/rng/binaries/commons-rng-1.4-bin.zip.sha512 (added) +++ release/commons/rng/binaries/commons-rng-1.4-bin.zip.sha512 Mon Sep 13 09:20:00 2021 @@ -0,0 +1 @@ +7aa8f4c0fe6784b94233e097f4ccc8dcbfcd95ae11eb0b7ec3a8af2f8d5336e6c20bfdaf52edf3b9aeabd69da01c0c99181015b687e22fc8cf969a6bf17b4372 Added: release/commons/rng/source/commons-rng-1.4-src.tar.gz ============================================================================== Binary file - no diff available. Propchange: release/commons/rng/source/commons-rng-1.4-src.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: release/commons/rng/source/commons-rng-1.4-src.tar.gz.asc ============================================================================== --- release/commons/rng/source/commons-rng-1.4-src.tar.gz.asc (added) +++ release/commons/rng/source/commons-rng-1.4-src.tar.gz.asc Mon Sep 13 09:20:00 2021 @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEvIej/QpUSA8Lrb69IZOf8MoqZWcFAmE4hDoACgkQIZOf8Moq +ZWcGlw//eiMQE0rENkvHBt1b8Og/OihtBvhJvm0UNhS3IWP1lDB7z6NXnH/PL6/P +ezBo1/T+xIYdKIloosvMqsxCU9H+lirgLLdBZMgWIL3XLzZrROf2BpaP2L/2dG4U +nEF22kt3t+Ecj51go/n6T4ARxVFo5JTdr1K+pkzySSR0N48OWQscv4m/gpa8CCic +k8T9TMd+tC203etsF/5qTa5HoQknx2iGabHAQl7o2mciCjUIol2ak2gALN331qnN +MIuxGoTRthLgkVlhfa4xr9SYLchGLk8C4tC4c6jdrH+3rnyQgJOJ4AftkA0J/adF +SsZKb8YUKi1L3CM9BtjXiflp6OxakRqcsgiB+Y5m4eZFVtTFc3fDAyxfnhk3aqqM +Vxn/7uZ+QTaduIhP5bwg/vmmvS1jnwzfzQJlMWnJYffoiB3Pgf6eih27QVy2nXF0 +Qra8Hq7EDUer/DfHgDPfg9m35QQYOdpCVRiAKnl6vP2gBqLRWMmaYumkIUBYn17C +LWcSPfR0Ay7kRuh3xxYidbhl0vaxIqijlrOHhG45w9iiTrft8EeznRDkqWGbx9Ne +idIvrxM0gI7/neFEpWTxWMVryQLEVb70X4aPMAjkl658TNgAO2zf2VWf6yGsIpb+ +3pma7yJt/nbMM08gZl8gou0Zacz9GTx1QSUsHSHW/C7NKY6O9dY= +=zDUQ +-----END PGP SIGNATURE----- Added: release/commons/rng/source/commons-rng-1.4-src.tar.gz.sha512 ============================================================================== --- release/commons/rng/source/commons-rng-1.4-src.tar.gz.sha512 (added) +++ release/commons/rng/source/commons-rng-1.4-src.tar.gz.sha512 Mon Sep 13 09:20:00 2021 @@ -0,0 +1 @@ +e3227362314cbff30d96c24430eb72d50637e2f54d26ff2bb6372d2a8f4165debd0d4915d656642a23009c5e2a960c8eb9a98fb283eef60b253e88a270a1056e Added: release/commons/rng/source/commons-rng-1.4-src.zip ============================================================================== Binary file - no diff available. Propchange: release/commons/rng/source/commons-rng-1.4-src.zip ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: release/commons/rng/source/commons-rng-1.4-src.zip.asc ============================================================================== --- release/commons/rng/source/commons-rng-1.4-src.zip.asc (added) +++ release/commons/rng/source/commons-rng-1.4-src.zip.asc Mon Sep 13 09:20:00 2021 @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEvIej/QpUSA8Lrb69IZOf8MoqZWcFAmE4hDoACgkQIZOf8Moq +ZWeoKQ/9EcCP3i7r3KHL5YqJyg+U+OCC2biXoGpV54CyH7oeLw9yCx7In6t/QeIV +NdwdBNCy/SEJ8d0/88TvfugEGI7o1JzxQ0Dq9i48DLtkpa//GkQMbnWLECsF5wfx +zxRCItQEHCjYjHjXqPigg8IYp3xS2K9riLPV6TKgs7Rk35HSGsEo41qGJHVkExNy +695tg8SrLlSm9SS2IBDLt7+W3aZQeTuK4dLzjCaN5Sn92s2xPt6q4a96vUEvPL1x +RKz5DkYf8i/Kpio4/phDZvO6pzEq8ssNGrHN6bUmzWSqbfOF31AvAQFzktJJWAdL +mJN+h/0c0jQkm1/T/yhlTYftmteQbYEbj/19AKjz+dvC0iNzb/jF4qRqnD8NnncA +ra2su1QhHqkUKuETS5cLdloLlK0m8yPXZDDGVjoS+GvhFPZNeBPfLxrdTz3+upam +HntbP2tWcJnU6yedRHo0hwR2VlCbWFlHChtg54s8JJsra6mi6XPHsJFjQas9g96T +spXMnrtpLaJ2mIL+D7JZ9pWtdSEgKdnlh/2lLoEQhZumZzNsrLoCB0J1pMMX81lJ +xpP+WuqoDEtjr2LEV6BmgJAzVZpn8G6VTMNs2sZYELO/35ayptfb88ByHxkfikRI +PAgbBub5e37sv+gD6nk+86DwsGPpAex3XaHlnL8o0gimNc6Ms8Y= +=2Yno +-----END PGP SIGNATURE----- Added: release/commons/rng/source/commons-rng-1.4-src.zip.sha512 ============================================================================== --- release/commons/rng/source/commons-rng-1.4-src.zip.sha512 (added) +++ release/commons/rng/source/commons-rng-1.4-src.zip.sha512 Mon Sep 13 09:20:00 2021 @@ -0,0 +1 @@ +bc2f1cdc52ed99d765c5dc8b60a3c093fd975107829aea532bf9f12c77596fc9abccf656d80f97e0dce33f99dd8833961c507edb99304612c49c75e4e0bb5463