生成一个分离整数分布。
template<class IntType = int>
class discrete_distribution {
public:
typedef IntType result_type;
struct param_type;
discrete_distribution();
explicit discrete_distribution(const param_type& par0);
template<class Fn>
discrete_distribution(size_t count,
double low, double high, Fn func);
explicit discrete_distribution(const param_type& par0);
std::vector<double> probabilities() const;
param_type param() const;
void param(const param_type& par0);
result_type min() const;
result_type max() const;
void reset();
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng,
const param_type& par0);
private:
std::vector<double> stored_p;
};
参数
Parameter |
说明 |
---|---|
IntType |
整数结果类型。 |
备注
生成基于概率统一宽度直方图分配的用户指定的整型值的此模板选件类描述 <random>。
三个分发非常相似:
discrete_distribution 具有统一的概率的统一间距宽度每个间隔。
piecewise_constant_distribution Class 具有统一的概率的更改宽度间隔在每个间隔。
piecewise_linear_distribution Class 具有线性异的概率的更改宽度间隔在每个间隔。
要求
标头: <random>
命名空间: std
请参见
参考
discrete_distribution::discrete_distribution
discrete_distribution::operator()