Subscribe Now
Trending News

Blog Post

Original source of `(seed * 9301 and 49297) % 233280` random algorithm? (2014)

Original source of `(seed * 9301 and 49297) % 233280` random algorithm? (2014) 


13k times

If you search for examples of creating a seeded (pseudo)Random number generator, you will run into stuff like this (specific example

// the initial seed

// in order to work 'Math.seed' must NOT be undefined,
// so in any case, you HAVE to provide a Math.seed
Math.seededRandom=function(max, min) {
    max=max || 1;
    min=min || 0;

    Math.seed=(Math.seed * 9301 + 49297) % 233280;
    var rnd=Math.seed / 233280;

    return min + rnd * (max - min);

Those specific numbers (9301, 49297, 233280) and algorithm are used over and over, but nobody seems to have a definitive reference for this. Who invented this algorithm and tested the distribution? Is there a paper or something to cite?

asked Oct 26, 2014 at 19:14


A quick search of Google Books shows these numbers (9301, 49297, 233280) have been used in a number of references:

  • Numerical Recipes in FORTRAN 77
  • An Introduction to Numerical Methods in C++
  • CGI Developer’s Resource: Web Programming in TCL and PERL
  • Effective Fortran 77 for Engineers & Scientists
  • JavaScript development
  • All on C
  • Java Examples in a Nutshell
  • Seminumerical algorithms
  • An Introduction To Mechanics

The oldest is 1977’s Computer methods for mathematical computations by George Elmer Forsythe, Michael A. Malcolm, Cleve B. Moler (Prentice-Hall), although Google doesn’t show where the text was used in the book so it cannot be verified.

The earliest showing the text is Numerical Recipes in Pascal (First Edition): The Art of Scientific Computing, Volume 1 by Press, Teukolsky, Vetterling and Flannery in a full-page table of “Constants for Portable Random Number Generators”. These particular numbers are given with an overflow at 2^31.

The Numerical Recipes series of books are hugely popular, and have been in print since 1986.


21.8k29 gold badges111 silver badges273 bronze badges

answered Oct 27, 2014 at 21:17


Not the answer you’re looking for? Browse other questions tagged or ask your own question.

Read More

Related posts

© Copyright 2022, All Rights Reserved