cmersennetwister.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CMERSENNETWISTER_H
00020 #define __CMERSENNETWISTER_H
00021
00022 #include "simkerneldefs.h"
00023 #include "globals.h"
00024 #include "crng.h"
00025 #include "cconfiguration.h"
00026 #include "mersennetwister.h"
00027
00028 NAMESPACE_BEGIN
00029
00030
00043 class SIM_API cMersenneTwister : public cRNG
00044 {
00045 protected:
00046 MTRand rng;
00047
00048 public:
00049 cMersenneTwister() {}
00050 virtual ~cMersenneTwister() {}
00051
00053 virtual void initialize(int seedSet, int rngId, int numRngs,
00054 int parsimProcId, int parsimNumPartitions,
00055 cConfiguration *cfg);
00056
00058 virtual void selfTest();
00059
00061 virtual unsigned long intRand();
00062
00064 virtual unsigned long intRandMax();
00065
00067 virtual unsigned long intRand(unsigned long n);
00068
00070 virtual double doubleRand();
00071
00073 virtual double doubleRandNonz();
00074
00076 virtual double doubleRandIncl1();
00077 };
00078
00079 NAMESPACE_END
00080
00081
00082 #endif
00083