You are viewing a plain text version of this content. The canonical link for it is here.
Posted to announce@apache.org by Alex Herbert <ah...@apache.org> on 2021/09/14 11:17:49 UTC
[ANNOUNCE] Apache Commons RNG 1.4 released
The Apache Commons Team is pleased to announce the availability of
version 1.4 of "Apache Commons RNG".
Apache Commons RNG provides Java implementations of pseudo-random
numbers generators.
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.
Historical list of changes:
https://commons.apache.org/proper/commons-rng/changes-report.html
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/
Distribution packages can be downloaded from
https://commons.apache.org/proper/commons-rng/download_rng.cgi
When downloading, please verify signatures using the KEYS file
available at
https://www.apache.org/dist/commons/KEYS
Maven artifacts are also available in the central Maven repository:
https://repo.maven.apache.org/maven2/org/apache/commons/
----
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-client-api</artifactId>
<version>1.4</version>
----
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-simple</artifactId>
<version>1.4</version>
----
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-sampling</artifactId>
<version>1.4</version>
----
The Apache Commons Team