The Rademacher Floating Point Library provides a C++11 class computing random uniformly distributed floating-point values in a given half-open interval
[a,b). In comparison to every other existing software, this library
- computes values that are actually uniformly distributed,
- draws randomly from all floating-point values in range,
- avoids round-off errors causing out-of-range values,
- uses only integer arithmetic, and
- works with built-in C++ float types as well with custom floating-point types.
The Rademacher FPL is licensed under the Mozilla Public License 2.0 and therefore free software ("free" as in "free beer" as well as "free" as in "freedom"). The source code can be found in the Rademacher FPL git repository.