Page MenuHomeHEPForge

MersenneTwister.hh
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

MersenneTwister.hh

#ifndef NPSTAT_MERSENNETWISTER_HH_
#define NPSTAT_MERSENNETWISTER_HH_
/*!
// \file MersenneTwister.hh
//
// \brief A wrapper for the Mersenne Twister generator of pseudo-random numbers
//
// Author: I. Volobouev
//
// October 2010
*/
#include "npstat/rng/AbsRandomGenerator.hh"
namespace npstat {
namespace Private {
class MTRand;
}
/**
// Generator of pseudo-random numbers (with period 2^19937-1). Based on
// the interface written by Richard J. Wagner to the original Mersenne
// Twister.
//
// Reference:
// M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally
// Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions
// on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
*/
class MersenneTwister : public AbsRandomGenerator
{
public:
/** The default constructor will read /dev/urandom to get the seed */
MersenneTwister();
explicit MersenneTwister(unsigned long seed);
MersenneTwister(const MersenneTwister&);
virtual ~MersenneTwister();
MersenneTwister& operator=(const MersenneTwister&);
inline unsigned dim() const {return 1U;}
double operator()();
private:
Private::MTRand* impl_;
};
}
#endif // NPSTAT_MERSENNETWISTER_HH_

File Metadata

Mime Type
text/x-c
Expires
Tue, Sep 30, 4:39 AM (11 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6557199
Default Alt Text
MersenneTwister.hh (1 KB)

Event Timeline