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