12#ifndef ROOT_Math_RanluxppEngine
13#define ROOT_Math_RanluxppEngine
23template <
int w,
int p>
24class RanluxppEngineImpl;
30 std::unique_ptr<RanluxppEngineImpl<48, p>>
fImpl;
37 double Rndm()
override;
46 void Skip(uint64_t
n);
49 static const char *
Name() {
return "RANLUX++"; }
Implementation of the RANLUX++ generator.
uint64_t IntRndm()
Generate a random integer value with 48 bits.
std::unique_ptr< RanluxppEngineImpl< 48, p > > fImpl
double Rndm() override
Generate a double-precision random number with 48 bits of randomness.
void Skip(uint64_t n)
Skip n random numbers without generating them.
void SetSeed(uint64_t seed)
Initialize and seed the state of the generator.
double operator()()
Generate a double-precision random number (non-virtual method)
virtual ~RanluxppEngine()
static const char * Name()
Get name of the generator.
Namespace for new Math classes and functions.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...