RandomLib
1.10
|
Implementation code for RandomLib. More...
#include <RandomLib/Random.hpp>
#include <fstream>
#include <ctime>
#include <sstream>
#include <iomanip>
#include <sys/time.h>
#include <unistd.h>
Go to the source code of this file.
Namespaces | |
RandomLib | |
Namespace for RandomLib. | |
Macros | |
#define | RANDOMLIB_RANDOM_CPP 1 |
#define | RANDOMLIB_BUILDING_LIBRARY 1 |
#define | RANDOMLIB_WINDOWS 0 |
#define | MT19937_STEP(I, J, K) |
#define | MT19937_REVSTEP(I, J, K) |
#define | SFMT19937_STEP32(I, J) |
#define | SFMT19937_REVSTEP32(I, J, K, L) |
#define | SFMT19937_STEP64(I, J) |
#define | SFMT19937_REVSTEP64(I, J, K, L) |
Implementation code for RandomLib.
Copyright (c) Charles Karney (2006-2011) charl and licensed under the MIT/X11 License. For more information, see es@k arney .comhttp://randomlib.sourceforge.net/
Code for MixerMT0, MixerMT1, MixerSFMT.
MixerMT0 is adapted from MT19937 (init_by_array) and MT19937_64 (init_by_array64) by Makoto Matsumoto and Takuji Nishimura. See http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c and http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/C-LANG/mt19937-64.c
MixerMT1 contains modifications to MixerMT0 by Charles Karney to correct defects in MixerMT0. This is described in W. E. Brown, M. Fischler, J. Kowalkowski, M. Paterno, Random Number Generation in C++0X: A Comprehensive Proposal, version 3, Sept 2006, Sec. 26.4.7.1, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2079.pdf This has been replaced in the C++11 standard by MixerSFMT.
MixerSFMT is adapted from SFMT19937's init_by_array Mutsuo Saito given in http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/SFMT-src-1.2.tar.gz and is part of the C++11 standard; see P. Becker, Working Draft, Standard for Programming Language C++, Oct. 2007, Sec. 26.4.7.1, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf
The adaption to the C++ is copyright (c) Charles Karney (2006-2011) charl and licensed under the MIT/X11 License. For more information, see es@k arney .comhttp://randomlib.sourceforge.net/
Code for MT19937<T> and SFMT19937<T>.
MT19937<T> is adapted from MT19937 and MT19937_64 by Makoto Matsumoto and Takuji Nishimura. See http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c and http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/C-LANG/mt19937-64.c
The code for stepping MT19937 backwards is adapted (and simplified) from revrand() by Katsumi Hagita. See http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/FORTRAN/REVmt19937b.f
SFMT19937<T> is adapted from SFMT19937 Mutsuo Saito given in http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/M062821.pdf and http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/SFMT-src-1.2.tar.gz
The code for stepping SFMT19937 backwards is by Charles Karney.
The adaption to the C++ is copyright (c) Charles Karney (2006-2011) charl and licensed under the MIT/X11 License. For more information, see es@k arney .comhttp://randomlib.sourceforge.net/
Definition in file Random.cpp.
#define RANDOMLIB_RANDOM_CPP 1 |
Definition at line 55 of file Random.cpp.
#define RANDOMLIB_BUILDING_LIBRARY 1 |
Let the header file know that the library is being built.
Definition at line 60 of file Random.cpp.
#define RANDOMLIB_WINDOWS 0 |
Definition at line 67 of file Random.cpp.
#define MT19937_STEP | ( | I, | |
J, | |||
K | |||
) |
Definition at line 668 of file Random.cpp.
Referenced by RandomLib::MT19937< RandomType >::Transition().
#define MT19937_REVSTEP | ( | I, | |
J, | |||
K | |||
) |
Definition at line 679 of file Random.cpp.
Referenced by RandomLib::MT19937< RandomType >::Transition().
#define SFMT19937_STEP32 | ( | I, | |
J | |||
) |
Definition at line 989 of file Random.cpp.
Referenced by RandomLib::SFMT19937< RandomType >::Transition().
#define SFMT19937_REVSTEP32 | ( | I, | |
J, | |||
K, | |||
L | |||
) |
Definition at line 1012 of file Random.cpp.
Referenced by RandomLib::SFMT19937< RandomType >::Transition().
#define SFMT19937_STEP64 | ( | I, | |
J | |||
) |
Definition at line 1073 of file Random.cpp.
Referenced by RandomLib::SFMT19937< RandomType >::Transition().
#define SFMT19937_REVSTEP64 | ( | I, | |
J, | |||
K, | |||
L | |||
) |
Definition at line 1091 of file Random.cpp.
Referenced by RandomLib::SFMT19937< RandomType >::Transition().