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

#include <random.h>

Classes

struct  param_type
 

Public Types

typedef _IntType result_type
 

Public Member Functions

template<typename _InputIterator >
 discrete_distribution (_InputIterator __wbegin, _InputIterator __wend)
 
 discrete_distribution (const param_type &__p)
 
 discrete_distribution (initializer_list< double > __wl)
 
template<typename _Func >
 discrete_distribution (size_t __nw, double __xmin, double __xmax, _Func __fw)
 
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)
 
param_type param () const
 
void param (const param_type &__param)
 
std::vector< double > probabilities () const
 
void reset ()
 

Friends

template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::discrete_distribution< _IntType1 > &__x)
 
bool operator== (const discrete_distribution &__d1, const discrete_distribution &__d2)
 
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::discrete_distribution< _IntType1 > &__x)
 

Detailed Description

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

A discrete_distribution random number distribution.

The formula for the discrete probability mass function is

Definition at line 5282 of file random.h.

Member Typedef Documentation

◆ result_type

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

The type of the range of the distribution.

Definition at line 5289 of file random.h.

Constructor & Destructor Documentation

◆ discrete_distribution() [1/5]

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

Definition at line 5339 of file random.h.

◆ discrete_distribution() [2/5]

template<typename _IntType = int>
template<typename _InputIterator >
std::discrete_distribution< _IntType >::discrete_distribution ( _InputIterator  __wbegin,
_InputIterator  __wend 
)
inline

Definition at line 5344 of file random.h.

◆ discrete_distribution() [3/5]

template<typename _IntType = int>
std::discrete_distribution< _IntType >::discrete_distribution ( initializer_list< double >  __wl)
inline

Definition at line 5349 of file random.h.

◆ discrete_distribution() [4/5]

template<typename _IntType = int>
template<typename _Func >
std::discrete_distribution< _IntType >::discrete_distribution ( size_t  __nw,
double  __xmin,
double  __xmax,
_Func  __fw 
)
inline

Definition at line 5354 of file random.h.

◆ discrete_distribution() [5/5]

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

Definition at line 5360 of file random.h.

Member Function Documentation

◆ __generate() [1/3]

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

Definition at line 5429 of file random.h.

◆ __generate() [2/3]

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

Definition at line 5436 of file random.h.

◆ __generate() [3/3]

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

Definition at line 5443 of file random.h.

◆ max()

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

Returns the least upper bound value of the distribution.

Definition at line 5407 of file random.h.

References std::vector< _Tp, _Alloc >::empty(), and std::vector< _Tp, _Alloc >::size().

◆ min()

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

Returns the greatest lower bound value of the distribution.

Definition at line 5400 of file random.h.

◆ operator()() [1/2]

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

Generating functions.

Definition at line 5418 of file random.h.

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

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

◆ operator()() [2/2]

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

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

◆ param() [1/2]

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

Returns the parameter set of the distribution.

Definition at line 5385 of file random.h.

◆ param() [2/2]

template<typename _IntType = int>
void std::discrete_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 5393 of file random.h.

◆ probabilities()

template<typename _IntType = int>
std::vector< double > std::discrete_distribution< _IntType >::probabilities ( ) const
inline

Returns the probabilities of the distribution.

Definition at line 5375 of file random.h.

References std::vector< _Tp, _Alloc >::empty().

◆ reset()

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

Resets the distribution state.

Definition at line 5368 of file random.h.

Friends And Related Function Documentation

◆ operator<<

template<typename _IntType = int>
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_ostream< _CharT, _Traits > & operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const std::discrete_distribution< _IntType1 > &  __x 
)
friend

Inserts a discrete_distribution random number distribution __x into the output stream __os.

Parameters
__osAn output stream.
__xA discrete_distribution random number distribution.
Returns
The output stream with the state of __x inserted or in an error state.

◆ operator==

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

Return true if two discrete distributions have the same parameters.

Definition at line 5453 of file random.h.

◆ operator>>

template<typename _IntType = int>
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_istream< _CharT, _Traits > & operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
std::discrete_distribution< _IntType1 > &  __x 
)
friend

Extracts a discrete_distribution random number distribution __x from the input stream __is.

Parameters
__isAn input stream.
__xA discrete_distribution random number generator engine.
Returns
The input stream with __x extracted or in an error state.

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