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

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

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

Definition at line 175 of file RanluxppEngine.h.

Public Member Functions

 RanluxppCompatEngineLuescherRanlxs (uint64_t seed=314159265)
 
virtual ~RanluxppCompatEngineLuescherRanlxs ()
 
uint64_t IntRndm ()
 Generate a random integer value with 24 bits.
 
double operator() ()
 Generate a floating point random number (non-virtual method)
 
double Rndm () override
 Generate a floating point random number with 24 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< 24, p >
 

Private Attributes

std::unique_ptr< ImplTypefImpl
 

#include <Math/RanluxppEngine.h>

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

Member Typedef Documentation

◆ ImplType

template<int p>
using ROOT::Math::RanluxppCompatEngineLuescherRanlxs< p >::ImplType = RanluxppCompatEngineLuescherImpl<24, p>
private

Definition at line 178 of file RanluxppEngine.h.

Constructor & Destructor Documentation

◆ RanluxppCompatEngineLuescherRanlxs()

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

Definition at line 663 of file RanluxppEngineImpl.cxx.

◆ ~RanluxppCompatEngineLuescherRanlxs()

Member Function Documentation

◆ IntRndm()

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

Generate a random integer value with 24 bits.

Definition at line 684 of file RanluxppEngineImpl.cxx.

◆ Name()

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

Get name of the generator.

Definition at line 198 of file RanluxppEngine.h.

◆ operator()()

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

Definition at line 678 of file RanluxppEngineImpl.cxx.

◆ Rndm()

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

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

Implements ROOT::Math::TRandomEngine.

Definition at line 672 of file RanluxppEngineImpl.cxx.

◆ SetSeed()

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

Initialize and seed the state of the generator.

Definition at line 690 of file RanluxppEngineImpl.cxx.

◆ Skip()

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

Skip n random numbers without generating them.

Definition at line 696 of file RanluxppEngineImpl.cxx.

Member Data Documentation

◆ fImpl

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

Definition at line 179 of file RanluxppEngine.h.

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