10 #if !defined(EXRANDOM_UNIT_EXPONENTIAL_DISTRIBUTION_HPP) 11 #define EXRANDOM_UNIT_EXPONENTIAL_DISTRIBUTION_HPP 1 39 template<
typename RealType =
double>
71 : _exponential_dist(_D) {}
105 template<
typename Generator>
108 {
return _exponential_dist.template value<result_type>(g); }
115 template<
typename Generator>
166 static_assert(!std::numeric_limits<RealType>::is_integer,
167 "template argument not a floating point type");
169 static const uint_t _base = std::numeric_limits<RealType>::radix == 2 ?
170 0UL : std::numeric_limits<RealType>::radix;
178 #endif // EXRANDOM_UNIT_EXPONENTIAL_DISTRIBUTION_HPP
friend bool operator!=(const unit_exponential_distribution< RealType > &, const unit_exponential_distribution< RealType > &)
unit_exponential_distribution()
Parameter type for unit_exponential_distribution.
friend std::ostream & operator<<(std::ostream &os, const unit_exponential_distribution< RealType > &)
result_type operator()(Generator &g, const param_type &)
Definition of rand_digit.
unit_exponential_distribution< RealType > distribution_type
unit_exponential_distribution(const param_type &)
Sample u-rands exactly from the unit exponential distribution.
result_type operator()(Generator &g)
void param(const param_type &)
Definition of unit_exponential_dist.
Sample exactly from the unit exponential distribution.
friend std::istream & operator>>(std::istream &is, unit_exponential_distribution &)
friend bool operator==(const unit_exponential_distribution< RealType > &, const unit_exponential_distribution< RealType > &)