Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

Random.cpp

Go to the documentation of this file.
00001 #include ".\random.h"
00002 
00003 Random::Random(LongNatural Dimensionality_,RandomGenerator* rndGen)
00004 :       Dimensionality(Dimensionality_)
00005 {
00006         InnerGenerator=rndGen;
00007 //      Reciprocal = 1/(1.0+rndGen->Max());
00008 }
00009 
00010 Random::Random(RandomGenerator* rndGen){
00011         InnerGenerator=rndGen;
00012         Dimensionality=1;
00013 }
00014 
00015 Random* Random::clone() const
00016 {
00017     return new Random(*this);   
00018 }
00019 
00020 void Random::GetUniforms(valarray<Real>& variates)
00021 {
00022     for (LongNatural j=0; j < GetDimensionality(); j++)
00023         variates[j] = InnerGenerator->getUniform();
00024 }
00025 
00026 void Random::GetUniform(Real& variate)
00027 {
00028     variate = InnerGenerator->getUniform();
00029 }
00030 
00031 void Random::Skip(LongNatural numberOfPaths)
00032 {
00033     valarray<Real> tmp(GetDimensionality());
00034     for (LongNatural j=0; j < numberOfPaths; j++)
00035         GetUniforms(tmp);
00036 }
00037 
00038 void Random::SetSeed(LongNatural Seed)
00039 {
00040     InitialSeed = Seed;
00041     InnerGenerator->SetSeed(Seed);
00042 }
00043 
00044 void Random::Reset()
00045 {
00046     InnerGenerator->SetSeed(InitialSeed);
00047 }
00048 
00049 
00050 void Random::ResetDimensionality(LongNatural NewDimensionality)
00051 {
00052     Dimensionality = NewDimensionality;
00053     InnerGenerator->SetSeed(InitialSeed);
00054 }

Note: Generated nightly - reload for latest version
Generated on Thu Dec 22 23:12:37 2005 for terreneuve by doxygen 1.3.6