When we apply test suites to RNGs currently found in commercial software (statistical and simulation software, spreadsheets, etc.), we find that many of them fail the tests spectacularly ([39,44]). There is no reason to use these poor RNGs, because there are also several good ones that are fast, portable, and pass all these test suites with flying colors. Among them we recommend, for example, the combined MRGs, combined LFSRs, and Mersenne twisters proposed in [41,54,78], and .
A convenient object-oriented software package with multiple streams and substreams of random numbers, is described in  and is available in Java, C, and C++, at http://www.iro.umontreal.ca/~lecuyer.