tandem rng tandem-java GitHub

tandem-java

Pure Java implementation of Tandem8x32. It produces the stream of the specification bit for bit, as a JDK RandomGenerator, and the optional tandem-rng-cuda module fills on NVIDIA GPUs.

Install

The artifact is tandem-rng. Java 25 or later, no runtime dependencies. Array fills of 512 elements or more run in tandem-c's libtandem when -Dtandem.native names it or it is on java.library.path; pixi run native builds it at a pinned commit.

Java 25 (the current LTS) or later, built with --release 25 and tested on JDK 25 and 27.

pixi run test        # mvn -B verify

AI assistance

This port was written with the help of large language models under human direction. The design and the specification are human work, as is much of the Julia implementation. The code is tested bit for bit against every vector of the specification and against long stream dumps from the Julia implementation, and every value must match. The output does not depend on who or what wrote the code.