Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::RanluxppEngineImpl< w, p > Class Template Reference

template<int w, int p>
class ROOT::Math::RanluxppEngineImpl< w, p >

Definition at line 79 of file RanluxppEngineImpl.cxx.

Public Member Functions

uint64_t NextRandomBits ()
 Return the next random bits, generate a new block if necessary.
 
double NextRandomFloat ()
 Return a floating point number, converted from the next random bits.
 
void SetSeed (uint64_t s)
 Initialize and seed the state of the generator.
 
void Skip (uint64_t n)
 Skip n random numbers without generating them.
 

Private Member Functions

void Advance ()
 Produce next block of random bits.
 

Private Attributes

unsigned fCarry
 Carry bit of the RANLUX state.
 
int fPosition = 0
 Current position in bits.
 
uint64_t fState [9]
 RANLUX state of the generator.
 

Static Private Attributes

static constexpr const uint64_t * kA = RanluxppData<p>::kA
 
static constexpr int kMaxPos = 9 * 64
 

Member Function Documentation

◆ Advance()

template<int w, int p>
void ROOT::Math::RanluxppEngineImpl< w, p >::Advance ( )
inlineprivate

Produce next block of random bits.

Definition at line 90 of file RanluxppEngineImpl.cxx.

◆ NextRandomBits()

template<int w, int p>
uint64_t ROOT::Math::RanluxppEngineImpl< w, p >::NextRandomBits ( )
inline

Return the next random bits, generate a new block if necessary.

Definition at line 101 of file RanluxppEngineImpl.cxx.

◆ NextRandomFloat()

template<int w, int p>
double ROOT::Math::RanluxppEngineImpl< w, p >::NextRandomFloat ( )
inline

Return a floating point number, converted from the next random bits.

Definition at line 124 of file RanluxppEngineImpl.cxx.

◆ SetSeed()

template<int w, int p>
void ROOT::Math::RanluxppEngineImpl< w, p >::SetSeed ( uint64_t  s)
inline

Initialize and seed the state of the generator.

Definition at line 132 of file RanluxppEngineImpl.cxx.

◆ Skip()

template<int w, int p>
void ROOT::Math::RanluxppEngineImpl< w, p >::Skip ( uint64_t  n)
inline

Skip n random numbers without generating them.

Definition at line 153 of file RanluxppEngineImpl.cxx.

Member Data Documentation

◆ fCarry

template<int w, int p>
unsigned ROOT::Math::RanluxppEngineImpl< w, p >::fCarry
private

Carry bit of the RANLUX state.

Definition at line 83 of file RanluxppEngineImpl.cxx.

◆ fPosition

template<int w, int p>
int ROOT::Math::RanluxppEngineImpl< w, p >::fPosition = 0
private

Current position in bits.

Definition at line 84 of file RanluxppEngineImpl.cxx.

◆ fState

template<int w, int p>
uint64_t ROOT::Math::RanluxppEngineImpl< w, p >::fState[9]
private

RANLUX state of the generator.

Definition at line 82 of file RanluxppEngineImpl.cxx.

◆ kA

template<int w, int p>
constexpr const uint64_t* ROOT::Math::RanluxppEngineImpl< w, p >::kA = RanluxppData<p>::kA
staticconstexprprivate

Definition at line 86 of file RanluxppEngineImpl.cxx.

◆ kMaxPos

template<int w, int p>
constexpr int ROOT::Math::RanluxppEngineImpl< w, p >::kMaxPos = 9 * 64
staticconstexprprivate

Definition at line 87 of file RanluxppEngineImpl.cxx.

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