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()