Compare random number engines
The random
library provides a selection of random number generators, each with different strategies and properties. In this recipe, we examine a function to compare the different options by creating a histogram of their output.
How to do it…
In this recipe, we compare the different random number generators provided by the C++ random
library:
- We start with some constants to provide uniform parameters for the random number generators:
constexpr size_t n_samples{ 1000 }; constexpr size_t n_partitions{ 10 }; constexpr size_t n_max{ 50 };
n_samples
is the number of samples to examine, n_partitions
is the number of partitions in which to display the samples, and n_max
is the maximum size of a bar in the histogram (this will vary some due to rounding).
These numbers provide a reasonable display of the differences between the engines. Increasing the ratio of samples versus partitions tends to smooth out the curves and obscure the...