xor_combine Class
Representa una distribución combinada.
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
};
Parámetros
Engine1
El tipo del primer motor aleatorio.S1
El recuento de desplazamiento para el primer motor aleatorio.Engine2
El tipo del segundo motor aleatorio.S2
El recuento de desplazamiento para el segundo motor aleatorio.
Comentarios
la clase de plantilla describe un motor compuesto que genere valores combinando los valores generados por dos motores.El estado del motor es el estado de stored_eng1 seguido por el estado de stored_eng2.
Requisitos
encabezado: <aleatorio>
espacio de nombres: std