commit | 0021eb92a56dd5dc61e63256fb2a30c316c7d8af | [log] [tgz] |
---|---|---|
author | Alex Herbert <aherbert@apache.org> | Wed Sep 07 13:08:56 2022 +0100 |
committer | Alex Herbert <aherbert@apache.org> | Thu Sep 15 11:13:04 2022 +0100 |
tree | 7983b9ebc82c00818fae324172eefc1b95a66a63 | |
parent | 0238d2db0dd23e1cb17316d9b369376c8c7e91fc [diff] |
RNG-181: LXM family to support SplittableUniformRandomProvider Create generic RandomStreams class that can stream objects created with a seed and splittable source of randomness. The seed uses the stream position mixed with random bits to ensure it is unique within the stream (up to a size limit of 2^60). Use this feature to support splits in the LXM family. Add isSplittable method to RandomSource to use to identify supported interfaces. Use of the splittable interface by other modules requires an exception in RevAPI for exposing an external class in the API. This is similar to exposure of UniformRandomProvider and is allowed. The change is non-breaking for binary and source compatibility (see revapi java.class.externalClassExposedInAPI).
The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators.
More information can be found on the Apache Commons RNG homepage. The Javadoc for each of the modules can be browsed:
Questions related to the usage of Apache Commons RNG should be posted to the user mailing list.
You can download source and binaries from our download page.
Alternatively you can pull it from the central Maven repositories, e.g.:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-rng-simple</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-rng-sampling</artifactId> <version>1.4</version> </dependency>
We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:
mvn
.If you plan to contribute on a regular basis, please consider filing a contributor license agreement. You can learn more about contributing via GitHub in our contribution guidelines.
This code is under the Apache Licence v2.
See the NOTICE
file for required notices and attributions.
You like Apache Commons RNG? Then donate back to the ASF to support the development.
#apache-commons
IRC channel on irc.freenode.org