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

  • Mutsuo Saito
  • Makoto Matsumoto
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.


Double Precision Combine Generator Point Number Single Instruction Multiple Data Pseudorandom Number Generator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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. zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Agner Fog. Pseudo random number generators.
  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. zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    IEEE standard for binary floating-point arithmetic 754, 2008.
  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. zbMATHCrossRefMathSciNetGoogle 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. zbMATHCrossRefMathSciNetGoogle 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)
  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. zbMATHCrossRefGoogle 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.
  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.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

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

Personalised recommendations