Freigeben über


xor_combine Class

Generiert eine kombinierte Verteilung.

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
   };

Parameter

  • Engine1
    Der Typ des ersten zufälligen Moduls.

  • S1
    Die Verschiebung mit einem für das erste zufällige Modul.

  • Engine2
    Der Typ des zweiten zufälligen Moduls.

  • S2
    Die Verschiebung mit einem für das zweite Modul zufällige.

Hinweise

Die Vorlagenklasse beschreibt ein Verbundmodul, das Werte erzeugt, die Werte kombiniert, die von beiden Module erzeugt werden.Der Zustand des Moduls ist der Zustand von stored_eng1 gefolgt vom Zustand von stored_eng2.

Anforderungen

Header: <random>

Namespace: std

Siehe auch

Referenz

<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