![]() |
Home | Libraries | People | FAQ | More |
boost::random::generalized_inverse_gaussian_distribution
// In header: <boost/random/generalized_inverse_gaussian_distribution.hpp> template<typename RealType> class generalized_inverse_gaussian_distribution { public: // types typedef RealType ; typedef RealType ; // member classes/structs/unions class param_type { public: // types typedef generalized_inverse_gaussian_distribution ; // public member functions (RealType = , RealType = , RealType = ); RealType () ; RealType () ; RealType () ; // friend functions template<typename CharT, typename Traits> CharT, Traits > & (CharT, Traits > &, const param_type &); template<typename CharT, typename Traits> CharT, Traits > & (CharT, Traits > &, const param_type &); bool (const param_type &, const param_type &); bool (const param_type &, const param_type &); }; // public member functions (RealType = , RealType = , RealType = ); (const param_type &); template<typename URNG> RealType (URNG &) ; template<typename URNG> result_type (URNG &, const param_type &) ; RealType () ; RealType () ; RealType () ; RealType () ; RealType () ; param_type () ; void (const param_type &); void (); // friend functions template<typename CharT, typename Traits> CharT, Traits > & (CharT, Traits > &, const generalized_inverse_gaussian_distribution &); template<typename CharT, typename Traits> CharT, Traits > & (CharT, Traits > &, const generalized_inverse_gaussian_distribution &); bool (const generalized_inverse_gaussian_distribution &, const generalized_inverse_gaussian_distribution &); bool (const generalized_inverse_gaussian_distribution &, const generalized_inverse_gaussian_distribution &); };
The generalized inverse gaussian distribution is a real-valued distribution with three parameters p, a, and b. It produced values > 0.
It has . where
is a modified Bessel function of the second kind.
The algorithm used is from
"Random variate generation for the generalized inverse Gaussian distribution", Luc Devroye, Statistics and Computing, Volume 24, 2014, Pages 236 - 246
generalized_inverse_gaussian_distribution
public member functions(RealType p = , RealType a = , RealType b = );
Constructs an generalized_inverse_gaussian_distribution
from its "p", "a", and "b" parameters.
Requires: a > 0 && b >= 0 if p > 0, a > 0 && b > 0 if p == 0, a >= 0 && b > 0 if p < 0
(const param_type & param);
Constructs an generalized_inverse_gaussian_distribution
from its parameters.
template<typename URNG> RealType (URNG & urng) ;
Returns a random variate distributed according to the generalized inverse gaussian distribution.
template<typename URNG> result_type (URNG & urng, const param_type & param) ;
Returns a random variate distributed accordint to the beta distribution with parameters specified by param
.
RealType () ;
Returns the "p" parameter of the distribution.
RealType () ;
Returns the "a" parameter of the distribution.
RealType () ;
Returns the "b" parameter of the distribution.
RealType () ;
Returns the smallest value that the distribution can produce.
RealType () ;
Returns the largest value that the distribution can produce.
param_type () ;
Returns the parameters of the distribution.
void (const param_type & param);
Sets the parameters of the distribution.
void ();
Effects: Subsequent uses of the distribution do not depend on values produced by any engine prior to invoking reset.
generalized_inverse_gaussian_distribution
friend functionstemplate<typename CharT, typename Traits> CharT, Traits > & (CharT, Traits > & os, const generalized_inverse_gaussian_distribution & wd);
Writes an generalized_inverse_gaussian_distribution
to a std::ostream
.
template<typename CharT, typename Traits> CharT, Traits > & (CharT, Traits > & is, const generalized_inverse_gaussian_distribution & wd);
Reads an generalized_inverse_gaussian_distribution
from a std::istream
.
bool (const generalized_inverse_gaussian_distribution & lhs, const generalized_inverse_gaussian_distribution & rhs);
Returns true if the two instances of generalized_inverse_gaussian_distribution
will return identical sequences of values given equal generators.
bool (const generalized_inverse_gaussian_distribution & lhs, const generalized_inverse_gaussian_distribution & rhs);
Returns true if the two instances of generalized_inverse_gaussian_distribution
will return different sequences of values given equal generators.