discrete_distribution クラス
整数の離散分布を生成します。
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;
};
パラメーター
パラメーター |
説明 |
---|---|
IntType |
結果を表す整数型。 |
解説
このテンプレート クラスは、均一幅の確率ヒストグラムに従って分布されるユーザー指定の整数型の値を生成する<random>を表します。
次の 3 種類の分布は非常に似通っています。
discrete_distribution では、区間の幅は均一であり、各区間の確率も均一です。
piecewise_constant_distribution クラス では、区間の幅は変化しますが、各区間の確率は均一です。
piecewise_linear_distribution クラス では、区間の幅は変化し、確率も各区間で直線的に変化します。
必要条件
ヘッダー : <random>
名前空間: std
参照
関連項目
discrete_distribution::discrete_distribution
discrete_distribution::operator()