piecewise_linear_distribution::piecewise_linear_distribution
Erstellt die Verteilung.
// 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);
Parameter
firstI
Ein Eingabeiterator für das erste Element im Verteilungsbereich.lastI
Ein Eingabeiterator für das letzte Element im Verteilungsbereich.firstW
Ein Eingabeiterator für das erste Element im Gewichtsbereich.intervals
Eine initializer_list mit den Intervallen der Verteilung.count
Die Anzahl von Elementen im Verteilungsbereich.xmin
Der niedrigste Wert im Verteilungsbereich.xmax
Der höchste Wert im Verteilungsbereich. Muss größer sein als xmin.weightfunc
Das Objekt, das die Wahrscheinlichkeitsfunktion für die Verteilung darstellt. Sowohl der Parameter als auch der Rückgabewert müssen in double konvertierbar sein.parm
Die für die Erstellung der Verteilung verwendete Parameterstruktur.
Hinweise
Der Standardkonstruktor legt die gespeicherten Parameter so fest, dass es nur ein Intervall, 0 bis 1, mit einer Wahrscheinlichkeitsdichte von 1 gibt.
Der Iteratorbereichskonstruktor
template<class InputIteratorI, class InputIteratorW>
piecewise_linear_distribution(InputIteratorI firstI, InputIteratorI lastI,
InputIteratorW firstW);
erstellt ein Verteilungsobjekt mit Intervallen von Iteratoren über die Sequenz [firstI, lastI) und einer passenden Gewichtssequenz, die mit firstW beginnt.
Der Initialisiererlistenkonstruktor
template<class UnaryOperation>
piecewise_linear_distribution(initializer_list<RealType> intervals,
UnaryOperation weightfunc);
erstellt ein Verteilungsobjekt mit Intervallen aus der Initialisiererliste intervals und aus der Funktion weightfunc erzeugten Gewichten.
Der als
template<class UnaryOperation>
piecewise_linear_distribution(size_t count, RealType xmin, RealType xmax,
UnaryOperation weightfunc);
definierte Konstruktor erstellt ein Verteilungsobjekt mit count gleichmäßig über [xmin,xmax] verteilten Intervallen und weist jedem Intervall Gewichte entsprechend der Funktion weightfunc zu, und weightfunc muss einen Parameter übernehmen und einen Rückgabewert haben, die beide in double konvertierbar sind. Vorbedingung: xmin < xmax.
Der als
explicit piecewise_linear_distribution(const param_type& parm);
definierte Konstruktor erstellt ein Verteilungsobjekt mit parm als gespeicherte Parameterstruktur.
Anforderungen
Header: <random>
Namespace: std