Difficulties arising in a related issue indicate the main problem with consistency: rounding mode. The clear intention of the mathematical definition generate_canonicalin the standard is that the URNG should be called several times, each of which creates a non-overlapping block of entropy to fill the result; it will be fully harmonized between platforms. The problem is that it does not indicate what to do with the extra bits below LSB. Depending on the rounding mode and the summation order, they can be rounded up, spilling into the next block (which allows the result of 1.0).
- " ... , ". , , 1.0, , ( 1-eps , 1-2 * eps). " ". , , , generate_canonical , .
, , 1.0, , . , , , URNG independent_bits_engine, bits, .