Compartir a través de


subtract_with_carry_01 Class

Genera una secuencia aleatoria por el flotante restan con contienen el algoritmo.Retenido por compatibilidad TR1.Utilice subtract_with_carry_engine Class en su lugar.

template<class RealType,
   int W, int S, int R>
   class subtract_with_carry_01 {
public:
   typedef RealType result_type;
   static const int word_size = W;
   static const int short_lag = S;
   static const int long_lag = R;
   subtract_with_carry_01();
   explicit subtract_with_carry_01(unsigned long x0);
   template<class Gen>
      subtract_with_carry_01(Gen& gen);
   subtract_with_carry_01(const subtract_with_carry_01& right);
   subtract_with_carry_01(subtract_with_carry_01& right);
   void seed(unsigned long x0 = 19780503UL);
   template<class Gen>
      void seed(Gen& gen);
   result_type min() const;
   result_type max() const;
   result_type operator()();
   };

Parámetros

  • RealType
    el tipo de resultado flotante.

  • W
    El parámetro del motor del w.

  • S
    El parámetro del motor de s.

  • R
    El parámetro del motor de r.

Comentarios

La clase de plantilla describe un motor simple que genere valores de un tipo de punto flotante definido por el usuario mediante la relación de frecuencia x(i) = (x(i - R) - x(i - S) - cy(i - 1)) mod 1, donde cy(i) tiene el valor 2-W si x(i - S) - x(i - R) - cy(i - 1) < 0, si no 0.El estado del motor son valores de R el último devueltos si operator() se ha llamado al menos los tiempos de R , si no los valores de M se han devuelto y Rúltimo - valores deM seed.

El argumento RealType template debería ser lo bastante grande para contener valores con los bits de la fracción de W .Los valores de los argumentos S y R de plantilla deben ser mayores que 0 y S debe ser menor que R.

Requisitos

encabezado: <aleatorio>

espacio de nombres: std

Vea también

Referencia

<random>

subtract_with_carry Class

subtract_with_carry_01::operator()

subtract_with_carry_01::seed

subtract_with_carry_01::subtract_with_carry_01