discrete_distribution::discrete_distribution
Construit la distribution.
// default constructor discrete_distribution(); // constructs using a range of weights, [firstW, lastW) template<class InputIterator> discrete_distribution(InputIterator firstW, InputIterator lastW); // constructs using an initializer list for range of weights discrete_distribution(initializer_list<double> weightlist); // constructs using unary operation function template<class UnaryOperation> discrete_distribution(size_t count, double xmin, double xmax, UnaryOperation weightfunc); // constructs from an existing param_type structure explicit discrete_distribution(const param_type& parm);
Paramètres
firstW
Premier itérateur dans la liste à partir duquel construire la distribution.lastW
Dernier itérateur dans la liste à partir duquel construire la distribution (non compris car les itérateurs utilisent un élément vide pour la fin).weightlist
initializer_list depuis laquelle construire la distribution.count
Nombre d'éléments dans la plage de distribution. Si count==0, équivalent au constructeur par défaut (génère toujours zéro).minx
Valeur la plus faible de la plage de distribution.maxw
Valeur la plus élevée de la plage de distribution.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 construit un objet dont la valeur de probabilité stockée a un élément avec la valeur 1. Cela aboutit à une distribution qui génère toujours zéro.
Le constructeur de plage d'itérateurs
template<class InputIterator>
discrete_distribution(InputIterator firstW, InputIterator lastW);
construit un objet de distribution avec des poids à partir des itérateurs sur la séquence d'intervalle [firstI, lastI).
Le constructeur de listes d'initialiseurs
discrete_distribution(initializer_list<double> weightlist);
construit un objet de distribution avec des poids à partir de la liste d'initialiseurs weightlist.
Le constructeur défini en tant que
template<class UnaryOperation>
discrete_distribution(size_t count, double xmin, double xmax, UnaryOperation funcweight);
construit un objet de distribution dont la valeur de probabilité stockée est initialisée selon les règles suivantes. Si count < 1, n = 1 et, en tant que tel, est équivalent au constructeur par défaut, qui génère toujours zéro. Si count > 0, n = count. Sous réserve que 0 < d = (maxw - minw)/n, en utilisant d sous-plages uniformes, chaque poids est affecté comme suit : weightk = weightfunc(x), où x = xmin + k * d + d/2, pour k = 0, ..., n - 1.
Le constructeur défini en tant que
explicit discrete_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