Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F19244135
MersenneTwister.hh
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
MersenneTwister.hh
View Options
#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
Details
Attached
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)
Attached To
Mode
rNPSTATSVN npstatsvn
Attached
Detach File
Event Timeline
Log In to Comment