[ANNOUNCE] Apache Commons RNG 1.4 released

2021-09-14 Thread Alex Herbert
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" and "SharedStateObjectSampler" interfaces.
   These interfaces are implemented by samplers returning an object.
   This changes the functional compatibility of existing samplers that
   implement SharedStatedSampler: CollectionSampler;
   CombinationSampler; DiscreteProbabilityCollectionSampler;
   PermutationSampler; and UnitSphereSampler.
   The method signature of the SharedStateSampler 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.
   It can now be assigned to SharedStateObjectSampler
   which can be used to generate samples of type .
   Code that assigned to SharedStatedSampler 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 

[ANNOUNCE] Apache Commons RNG 1.4 released

2021-09-14 Thread Alex Herbert
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" and "SharedStateObjectSampler"
interfaces.
   These interfaces are implemented by samplers returning an object.
   This changes the functional compatibility of existing samplers
that
   implement SharedStatedSampler: CollectionSampler;
   CombinationSampler; DiscreteProbabilityCollectionSampler;
   PermutationSampler; and UnitSphereSampler.
   The method signature of the SharedStateSampler 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.
   It can now be assigned to SharedStateObjectSampler
   which can be used to generate samples of type .
   Code that assigned to SharedStatedSampler 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