A PRNG Specialized in Double Precision Floating Point Numbers Using an Affine Transition

Conference paper


We propose a pseudorandom number generator specialized to generate double precision floating point numbers. It generates 52-bit pseudorandom patterns supplemented by a constant most significant 12 bits (sign and exponent), so that the concatenated 64 bits represents a floating point number obeying the IEEE 754 format. To keep the constant part, we adopt an affine transition function instead of the usual \(\mathbb{F}_{2}\)-linear transition, and extend algorithms computing the period and the dimensions of equidistribution to the affine case. The resulted generator generates double precision floating point numbers faster than the Mersenne Twister, whoes output numbers only have 32-bit precision.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R.P. Brent and P. Zimmermann. Random number generators with period divisible by a Mersenne prime. In Computational Science and its Applications - ICCSA 2003, volume 2667, pages 1–10, 2003. Google Scholar
  2. 2.
    R.P. Brent and P. Zimmermann. Algorithms for finding almost irreducible and almost primitive trinomials. Fields Inst. Commun., 41:91–102, 2004. MathSciNetGoogle Scholar
  3. 3.
    R. Couture, P. L’Ecuyer, and S. Tezuka. On the distribution of k-dimensional vectors for simple and combined Tausworthe sequences. Math. Comp., 60(202):749–761, 1993. MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Agner Fog. Pseudo random number generators. http://www.agner.org/random/.
  5. 5.
    M. Fushimi. Random number generation with the recursion x t=x t−3p x t−3q. Journal of Computational and Applied Mathematics, 31:105–118, 1990. MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    IEEE standard for binary floating-point arithmetic 754, 2008. http://ieeexplore.ieee.org/servlet/opac?punumber=4610933.
  7. 7.
    D. E. Knuth. The Art of Computer Programming. Vol.2. Seminumerical Algorithms. Addison-Wesley, Reading, Mass., 3rd edition, 1997. Google Scholar
  8. 8.
    P. L’Ecuyer. Maximally equidistributed combined tausworthe generators. Math. Comp., 65(213):203–213, 1996. MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    P. L’Ecuyer and J. Granger-Piché. Combined generators with components from different families. Mathematics and Computers in Simulation, 62:395–404, 2003. MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    P. L’Ecuyer and F. Panneton. \(\mathbb{F}_{2}\)-linear random number generators. In Advancing the Frontiers of Simulation: A Festschrift in Honor of George Samuel Fishman, pages 175–200, 2009. C. Alexopoulos, D. Goldsman, and J. R. Wilson Eds. Google Scholar
  11. 11.
    P. L’Ecuyer and R. Simard. TestU01: A C library for empirical testing of random number generators. ACM Transactions on Mathematical Software, 15(4):346–361, 2006. MathSciNetGoogle Scholar
  12. 12.
    G. Marsaglia. The Marsaglia Random Number CDROM, with the DIEHARD Battery of Tests of Randomness. Department of Statistics, Florida State University, (1996) http://www.stat.fsu.edu/pub/diehard/.
  13. 13.
    G. Marsaglia. Xorshift RNGs. Journal of Statistical Software, 8(14):1–6, 2003. Google Scholar
  14. 14.
    M. Matsumoto and T. Nishimura. Mersenne twister: A 623-dimensionally equidistributed uniform pseudorandom number generator. ACM Trans. on Modeling and Computer Simulation, 8(1):3–30, January 1998. http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html. MATHCrossRefGoogle Scholar
  15. 15.
    T. Nishimura. Tables of 64-bit mersenne twisters. ACM Trans. on Modeling and Computer Simulation, 10(4):348–357, October 2000. CrossRefGoogle Scholar
  16. 16.
    F. Panneton and P. L’Ecuyer. On the Xorshift random number generators. ACM Transactions on Modeling and Computer Simulation, 15(4):346–361, 2005. CrossRefGoogle Scholar
  17. 17.
    F. Panneton, P. L’Ecuyer, and M. Matsumoto. Improved long-period generators based on linear reccurences modulo 2. ACM Transactions on Mathematical Software, 32(1):1–16, 2006. CrossRefMathSciNetGoogle Scholar
  18. 18.
    M. Saito and M. Matsumoto. SFMT Homepage. http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html.
  19. 19.
    M. Saito and M. Matsumoto. SIMD-oriented fast Mersenne twister : a 128-bit pseudorandom number generator. In Monte Carlo and Quasi-Monte Carlo Methods 2006, LNCS, pages 607–622. Springer, 2008. Google Scholar
  20. 20.
    SIMD From Wikipedia, the free encyclopedia. http://en.wikipedia.org/wiki/SIMD.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  1. 1.Department of Mathematics, Graduate School of ScienceHiroshima UniversityHiroshimaJapan

Personalised recommendations