RandomIterator is a small library providing iterators pointing to streams of pseudorandom numbers. The library deploys lazy-evaluation and is intented for usage on multi-thread calculations.
random_iterator::Stream<Distribution, Engine> manages up to ${2}^{32}$ streams, with length ${2}^{64}$.double ou uint64_t, each stream can provide up to 128EB of data.The latest release can be downloaded [here]( ).
Read the full documentation in the page.
RandomIterator is a header-only library with no dependencies. So, it is only necessary to drop the random_iterator directory, which contains the library source code somewhere reachable to the compiler and include the random_iterator/Stream.cpp in the project code.
RandomIterator is released under the 3-Clause BSD License (SPDX short identifier: BSD-3-Clause). Please see the file called LICENSE.
Here’s what you should do if you need help or would like to contribute:
The authors acknowledge support by the High Performance and Cloud Computing Group at the Zentrum für Datenverarbeitung of the University of Tübingen, the state of Baden- Württemberg through bwHPC and the German Research Foundation (DFG) through grant no. INST 37/935-1 FUGG.