1 #ifndef SM_TRNGStochasticFunctions_MT19937_H
2 #define SM_TRNGStochasticFunctions_MT19937_H
5 #include "SM_StochasticFunctions.h"
8 #include "TRNG_NormalDistribution.h"
9 #include "TRNG_Uniform01Distribution.h"
12 #include "TRNG_UniformIntDistribution.h"
15 #include "TRNG_MT19937.h"
99 inline static CORE_UniquePointer<SelfClass>
New() {
100 CORE_UniquePointer<SelfClass> p=CORE_UniquePointer<SelfClass>(
new SelfClass(),
114 virtual void setSeed(
const tULLInt& seed)
override {
127 virtual void jump(
const tInteger& jumps,
const tULLInt& seed) {
142 return mNormalDistribution.
random(mRNG);
150 return mUniform01Distribution.
random(mRNG);
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: CORE_Object.h:278
T random(RAND_RandomNumberGenerator< T1, G, D1 > &generator)
random a number
Definition: RAND_RandomNumberDistribution.h:116
void setSeed(const tULInt &seed)
initialize the seed of the random number generator
Definition: RAND_RandomNumberGenerator.h:107
static void SetIsThreadSafe(const tBoolean &b)
set if the sochastic function is thread safe
Definition: SM_StochasticFunctionsInterface.h:134
This class describes a stochastic functions with templated methods.
Definition: SM_StochasticFunctions.h:25
This class implements a SM_StochasticFunctions using trng normal class wuith MT19937 random number ge...
Definition: SM_TRNGStochasticFunctions_MT19937.h:24
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_TRNGStochasticFunctions_MT19937.h:88
virtual void setSeed() override
void set seed
Definition: SM_TRNGStochasticFunctions_MT19937.h:119
virtual void jump(const tInteger &jumps, const tULLInt &seed)
jump a number of virtual random number generator
Definition: SM_TRNGStochasticFunctions_MT19937.h:127
tReal scNormalRandom()
return a random number
Definition: SM_TRNGStochasticFunctions_MT19937.h:140
static CORE_UniquePointer< SelfClass > New()
build a new instance of default class factory
Definition: SM_TRNGStochasticFunctions_MT19937.h:99
virtual ~SM_TRNGStochasticFunctions_MT19937(void)
destroy
Definition: SM_TRNGStochasticFunctions_MT19937.h:67
SM_TRNGStochasticFunctions_MT19937(void)
create
Definition: SM_TRNGStochasticFunctions_MT19937.h:54
tReal scUniformRandom()
compute a uniform random number in [0,1]
Definition: SM_TRNGStochasticFunctions_MT19937.h:148
virtual void setSeed(const tULLInt &seed) override
void set seed
Definition: SM_TRNGStochasticFunctions_MT19937.h:114
This class generates a random number generator by process The Mersenne twister is a popular random nu...
Definition: TRNG_MT19937.h:20
This class generates a normal distribution with random number generator class G.
Definition: TRNG_NormalDistribution.h:16