Compartilhar via


discrete_distribution::discrete_distribution

Constrói a distribuição.

 // 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); 

Parâmetros

  • firstW
    O primeiro iterador na lista do qual a distribuição deve ser construída.

  • lastW
    O último iterador na lista do qual a distribuição deve ser construída (não inclusivo, pois os iteradores usam um elemento vazio no final).

  • weightlist
    O initializer_list do qual construir a distribuição.

  • count
    O número de elementos no intervalo de distribuição. Se count==0, equivalente ao construtor padrão (sempre gera zero).

  • minx
    O valor mais baixo no intervalo de distribuição.

  • maxw
    O valor mais alto no intervalo de distribuição.

  • weightfunc
    O objeto que representa a função de probabilidade para a distribuição. Deve ser possível converter o valor retornado e o parâmetro em double.

  • parm
    A estrutura do parâmetro usada para construir a distribuição.

Comentários

O construtor padrão constrói um objeto cujo valor de probabilidade armazenado possui um elemento com valor 1. Isso resultará em uma distribuição que sempre gera um zero.

O construtor do intervalo do iterador,

template<class InputIterator>
discrete_distribution(InputIterator firstW, InputIterator lastW);

constrói um objeto de distribuição com pesos dos iteradores na sequência de intervalo [firstI, lastI).

O construtor da lista do inicializador

discrete_distribution(initializer_list<double> weightlist);

constrói um objeto de distribuição com pesos da lista do inicializador weightlist.

O construtor definido como

template<class UnaryOperation>
discrete_distribution(size_t count, double xmin, double xmax, UnaryOperation funcweight);

constrói um objeto de distribuição cujo valor de probabilidade armazenado é inicializado com base nas seguintes regras. Se count < 1, n = 1 e, como tal, equivale ao construtor padrão, sempre gerando zero. Se count > 0, n = count. Fornecido 0 < d = (maxw - minw)/n, usando d subintervalos uniformes, cada peso é atribuído da seguinte forma: weightk = weightfunc(x), em que x = xmin + k * d + d/2, para k = 0, ..., n - 1.

O construtor definido como

explicit discrete_distribution(const param_type& parm);

constrói um objeto de distribuição usando parm como estrutura de parâmetro armazenada.

Requisitos

Cabeçalho: <random>

Namespace: std

Consulte também

Referência

<random>

Classe discrete_distribution