piecewise_linear_distribution::piecewise_linear_distribution
Constructs the distribution.
// default constructor
piecewise_linear_distribution();
// constructs using a range of intervals, [firstI, lastI), with
// matching weights starting at firstW
template<class InputIteratorI, class InputIteratorW>
piecewise_linear_distribution(InputIteratorI firstI, InputIteratorI lastI, InputIteratorW firstW);
// constructs using an initializer list for range of intervals,
// with weights generated by function weightfunc
template<class UnaryOperation>
piecewise_linear_distribution(initializer_list<RealType> intervals, UnaryOperation weightfunc);
// constructs using an initializer list for range of count intervals,
// distributed uniformly over [xmin,xmax] with weights generated by function weightfunc
template<class UnaryOperation>
piecewise_linear_distribution(size_t count, RealType xmin, RealType xmax, UnaryOperation weightfunc);
// constructs from an existing param_type structure
explicit piecewise_linear_distribution(const param_type& parm);
Parameters
firstI
An input iterator of the first element in the distribution range.lastI
An input iterator of the last element in the distribution range.firstW
An input iterator of the first element in the weights range.intervals
An initializer_list with the intervals of the distribution.count
The number of elements in the distribution range.xmin
The lowest value in the distribution range.xmax
The highest value in the distribution range. Must be greater than xmin.weightfunc
The object representing the probability function for the distribution. Both the parameter and the return value must be convertible to double.parm
The parameter structure used to construct the distribution.
Remarks
The default constructor sets the stored parameters such that there is one interval, 0 to 1, with a probability density of 1.
The iterator range constructor
template<class InputIteratorI, class InputIteratorW>
piecewise_linear_distribution(InputIteratorI firstI, InputIteratorI lastI,
InputIteratorW firstW);
constructs a distribution object with itnervals from iterators over the sequence [firstI, lastI) and a matching weight sequence starting at firstW.
The initializer list constructor
template<class UnaryOperation>
piecewise_linear_distribution(initializer_list<RealType> intervals,
UnaryOperation weightfunc);
constructs a distribution object with intervals from the intializer list intervals and weights generated from the function weightfunc.
The constructor defined as
template<class UnaryOperation>
piecewise_linear_distribution(size_t count, RealType xmin, RealType xmax,
UnaryOperation weightfunc);
constructs a distribution object with count intervals distributed uniformly over [xmin,xmax], assigning each interval weights according to the function weightfunc, and weightfunc must accept one parameter and have a return value, both of which are convertible to double. **Precondition:**xmin < xmax.
The constructor defined as
explicit piecewise_linear_distribution(const param_type& parm);
constructs a distribution object using parm as the stored parameter structure.
Requirements
Header: <random>
Namespace: std