13#ifndef ROOT_Math_StdEngine
14#define ROOT_Math_StdEngine
26 template<
class Generator>
28 static const char *
Name() {
return "std_random_eng";}
31 struct StdEngineType<std::minstd_rand> {
32 static const char *
Name() {
return "std_minstd_rand";}
35 struct StdEngineType<std::mt19937> {
36 static const char *
Name() {
return "std_mt19937";}
39 struct StdEngineType<std::mt19937_64> {
40 static const char *
Name() {
return "std_mt19937_64";}
43 struct StdEngineType<std::ranlux24> {
44 static const char *
Name() {
return "std_ranlux24";}
47 struct StdEngineType<std::ranlux48> {
48 static const char *
Name() {
return "std_ranlux48";}
51 struct StdEngineType<std::knuth_b> {
52 static const char *
Name() {
return "std_knuth_b";}
55 struct StdEngineType<std::random_device> {
56 static const char *
Name() {
return "std_random_device";}
73 template <
class Generator>
80 typedef typename Generator::result_type
Result_t;
91 if (rndm != 0)
return fCONS*rndm;
107 static uint64_t
MaxInt() {
return Generator::max(); }
Class to wrap engines fron the C++ standard random library in the ROOT Random interface.
Generator::result_type Result_t
static const char * Name()
void SetSeed(Result_t seed)
Namespace for new Math classes and functions.
Namespace for new ROOT classes and functions.
static const char * Name()