libstdc++
std::geometric_distribution< _IntType > Class Template Reference

#include <random.h>

Classes

struct  param_type
 

Public Types

typedef _IntType result_type
 

Public Member Functions

 geometric_distribution (const param_type &__p)
 
 geometric_distribution (double __p)
 
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng)
 
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng, const param_type &__p)
 
template<typename _UniformRandomNumberGenerator >
void __generate (result_type *__f, result_type *__t, _UniformRandomNumberGenerator &__urng, const param_type &__p)
 
result_type max () const
 
result_type min () const
 
template<typename _UniformRandomNumberGenerator >
result_type operator() (_UniformRandomNumberGenerator &__urng)
 
template<typename _UniformRandomNumberGenerator >
result_type operator() (_UniformRandomNumberGenerator &__urng, const param_type &__p)
 
double p () const
 
param_type param () const
 
void param (const param_type &__param)
 
void reset ()
 

Friends

bool operator== (const geometric_distribution &__d1, const geometric_distribution &__d2)
 

Detailed Description

template<typename _IntType = int>
class std::geometric_distribution< _IntType >

A discrete geometric random number distribution.

The formula for the geometric probability density function is $p(i|p) = p(1 - p)^{i}$ where $p$ is the parameter of the distribution.

Definition at line 3983 of file random.h.

Member Typedef Documentation

◆ result_type

template<typename _IntType = int>
typedef _IntType std::geometric_distribution< _IntType >::result_type

The type of the range of the distribution.

Definition at line 3990 of file random.h.

Constructor & Destructor Documentation

◆ geometric_distribution() [1/3]

template<typename _IntType = int>
std::geometric_distribution< _IntType >::geometric_distribution ( )
inline

Definition at line 4032 of file random.h.

◆ geometric_distribution() [2/3]

template<typename _IntType = int>
std::geometric_distribution< _IntType >::geometric_distribution ( double  __p)
inlineexplicit

Definition at line 4035 of file random.h.

◆ geometric_distribution() [3/3]

template<typename _IntType = int>
std::geometric_distribution< _IntType >::geometric_distribution ( const param_type __p)
inlineexplicit

Definition at line 4040 of file random.h.

Member Function Documentation

◆ __generate() [1/3]

template<typename _IntType = int>
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void std::geometric_distribution< _IntType >::__generate ( _ForwardIterator  __f,
_ForwardIterator  __t,
_UniformRandomNumberGenerator &  __urng 
)
inline

Definition at line 4104 of file random.h.

◆ __generate() [2/3]

template<typename _IntType = int>
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void std::geometric_distribution< _IntType >::__generate ( _ForwardIterator  __f,
_ForwardIterator  __t,
_UniformRandomNumberGenerator &  __urng,
const param_type __p 
)
inline

Definition at line 4111 of file random.h.

◆ __generate() [3/3]

template<typename _IntType = int>
template<typename _UniformRandomNumberGenerator >
void std::geometric_distribution< _IntType >::__generate ( result_type __f,
result_type __t,
_UniformRandomNumberGenerator &  __urng,
const param_type __p 
)
inline

Definition at line 4118 of file random.h.

◆ max()

template<typename _IntType = int>
result_type std::geometric_distribution< _IntType >::max ( ) const
inline

Returns the least upper bound value of the distribution.

Definition at line 4085 of file random.h.

References std::numeric_limits< _Tp >::max().

◆ min()

template<typename _IntType = int>
result_type std::geometric_distribution< _IntType >::min ( ) const
inline

Returns the greatest lower bound value of the distribution.

Definition at line 4078 of file random.h.

◆ operator()() [1/2]

template<typename _IntType = int>
template<typename _UniformRandomNumberGenerator >
result_type std::geometric_distribution< _IntType >::operator() ( _UniformRandomNumberGenerator &  __urng)
inline

Generating functions.

Definition at line 4093 of file random.h.

References std::geometric_distribution< _IntType >::operator()().

Referenced by std::geometric_distribution< _IntType >::operator()().

◆ operator()() [2/2]

template<typename _IntType >
template<typename _UniformRandomNumberGenerator >
geometric_distribution< _IntType >::result_type std::geometric_distribution< _IntType >::operator() ( _UniformRandomNumberGenerator &  __urng,
const param_type __p 
)

Definition at line 1050 of file bits/random.tcc.

◆ p()

template<typename _IntType = int>
double std::geometric_distribution< _IntType >::p ( ) const
inline

Returns the distribution parameter p.

Definition at line 4056 of file random.h.

◆ param() [1/2]

template<typename _IntType = int>
param_type std::geometric_distribution< _IntType >::param ( ) const
inline

Returns the parameter set of the distribution.

Definition at line 4063 of file random.h.

Referenced by std::operator>>().

◆ param() [2/2]

template<typename _IntType = int>
void std::geometric_distribution< _IntType >::param ( const param_type __param)
inline

Sets the parameter set of the distribution.

Parameters
__paramThe new parameter set of the distribution.

Definition at line 4071 of file random.h.

◆ reset()

template<typename _IntType = int>
void std::geometric_distribution< _IntType >::reset ( )
inline

Resets the distribution state.

Does nothing for the geometric distribution.

Definition at line 4050 of file random.h.

Friends And Related Symbol Documentation

◆ operator==

template<typename _IntType = int>
bool operator== ( const geometric_distribution< _IntType > &  __d1,
const geometric_distribution< _IntType > &  __d2 
)
friend

Return true if two geometric distributions have the same parameters.

Definition at line 4128 of file random.h.


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