XORSHIFT*2 developed by George Marsagria is a widely used small-sized pesudorandom number generator. Here, a modified version XORSHIFT-ADD is introduced by Mutsuo Saito and Makoto Matsumoto (February 2014). XORSHIFT-ADD has an 128-bit internal state and period of 2128-1, and passes the bigcrush test of TestU01 test suite.
XORSHIFT-ADD is intended to be better than XORWOW*2; smaller, faster and better score in statistical tests. XORSHIFT-ADD is also smaller and faster than TinyMT.
XORSHIFT-ADD has following features:
This code is released on February 15th in 2014, and it may contain some bugs. Any feedback is welcome (send an email to Mutsuo Saito, saito "at sign" manieth.com and m-mat "at sign" math.sci.hiroshima-u.ac.jp)
version | archive | changes |
---|---|---|
1.2 |
Please download from
GitHub XSadd | Bug fix of floating point conversion. This bug is SERIOUS. In version 1.1, xsadd_float() and xsadd_double() may return 1.0 and xsadd_floatOC() may return 0.0. (2015/4/24) |
1.1 |
XSadd-src-1.1.zip XSadd-src-1.1.tar.gz |
Bug fix of the period certification function. Output sequences may change. (2014/3/24) This version has SERIOUS BUGS. Use version 1.2. In version 1.1, xsadd_float() and xsadd_double() may return 1.0 and xsadd_floatOC() may return 0.0. (2015/4/24) |
1.0 |
XSadd-src-1.0.zip XSadd-src-1.0.tar.gz |
The first version. (2014/2/15) |
If you have any trouble to download, try this page.
XSadd, as well as MT, can be used freely for any purpose, including commercial use. See LICENSE.txt for detail.
Back to Mersenne Twister Home Page
Back to TinyMT Home Page
Back to MTGP Home Page
*1 This work is partially supported by JSPS Grant-in-Aid for Scientific Research No. 23244002, 24654019.
*2 Marsaglia, George. "Xorshift rngs." Journal of Statistical Software 8.14 (2003): 1-6.