ExRandom
3.0
|
Sample exactly from the unit exponential distribution. More...
#include <exrandom/unit_exponential_distribution.hpp>
Classes | |
struct | param_type |
Parameter type for unit_exponential_distribution. More... | |
Public Types | |
typedef RealType | result_type |
Public Member Functions | |
unit_exponential_distribution () | |
unit_exponential_distribution (const param_type &) | |
void | reset () |
param_type | param () const |
void | param (const param_type &) |
result_type | min () const |
result_type | max () const |
template<typename Generator > | |
result_type | operator() (Generator &g) |
template<typename Generator > | |
result_type | operator() (Generator &g, const param_type &) |
Friends | |
bool | operator== (const unit_exponential_distribution< RealType > &, const unit_exponential_distribution< RealType > &) |
bool | operator!= (const unit_exponential_distribution< RealType > &, const unit_exponential_distribution< RealType > &) |
std::ostream & | operator<< (std::ostream &os, const unit_exponential_distribution< RealType > &) |
std::istream & | operator>> (std::istream &is, unit_exponential_distribution &) |
Sample exactly from the unit exponential distribution.
This samples from the unit exponential distribution P(x) = exp(−x) for x > 0. This is a replacement for std::exponential_distribution (with no parameters). It is equivalent to sampling a real number exactly from the distribution and rounding it to a floating point number. This implements Algorithm V.
RealType | the floating point type of the resulting deviates. This can include various multi-precision floating point types; see u_rand::value of details. |
This is a wrapper for unit_exponential_dist to turn it into a C++11 style random distribution. If the radix of RealType is 2 (the usual case), then the base for unit_exponential_dist is set to 232; otherwise (e.g., RealType is a decimal system), the base is set to the radix.
Definition at line 40 of file unit_exponential_distribution.hpp.
typedef RealType exrandom::unit_exponential_distribution< RealType >::result_type |
The type of the range of the distribution.
Definition at line 45 of file unit_exponential_distribution.hpp.
|
inlineexplicit |
Constructs an exponential distribution.
Definition at line 62 of file unit_exponential_distribution.hpp.
|
inlineexplicit |
Constructs an exponential distribution with a parameter.
The parameter is ignored because it has no state.
Definition at line 70 of file unit_exponential_distribution.hpp.
|
inline |
Resets the distribution state.
Definition at line 76 of file unit_exponential_distribution.hpp.
|
inline |
Definition at line 81 of file unit_exponential_distribution.hpp.
|
inline |
Sets the parameter set of the distribution.
The function does not because a param_type has no state.
Definition at line 88 of file unit_exponential_distribution.hpp.
|
inline |
Definition at line 93 of file unit_exponential_distribution.hpp.
|
inline |
Definition at line 98 of file unit_exponential_distribution.hpp.
|
inline |
Generator | the type of g. |
g | the random generator engine. |
Definition at line 107 of file unit_exponential_distribution.hpp.
|
inline |
Generator | the type of g. |
g | the random generator engine. |
Definition at line 117 of file unit_exponential_distribution.hpp.
|
friend |
Compare two unit_exponential_distributions.
Definition at line 125 of file unit_exponential_distribution.hpp.
|
friend |
Contrast two unit_exponential_distributions.
Definition at line 134 of file unit_exponential_distribution.hpp.
|
friend |
Inserts a unit_exponential_distribution random number distribution into the output stream os.
os | an output stream. |
This function does nothing because this distribution has no state.
Definition at line 148 of file unit_exponential_distribution.hpp.
|
friend |
Extracts a unit_exponential_distribution random number distribution from the input stream is.
is | an input stream. |
This function does nothing because this distribution has no state.
Definition at line 162 of file unit_exponential_distribution.hpp.