生成一个分段线性分布。
template<class RealType = double>
class piecewise_linear_distribution {
public:
typedef RealType result_type;
struct param_type;
piecewise_linear_distribution();
template<class InIt1, class InIt2>
piecewise_linear_distribution(InIt1 first1, InIt1 last1,
InIt2 first2);
template<class Fn>
piecewise_linear_distribution(initializer_list<RealType> init, Fn func);
template<class Fn>
piecewise_linear_distribution(size_t count,
double low, double high, Fn func);
explicit piecewise_linear_distribution(const param_type& par0);
std::vector<double> densities() const;
std::vector<RealType> intervals() 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;
std::vector<RealType> stored_x;
};
参数
Parameter |
说明 |
---|---|
RealType |
浮点结果类型。 |
备注
生成基于概率更改宽度直方图分配的用户指定的浮点类型的值的模板选件类描述 分发,当概率线性地改变在每个间隔。
三个分发非常相似:
discrete_distribution 具有统一的概率的统一间距宽度每个间隔。
piecewise_constant_distribution 具有统一的概率的更改宽度间隔在每个间隔。
piecewise_linear_distribution 具有线性异的概率的更改宽度间隔在每个间隔。
要求
标头: <random>
命名空间: std
请参见
参考
piecewise_linear_distribution::densities
piecewise_linear_distribution::intervals
piecewise_linear_distribution::operator()
piecewise_linear_distribution::param
piecewise_linear_distribution::param_type
piecewise_linear_distribution::piecewise_linear_distribution