Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p > Class Template Referencefinal

template<int p>
class ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >

Compatibility engine for Lüscher's ranlxd implementation written in C.

Definition at line 212 of file RanluxppEngine.h.

Public Member Functions

 RanluxppCompatEngineLuescherRanlxd (uint64_t seed=314159265)
 
virtual ~RanluxppCompatEngineLuescherRanlxd ()
 
uint64_t IntRndm ()
 Generate a random integer value with 48 bits.
 
double operator() ()
 Generate a floating point random number (non-virtual method)
 
double Rndm () override
 Generate a floating point random number with 48 bits of randomness.
 
void SetSeed (uint64_t seed)
 Initialize and seed the state of the generator.
 
void Skip (uint64_t n)
 Skip n random numbers without generating them.
 
- Public Member Functions inherited from ROOT::Math::TRandomEngine
virtual ~TRandomEngine ()
 

Static Public Member Functions

static const char * Name ()
 Get name of the generator.
 

Private Types

using ImplType = RanluxppCompatEngineLuescherImpl< 48, p >
 

Private Attributes

std::unique_ptr< ImplTypefImpl
 

#include <Math/RanluxppEngine.h>

Inheritance diagram for ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >:
[legend]

Member Typedef Documentation

◆ ImplType

template<int p>
using ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::ImplType = RanluxppCompatEngineLuescherImpl<48, p>
private

Definition at line 215 of file RanluxppEngine.h.

Constructor & Destructor Documentation

◆ RanluxppCompatEngineLuescherRanlxd()

template<int p>
ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::RanluxppCompatEngineLuescherRanlxd ( uint64_t  seed = 314159265)

Definition at line 707 of file RanluxppEngineImpl.cxx.

◆ ~RanluxppCompatEngineLuescherRanlxd()

Member Function Documentation

◆ IntRndm()

template<int p>
uint64_t ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::IntRndm

Generate a random integer value with 48 bits.

Definition at line 728 of file RanluxppEngineImpl.cxx.

◆ Name()

template<int p>
static const char * ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::Name ( )
inlinestatic

Get name of the generator.

Definition at line 235 of file RanluxppEngine.h.

◆ operator()()

Generate a floating point random number (non-virtual method)

Definition at line 722 of file RanluxppEngineImpl.cxx.

◆ Rndm()

template<int p>
double ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::Rndm
overridevirtual

Generate a floating point random number with 48 bits of randomness.

Implements ROOT::Math::TRandomEngine.

Definition at line 716 of file RanluxppEngineImpl.cxx.

◆ SetSeed()

template<int p>
void ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::SetSeed ( uint64_t  seed)

Initialize and seed the state of the generator.

Definition at line 734 of file RanluxppEngineImpl.cxx.

◆ Skip()

template<int p>
void ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::Skip ( uint64_t  n)

Skip n random numbers without generating them.

Definition at line 740 of file RanluxppEngineImpl.cxx.

Member Data Documentation

◆ fImpl

template<int p>
std::unique_ptr<ImplType> ROOT::Math::RanluxppCompatEngineLuescherRanlxd< p >::fImpl
private

Definition at line 216 of file RanluxppEngine.h.

  • math/mathcore/inc/Math/RanluxppEngine.h
  • math/mathcore/src/RanluxppEngineImpl.cxx