piecewise_linear_distribution::piecewise_linear_distribution
Construit la 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);
Paramètres
firstI
Itérateur d'entrée du premier élément de la plage de distribution.lastI
Itérateur d'entrée du dernier élément de la plage de distribution.firstW
Itérateur d'entrée du premier élément de la plage de poids.intervals
initializer_list avec les intervalles de la distribution.count
Nombre d'éléments dans la plage de distribution.xmin
Valeur la plus faible de la plage de distribution.xmax
Valeur la plus élevée de la plage de distribution. Doit être supérieure à xmin.weightfunc
Objet représentant la fonction de probabilité pour la distribution. Le paramètre et la valeur de retour doivent tous deux être convertibles en double.parm
Structure de paramètre utilisée pour construire la distribution.
Notes
Le constructeur par défaut définit les paramètres stockés pour qu'il y ait un intervalle, de 0 à 1, avec une densité de probabilité de 1.
Le constructeur de plage d'itérateurs
template<class InputIteratorI, class InputIteratorW>
piecewise_linear_distribution(InputIteratorI firstI, InputIteratorI lastI,
InputIteratorW firstW);
construit un objet de distribution avec des intervalles à partir des itérateurs sur la séquence [firstI, lastI) et une séquence de poids correspondante à firstW.
Le constructeur de listes d'initialiseurs
template<class UnaryOperation>
piecewise_linear_distribution(initializer_list<RealType> intervals,
UnaryOperation weightfunc);
construit un objet de distribution avec des intervalles à partir de la valeur intervals de la liste d'initialiseurs et des poids générés à partir de la fonction weightfunc.
Le constructeur défini en tant que
template<class UnaryOperation>
piecewise_linear_distribution(size_t count, RealType xmin, RealType xmax,
UnaryOperation weightfunc);
construit un objet de distribution avec count intervalles distribués uniformément sur [xmin,xmax], en assignant à chaque intervalle des poids d'après la fonction weightfunc, et weightfunc doit accepter un paramètre et avoir une valeur de retour, tous deux étant convertibles en double. Condition préalable : xmin < xmax.
Le constructeur défini en tant que
explicit piecewise_linear_distribution(const param_type& parm);
construit un objet de distribution en utilisant parm en tant que structure de paramètre stocké.
Configuration requise
En-tête : <random>
Espace de noms : std