Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenBase/EvtMTRandomEngine.cpp
Show All 19 Lines | |||||
#include "EvtGenBase/EvtMTRandomEngine.hh" | #include "EvtGenBase/EvtMTRandomEngine.hh" | ||||
#include "EvtGenBase/EvtPatches.hh" | #include "EvtGenBase/EvtPatches.hh" | ||||
#include "EvtGenBase/EvtReport.hh" | #include "EvtGenBase/EvtReport.hh" | ||||
#include <iostream> | #include <iostream> | ||||
EvtMTRandomEngine::EvtMTRandomEngine( unsigned int seed ) : | EvtMTRandomEngine::EvtMTRandomEngine( unsigned int seed ) : engine_( seed ) | ||||
engine_( seed ), distribution_( URDist( 0.0, 1.0 ) ) | |||||
{ | { | ||||
EvtGenReport( EVTGEN_INFO, "EvtMTRandomEngine" ) | EvtGenReport( EVTGEN_INFO, "EvtMTRandomEngine" ) | ||||
<< "Mersenne-Twister random number generator with seed = " << seed | << "Mersenne-Twister random number generator with seed = " << seed | ||||
<< std::endl; | << std::endl; | ||||
} | } | ||||
double EvtMTRandomEngine::random() | double EvtMTRandomEngine::random() | ||||
{ | { | ||||
return distribution_( engine_ ); | return (long)( engine_() >> 1 ) * ( 1.0 / ( 1ul << 63 ) ); | ||||
// return distribution_( engine_ ); | |||||
} | |||||
unsigned long EvtMTRandomEngine::urandom() | |||||
{ | |||||
return engine_(); | |||||
} | } |