discrete_distribution::discrete_distribution
Costruisce la distribuzione.
// 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);
Parametri
firstW
Primo iteratore nell'elenco da cui costruire la distribuzione.lastW
Ultimo iteratore nell'elenco da cui costruire la distribuzione (non comprensivo, perché gli iteratori usano un elemento vuoto per la fine).weightlist
Oggetto initializer_list dal quale costruire la distribuzione.count
Numero di elementi nell'intervallo di distribuzioni. Se count==0, equivale al costruttore predefinito (genera sempre zero).minx
Valore minimo dell'intervallo di distribuzioni.maxw
Valore massimo dell'intervallo di distribuzioni.weightfunc
Oggetto che rappresenta la funzione di probabilità per la distribuzione. Il parametro e il valore restituito devono essere convertibili in double.parm
Struttura di parametri usata per costruire la distribuzione.
Note
Il costruttore predefinito costruisce un oggetto il cui valore di probabilità archiviato presenta un elemento con valore 1. Questo darà luogo a una distribuzione che genera sempre uno zero.
Il costruttore di intervalli di iteratori
template<class InputIterator>
discrete_distribution(InputIterator firstW, InputIterator lastW);
crea un oggetto di distribuzione con i pesi provenienti dagli iteratori della sequenza dell'intervallo [firstI, lastI).
Il costruttore di elenchi di inizializzatori
discrete_distribution(initializer_list<double> weightlist);
crea un oggetto di distribuzione con i pesi dall'elenco di inizializzatori weightlist.
Il costruttore definito come
template<class UnaryOperation>
discrete_distribution(size_t count, double xmin, double xmax, UnaryOperation funcweight);
crea un oggetto di distribuzione il cui valore di probabilità archiviato viene inizializzato in base alle regole seguenti. Se count < 1, n = 1 e come tale è equivalente al costruttore predefinito, viene sempre generato zero. Se count > 0, n = count. A condizione che 0 < d = (maxw - minw)/n, usando intervalli uniformi d, ogni peso viene assegnato come segue: weightk = weightfunc(x), dove x = xmin + k * d + d/2, per k = 0, ..., n - 1.
Il costruttore definito come
explicit discrete_distribution(const param_type& parm);
crea un oggetto di distribuzione usando parm come struttura di parametri archiviata.
Requisiti
Intestazione: <random>
Spazio dei nomi: std