A RandomNumberDistribution
is a function object returning random numbers according to a probability density function p(x) or a discrete probability distribution P(x
i).
Requirements
-
D
is a class meeting theRandomNumberDistribution
requirements. It shall also satisfy theCopyConstructible
andCopyAssignable
requirements. -
T
is the associatedresult_type
. -
P
is the associatedparam_type
. It shall satisfy theCopyConstructible
,CopyAssignable
, andEqualityComparable
requirements. It also has constructors that take the same arguments of the same types as the constructors ofD
and has member functions identical to the parameter-returning getters ofD
-
d
is an object ofD
andx
,y
are potentially const objects ofD
. -
p
is a possibly constant value ofP
. -
g
,g1
,g2
are lvalues meeting theUniformRandomNumberGenerator
concept. -
os
is an lvalue ofstd::basic_ostream
. -
is
is an lvalue ofstd::basic_istream
.
Expression | Type | Notes | Complexity |
---|---|---|---|
D::result_type | T | An arithmetic type | compile-time |
D::param_type | P | compile-time | |
D() | constant | ||
D(p) | Same as p 's construction | ||
d.reset() | void | Resets the internal state of the distribution object. After a call to this function, the next call to operator() on the distribution object will not be dependent on previous calls to operator() . | constant |
x.param() | P | No worse than D(p) | |
d.param(p) | void | No worse than D(p) | |
d(g) | T | d(g, d.param()) | Same as d(g, d.param()) |
d(g,p) | T | When called with the same g and p parameter it returns a sequence of numbers distributed according to p(x;p ) or P(xi; p ) | Amortized constant number of invocations of g |
x.min() | T | The greatest lower bound returned by operator() | constant |
x.max() | T | The least upper bound returned by operator() | constant |
x == y | bool | constant | |
x != y | bool | !(x == y) | constant |
os << x | Reference to the type of os | Writes a textual representation of the distribution parameters and internal state to os as textual representation. The formatting flags and fill character of os are unchanged. | |
is >> d | Reference to the type of is | Restores the distribution parameters and internal state with data read from is . The formatting flags of is are unchanged. The data must have been written using a stream with the same locale, CharT and Traits template parameters, otherwise the behavior is undefined. If bad input is encountered, is.setstate(std::ios::failbit) is called, which may throw std::ios_base::failure . d is unchanged in that case. |
Notes
The parameters of a distribution object may be changed either permanently, by using d.param(p)
or just for the duration of a single operator() call, by using d(g,p)
.
Please login to continue.