C++ 概念: RandomNumberDistribution

来自cppreference.com

一个RandomNumberDistribution是一个函数对象,根据返回的随机数概率密度函数p(x)离散概率分布P(x
i
)
.
Original:
A RandomNumberDistribution is a function object returning random numbers according to a 概率密度函数 p(x) or a 离散概率分布 P(x
i
)
.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[编辑] 要求

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(x
i
;p)
Amortized constant number of incovations 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
y != 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.