uniform_real_distribution() : uniform_real_distribution(0.0) { } | (1) | (since C++11) |

explicit uniform_real_distribution( RealType a, RealType b = 1.0 ); | (1) | (since C++11) |

explicit uniform_real_distribution( const param_type& params ); | (2) | (since C++11) |

Constructs a new distribution object. (2) uses `a`

and `b`

as the distribution parameters, (3) uses `params`

as the distribution parameters.

a | - | the a distribution parameter (minimum value) |

b | - | the b distribution parameter (maximum value) |

params | - | the distribution parameter set |

Requires that a ≤ b and b-a ≤ std::numeric_limits<RealType>::max().

If `a == b`

, subsequent calls to the `operator()`

overload that does not accept a `param_type`

object will cause undefined behavior.

To create a distribution over the closed interval [a,b], `std::nextafter(b, std::numeric_limits<RealType>::max())`

may be used as the second parameter.

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|

P0935R0 | C++11 | default constructor was explicit | made implicit |

© cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

http://en.cppreference.com/w/cpp/numeric/random/uniform_real_distribution/uniform_real_distribution