# Generating Random Floating-Point Numbers by Dividing Integers: A Case Study

@article{Goualard2020GeneratingRF, title={Generating Random Floating-Point Numbers by Dividing Integers: A Case Study}, author={Fr{\'e}d{\'e}ric Goualard}, journal={Computational Science – ICCS 2020}, year={2020}, volume={12138}, pages={15 - 28} }

A method widely used to obtain IEEE 754 binary floating-point numbers with a standard uniform distribution involves drawing an integer uniformly at random and dividing it by another larger integer. We survey the various instances of the algorithm that are used in actual software and point out their properties and drawbacks, particularly from the standpoint of numerical software testing and data anonymization.

#### 2 Citations

CPFloat: A C library for emulating low-precision arithmetic∗

- 2020

Low-precision floating-point arithmetic can be simulated via software by executing each arithmetic operation in hardware and rounding the result to the desired number of significant bits. For… Expand

Cryptographically Privileged State Estimation With Gaussian Keystreams

- Computer Science
- IEEE Control Systems Letters
- 2021

A method to decrease estimation quality at an unprivileged estimator using a stream of pseudorandom Gaussian samples while leaving privileged estimation unaffected and requiring no additional transmission beyond an initial key exchange is introduced. Expand

#### References

SHOWING 1-10 OF 44 REFERENCES

Generating Pseudo-random Floating-Point Values

The conventional method for generating a pseudorandom floatingpoint value is to generate a pseudorandom integer and divide by a constant (using floating-point arithmetic). The problems with this… Expand

Fast generation of uniformly distributed pseudorandom numbers with floating-point representation

- Mathematics
- 1974

A new method is presented for generating uniformly distributed pesudorandom numbers with a floating-point representation. The mantissa and exponent are considered as statistically independent… Expand

History of uniform random number generation

- Computer Science, Mathematics
- 2017 Winter Simulation Conference (WSC)
- 2017

A historical account on the design, implementation, and testing of uniform random number generators used for simulation is given. Expand

On significance of the least significant bits for differential privacy

- Computer Science
- CCS
- 2012

A new type of vulnerability present in many implementations of differentially private mechanisms is described, based on irregularities of floating-point implementations of the privacy-preserving Laplacian mechanism, which allows one to breach differential privacy with just a few queries into the mechanism. Expand

Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator

- Mathematics, Computer Science
- TOMC
- 1998

A new algorithm called Mersenne Twister (MT) is proposed for generating uniform pseudorandom numbers, which provides a super astronomical period of 2 and 623-dimensional equidistribution up to 32-bit accuracy, while using a working area of only 624 words. Expand

TestU01: A C library for empirical testing of random number generators

- Computer Science
- TOMS
- 2007

We introduce TestU01, a software library implemented in the ANSI C language, and offering a collection of utilities for the empirical statistical testing of uniform random number generators (RNGs).… Expand

Scrambled Linear Pseudorandom Number Generators

- Computer Science, Mathematics
- ACM Trans. Math. Softw.
- 2021

A new test for Hamming-weight dependencies that is able to discover subtle, previously unknown biases in existing generators (in particular, in linear ones), and a number of scramblers, that is, nonlinear functions applied to the state array that reduce or delete the linear artifacts. Expand

Numerical recipes in C

- Computer Science
- 2002

The Diskette v 2.06, 3.5''[1.44M] for IBM PC, PS/2 and compatibles [DOS] Reference Record created on 2004-09-07, modified on 2016-08-08. Expand

Numerical computing with MATLAB

- Mathematics, Computer Science
- 2004

Using MATLAB to solve differential equations for random numbers and zeros and roots and Fourier analysis for linear equations is a simple and efficient way of solving differential equations. Expand

C Programming FAQs: Frequently Asked Questions

- Computer Science
- 1995

This chapter discusses Declarations and Initializations, Arrays and Pointers, Functions and Multidimensional Arrays, Structures, Unions, and Enumerations, and Structure Declarations, and C Preprocessor Features. Expand