Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Génère une distribution combinée.
template<class Engine1, int S1,
class Engine2, int S2>
class xor_combine {
public:
typedef Engine1 base1_type;
typedef Engine2 base2_type;
typedef typename Engine1::result_type;
static const int shift1 = S1;
static const int shift2 = S2;
xor_combine();
xor_combine(const base1_type& eng1, const base2_type& eng2);
template<class Gen>
xor_combine(Gen& gen);
xor_combine(const xor_combine& right);
xor_combine(xor_combine& right);
void seed();
template<class Gen>
void seed(Gen& gen);
const base1_type& base1() const;
const base2_type& base2() const;
result_type min() const;
result_type max() const;
result_type operator()();
private:
base1_type stored_eng1; // exposition only
base2_type stored_eng2; // exposition only
};
Paramètres
Engine1
Le type de la première moteur aléatoire.S1
Le compteur de décalage de la première moteur aléatoire.Engine2
Le type de la deuxième moteur aléatoire.S2
Le compteur de décalage de la deuxième moteur aléatoire.
Notes
La classe de modèle décrit un moteur compound qui produit des valeurs en combinant des valeurs produites par deux moteurs.L'état du moteur est l'état d' stored_eng1 suivi de l'état d' stored_eng2.
Configuration requise
en-tête : <random>
l'espace de noms : DST