Partager via


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

Voir aussi

Référence

<random>

discrete_distribution, classe