...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::random::cauchy_distribution
// In header: <boost/random/cauchy_distribution.hpp> template<typename RealType = double> class cauchy_distribution { public: // types typedef RealType input_type; typedef RealType result_type; // member classes/structs/unions class param_type { public: // types typedef cauchy_distribution distribution_type; // public member functions explicit param_type(RealType = 0.0, RealType = 1.0); RealType median() const; RealType sigma() const; RealType a() const; RealType b() const; // friend functions template<typename CharT, typename Traits> std::basic_ostream< CharT, Traits > & operator<<(std::basic_ostream< CharT, Traits > &, const param_type &); template<typename CharT, typename Traits> std::basic_istream< CharT, Traits > & operator>>(std::basic_istream< CharT, Traits > &, const param_type &); bool operator==(const param_type &, const param_type &); bool operator!=(const param_type &, const param_type &); }; // public member functions explicit cauchy_distribution(RealType = 0.0, RealType = 1.0); explicit cauchy_distribution(const param_type &); RealType median() const; RealType sigma() const; RealType a() const; RealType b() const; RealType min() const; RealType max() const; param_type param() const; void param(const param_type &); void reset(); template<typename Engine> result_type operator()(Engine &); template<typename Engine> result_type operator()(Engine &, const param_type &); // friend functions template<typename CharT, typename Traits> std::basic_ostream< CharT, Traits > & operator<<(std::basic_ostream< CharT, Traits > &, const cauchy_distribution &); template<typename CharT, typename Traits> std::basic_istream< CharT, Traits > & operator>>(std::basic_istream< CharT, Traits > &, const cauchy_distribution &); bool operator==(const cauchy_distribution &, const cauchy_distribution &); bool operator!=(const cauchy_distribution &, const cauchy_distribution &); };
The cauchy distribution is a continuous distribution with two parameters, median and sigma.
It has
cauchy_distribution
public member functionsexplicit cauchy_distribution(RealType median = 0.0, RealType sigma = 1.0);
Constructs a cauchy_distribution
with the paramters median
and sigma
.
explicit cauchy_distribution(const param_type & param);
Constructs a cauchy_distribution
from it's parameters.
RealType median() const;
Returns: the "median" parameter of the distribution
RealType sigma() const;
Returns: the "sigma" parameter of the distribution
RealType a() const;
Returns: the "median" parameter of the distribution
RealType b() const;
Returns: the "sigma" parameter of the distribution
RealType min() const;
Returns the smallest value that the distribution can produce.
RealType max() const;
Returns the largest value that the distribution can produce.
param_type param() const;
void param(const param_type & param);
void reset();
Effects: Subsequent uses of the distribution do not depend on values produced by any engine prior to invoking reset.
template<typename Engine> result_type operator()(Engine & eng);
Returns: A random variate distributed according to the cauchy distribution.
template<typename Engine> result_type operator()(Engine & eng, const param_type & param);
Returns: A random variate distributed according to the cauchy distribution with parameters specified by param.
cauchy_distribution
friend functionstemplate<typename CharT, typename Traits> std::basic_ostream< CharT, Traits > & operator<<(std::basic_ostream< CharT, Traits > & os, const cauchy_distribution & cd);
Writes the distribution to a std::ostream
.
template<typename CharT, typename Traits> std::basic_istream< CharT, Traits > & operator>>(std::basic_istream< CharT, Traits > & is, const cauchy_distribution & cd);
Reads the distribution from a std::istream
.
bool operator==(const cauchy_distribution & lhs, const cauchy_distribution & rhs);
Returns true if the two distributions will produce identical sequences of values, given equal generators.
bool operator!=(const cauchy_distribution & lhs, const cauchy_distribution & rhs);
Returns true if the two distributions may produce different sequences of values, given equal generators.