xor_combine Class
Genera una distribuzione combinata.
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
};
Parametri
Engine1
Il tipo del primo modulo casuale.S1
Il calcolo shift per il primo modulo casuale.Engine2
Il tipo del secondo modulo casuale.S2
Il calcolo shift per il secondo modulo casuale.
Note
La classe modello descrive un modulo composta che produce valori combinando i valori prodotti in due moduli.Lo stato del motore è lo stato stored_eng1 seguita dallo stato stored_eng2.
Requisiti
intestazione: <random>
Spazio dei nomi: deviazione standard