class template
<random>

# std::cauchy_distribution

template <class RealType = double> class cauchy_distribution;
Cauchy distribution
Random number distribution that produces floating-point values according to a Cauchy distribution, which is described by the following probability density function:

This distribution produces random numbers as the result of dividing two independent standard normal random variables (Normal with μ=0.0 and σ=1.0), like a Student-t distribution with one degree of freedom.

The distribution parameters, a and b, are set on construction.

To produce a random value following this distribution, call its member function operator().

### Template parameters

RealType
A floating-point type. Aliased as member type result_type.
By default, this is double.

### Member types

The following aliases are member types of cauchy_distribution:

member typedefinitionnotes
result_typeThe first template parameter (RealType)The type of the numbers generated (defaults to double)
param_typenot specifiedThe type returned by member param.

### Example

 12345678910111213141516171819202122232425262728 // cauchy_distribution #include #include int main() { const int nrolls=10000; // number of experiments const int nstars=100; // maximum number of stars to distribute std::default_random_engine generator; std::cauchy_distribution distribution(5.0,1.0); int p[10]={}; for (int i=0; i=0.0)&&(number<10.0)) ++p[int(number)]; } std::cout << "cauchy_distribution (5.0,1.0):" << std::endl; for (int i=0; i<10; ++i) { std::cout << i << "-" << (i+1) << ": "; std::cout << std::string(p[i]*nstars/nrolls,'*') << std::endl; } return 0; }

Possible output:
 cauchy_distribution (5.0,1.0): 0-1: * 1-2: ** 2-3: **** 3-4: ********** 4-5: ************************ 5-6: ************************* 6-7: ********* 7-8: **** 8-9: ** 9-10: *