13 #ifndef ROOT_Math_StdEngine 14 #define ROOT_Math_StdEngine 26 template<
class Generator>
28 static std::string
Name() {
return "std_random_eng";}
32 static std::string
Name() {
return "std_minstd_rand";}
36 static std::string
Name() {
return "std_mt19937";}
40 static std::string
Name() {
return "std_mt19937_64";}
44 static std::string
Name() {
return "std_ranlux24";}
48 static std::string
Name() {
return "std_ranlux48";}
52 static std::string
Name() {
return "std_knuth_b";}
56 static std::string
Name() {
return "std_random_device";}
64 template <
class Generator>
71 typedef typename Generator::result_type
Result_t;
74 fCONS = 1./fGen.max();
78 void SetSeed(Result_t seed) { fGen.seed(seed);}
81 Result_t rndm = fGen();
82 if (rndm != 0)
return fCONS*rndm;
94 static std::string
Name() {
98 static uint64_t
MaxInt() {
return Generator::max(); }
Namespace for new ROOT classes and functions.
static std::string Name()
TRObject operator()(const T1 &t1) const
static std::string Name()
static std::string Name()
static std::string Name()
static std::string Name()
static std::string Name()
static std::string Name()
Wrapper class for std::random generator to be included in ROOT.
Namespace for new Math classes and functions.
void SetSeed(Result_t seed)
static std::string Name()
Generator::result_type Result_t
static std::string Name()