piecewise_linear_distribution::piecewise_linear_distribution
分布を作成します。
piecewise_linear_distribution();
template<class InIt1, class InIt2>
piecewise_linear_distribution(InIt1 first1, InIt1 last1,
InIt2 first2);
template<class Fn>
piecewise_linear_distribution(size_t count,
double low, double high, Fn func);
explicit piecewise_linear_distribution(const param_type& par0);
パラメーター
first1
分布範囲内の先頭の要素の位置を示す入力反復子。last1
分布範囲内の最後の要素の位置を示す入力反復子。first2
新しい分布範囲内の先頭の要素の位置を示す入力反復子。count
分布範囲内にある要素の数。low
分布範囲内の最小値。high
分布範囲内の最大値。func
分布の確率関数を表すオブジェクト。par0
分布の作成に使用されるパラメーター パッケージ。
解説
前提条件: stored_p に格納されるすべての要素が負数ではなく、少なくとも 1 つの要素がゼロ以外であること。
1 つ目のコンストラクターは、格納されている値 stored_x に値 RealType(0.0) と RealType(1.0) を保持し、格納されている値 stored_p に値 1.0 と 1.0 を保持するオブジェクトを作成します。
2 つ目のコンストラクターは、格納されている値 stored_x がシーケンス [first1, last1) で初期化されたオブジェクトを作成します。stored_p は、first2 から始まる stored_x.size() 要素によって初期化されます。
3 つ目のコンストラクターは、格納されている値 stored_p が count 個の要素で初期化されたオブジェクトを作成します。このコンストラクターは、範囲 high - low を count 個のサブ範囲に分割した後、サブ範囲 I の中央にある x の値 func(x) を要素 I に格納します。また、stored_x の中に、これらのサブ範囲の count + 1 個のエンドポイントを格納します。
4 つ目のコンストラクターは、格納されているパラメーターが par0 から初期化されるオブジェクトを作成します。
どの場合でも、シーケンスの要素が 2 つよりも少ない場合、stored_x には RealType(0.0) と RealType(1.0) という 2 つの要素が格納され、stored_p には値が 1 である 2 つの要素が格納されます。さらに、stored_p は、すべての確率区間の合計が 1 になるように正規化されます。
必要条件
ヘッダー : <random>
名前空間: std