# 29 Numerics library [numerics]

## 29.6 Random number generation [rand]

### 29.6.8 Random number distribution class templates [rand.dist]

#### 29.6.8.5.5 Class template fisher_­f_­distribution[rand.dist.norm.f]

A fisher_­f_­distribution random number distribution produces random numbers x≥0 distributed according to the probability density function

p(x|m,n)=Γ((m+n)/2)Γ(m/2)Γ(n/2)(mn)m/2x(m/2)1(1+mxn)(m+n)/2.

```template<class RealType = double>
class fisher_f_distribution {
public:
// types
using result_type = RealType;
using param_type  = unspecified;

// constructor and reset functions
explicit fisher_f_distribution(RealType m = 1, RealType n = 1);
explicit fisher_f_distribution(const param_type& parm);
void reset();

// generating functions
template<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;
};```

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

Requires: 0<m and 0<n.

Effects: Constructs a fisher_­f_­distribution object; m and n correspond to the respective parameters of the distribution.

```RealType m() const; ```

Returns: The value of the m parameter with which the object was constructed.

```RealType n() const; ```

Returns: The value of the n parameter with which the object was constructed.