[rand.dist.norm.f]

# 29 Numerics library [[numerics]](./#numerics)

## 29.5 Random number generation [[rand]](rand#dist.norm.f)

### 29.5.9 Random number distribution class templates [[rand.dist]](rand.dist#norm.f)

#### 29.5.9.5 Normal distributions [[rand.dist.norm]](rand.dist.norm#f)

#### 29.5.9.5.5 Class template fisher_f_distribution [rand.dist.norm.f]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L6066)

A fisher_f_distribution random number distribution
produces random numbers x â¥ 0 distributed according to
the probability density function in Formula [29.17](#eq:rand.dist.norm.f)[.](#1.sentence-1)

p(x|m,n)=Î((m+n)/2)Î(m/2)Î(n/2)â(mn)m/2âx(m/2)â1â(1+mxn)â(m+n)/2(29.17)

[ð](#lib:fisher_f_distribution_)

namespace std {template<class RealType = double>class fisher_f_distribution {public:// typesusing result_type = RealType; using param_type = *unspecified*; // constructor and reset functions fisher_f_distribution() : fisher_f_distribution(1.0) {}explicit fisher_f_distribution(RealType m, RealType n = 1.0); explicit fisher_f_distribution(const param_type& parm); void reset(); // equality operatorsfriend bool operator==(const fisher_f_distribution& x, const fisher_f_distribution& y); // generating functionstemplate<class URBG> result_type operator()(URBG& g); template<class URBG> result_type operator()(URBG& g, const param_type& parm); // property functions RealType m() const;
 RealType n() const;
 param_type param() const; void param(const param_type& parm);
 result_type min() const;
 result_type max() const; // inserters and extractorstemplate<class charT, class traits>friend basic_ostream<charT, traits>&operator<<(basic_ostream<charT, traits>& os, const fisher_f_distribution& x); template<class charT, class traits>friend basic_istream<charT, traits>&operator>>(basic_istream<charT, traits>& is, fisher_f_distribution& x); };}

[ð](#lib:fisher_f_distribution,constructor)

`explicit fisher_f_distribution(RealType m, RealType n = 1);
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L6129)

*Preconditions*: 0<m and 0<n[.](#2.sentence-1)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L6133)

*Remarks*: m and n correspond to the respective parameters of the distribution[.](#3.sentence-1)

[ð](#lib:m,fisher_f_distribution)

`RealType m() const;
`

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L6145)

*Returns*: The value of the m parameter
 with which the object was constructed[.](#4.sentence-1)

[ð](#lib:n,fisher_f_distribution)

`RealType n() const;
`

[5](#5)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L6157)

*Returns*: The value of the n parameter
 with which the object was constructed[.](#5.sentence-1)
