fpmas 1.6
Public Types | Public Member Functions | List of all members
fpmas::random::Generator< Generator_t > Class Template Reference

#include <generator.h>

Inheritance diagram for fpmas::random::Generator< Generator_t >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::random::Generator< Generator_t >:
Collaboration graph
[legend]

Public Types

typedef UniformRandomBitGenerator< Generator_t >::result_type result_type
 
- Public Types inherited from fpmas::api::random::Generator< Generator_t::result_type >
typedef Generator_t::result_type result_type
 

Public Member Functions

 Generator ()
 
 Generator (result_type seed)
 
void seed (result_type seed) override
 
void discard (unsigned long long z) override
 
bool operator== (const Generator< Generator_t > &g) const
 
bool operator!= (const Generator< Generator_t > &g) const
 
- Public Member Functions inherited from fpmas::random::UniformRandomBitGenerator< Generator_t >
result_type operator() () override
 
virtual Generator_t::result_type operator() ()=0
 
virtual void seed (Generator_t::result_type seed)=0
 
virtual void discard (unsigned long long z)=0
 

Additional Inherited Members

- Static Public Member Functions inherited from fpmas::random::UniformRandomBitGenerator< Generator_t >
static constexpr result_type min ()
 
static constexpr result_type max ()
 
- Protected Attributes inherited from fpmas::random::UniformRandomBitGenerator< Generator_t >
Generator_t gen
 

Detailed Description

template<typename Generator_t>
class fpmas::random::Generator< Generator_t >

api::random::Generator implementation.

Any specialization of this class meets the requirements of UniformRandomBitGenerator.

See also
fpmas::random::operator<<()
fpmas::random::operator>>()
Template Parameters
Generator_tcpp standard random number generator

Member Typedef Documentation

◆ result_type

template<typename Generator_t >
typedef UniformRandomBitGenerator<Generator_t>::result_type fpmas::random::Generator< Generator_t >::result_type

Integer type used by the generator.

Constructor & Destructor Documentation

◆ Generator() [1/2]

template<typename Generator_t >
fpmas::random::Generator< Generator_t >::Generator ( )
inline

Default constructor.

◆ Generator() [2/2]

template<typename Generator_t >
fpmas::random::Generator< Generator_t >::Generator ( result_type  seed)
inline

Initializes the Generator with the provided seed.

Parameters
seedrandom seed

Member Function Documentation

◆ seed()

template<typename Generator_t >
void fpmas::random::Generator< Generator_t >::seed ( result_type  seed)
inlineoverridevirtual

Seeds the random generator.

Parameters
seedseed value

Implements fpmas::api::random::Generator< Generator_t::result_type >.

◆ discard()

template<typename Generator_t >
void fpmas::random::Generator< Generator_t >::discard ( unsigned long long  z)
inlineoverridevirtual

Advances the generator internal state as if operator() was called z times.

Parameters
znumber of values to discard

Implements fpmas::api::random::Generator< Generator_t::result_type >.

◆ operator==()

template<typename Generator_t >
bool fpmas::random::Generator< Generator_t >::operator== ( const Generator< Generator_t > &  g) const
inline

Returns true iff the internal state of the generator g is equal to the state of this generator, i.e. the two generators are guaranteed to generate the same random numbers sequence.

◆ operator!=()

template<typename Generator_t >
bool fpmas::random::Generator< Generator_t >::operator!= ( const Generator< Generator_t > &  g) const
inline

Equivalent to !(*this == g).


The documentation for this class was generated from the following file: