Apache Commons RNG (Pseudo-random number generators)

Clone this repo:
  1. c57d53f Bump actions/upload-artifact from 6.0.0 to 7.0.0 by Gary Gregory · 5 days ago master
  2. e84f397 RNG-191: Update PHILOX_4X64 performance results. by Alex Herbert · 5 days ago
  3. 96826ea Track changes by Alex Herbert · 6 days ago
  4. d73cbc4 RNG-191: Dynamically call Math multiply high methods by Alex Herbert · 11 days ago
  5. e84e1d9 Bump github/codeql-action from 4.32.5 to 4.32.6 by Gary Gregory · 8 days ago

Apache Commons RNG

Java CI Coverage Status Quality Gate Status Maven Central Javadocs

The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators.

Documentation

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.

Getting the latest release

You can download source and binaries from our download page.

Alternatively, you can pull it from the central Maven repositories:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-rng-simple</artifactId>
  <version>1.6</version>
</dependency>
<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-rng-sampling</artifactId>
  <version>1.6</version>
</dependency>

Building

Building requires a Java JDK and Apache Maven. The required Java version is found in the pom.xml as the maven.compiler.source property.

From a command shell, run mvn without arguments to invoke the default Maven goal to run all tests and checks.

Contributing

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:

  • No tabs! Please use spaces for indentation.
  • Respect the existing code style for each file.
  • Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
  • Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running 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.

License

This code is licensed under the Apache License v2.

See the NOTICE file for required notices and attributions.

Donating

You like Apache Commons RNG? Then donate back to the ASF to support development.

Additional Resources

Apache Commons Components

Please see the list of components