Condividi tramite


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

Vedere anche

Riferimenti

<random>

xor_combine::base1

xor_combine::base1_type

xor_combine::base2

xor_combine::base2_type

xor_combine::operator()

xor_combine::seed

xor_combine::xor_combine