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 GNU General Public License version 3. 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.