13#ifndef ROOT_Math_StdEngine
14#define ROOT_Math_StdEngine
25 template<
class Generator>
27 static const char *
Name() {
return "std_random_eng";}
30 struct StdEngineType<std::minstd_rand> {
31 static const char *
Name() {
return "std_minstd_rand";}
34 struct StdEngineType<std::mt19937> {
35 static const char *
Name() {
return "std_mt19937";}
38 struct StdEngineType<std::mt19937_64> {
39 static const char *
Name() {
return "std_mt19937_64";}
42 struct StdEngineType<std::ranlux24> {
43 static const char *
Name() {
return "std_ranlux24";}
46 struct StdEngineType<std::ranlux48> {
47 static const char *
Name() {
return "std_ranlux48";}
50 struct StdEngineType<std::knuth_b> {
51 static const char *
Name() {
return "std_knuth_b";}
54 struct StdEngineType<std::random_device> {
55 static const char *
Name() {
return "std_random_device";}
72 template <
class Generator>
79 typedef typename Generator::result_type
Result_t;
90 if (rndm != 0)
return fCONS*rndm;
106 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.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
static const char * Name()