Partilhar via


Classe discard_block

Descarta partes de uma sequência aleatória.

template<class Engine,
   int P, int R>
   class discard_block {
public:
      typedef discard_block<Engine, P, R> _MyT;
   typedef Engine base_type;
   typedef typename base_type::result_type result_type;
   static const int block_size = P;
   static const int used_block = R;
   discard_block();
      discard_block(const discard_block& right);
      discard_block(discard_block& right);
   explicit discard_block(const base_type& eng);
      explicit discard_block(result_type seed);
   template<class Gen>
      discard_block(Gen& gen);
   void seed();
   template<class Gen>
      void seed(Gen& gen);
   const base_type& base() const;
   result_type min() const;
   result_type max() const;
   result_type operator()();
private:
   Engine stored_eng;       // exposition only
   int count;               // exposition only
   };

Parâmetros

  • Engine
    O tipo de mecanismo aleatório armazenado.

  • P
    O dimensionar do bloco total.

  • R
    O dimensionar do bloco utilizado.

Comentários

O modelo de classe decribes um mecanismo composto que produz valores descartando alguns dos valores retornados pelo seu mecanismo de base.Cada ciclo do mecanismo composto inicia retornando R valores sucessivamente gerados pelo mecanismo de base e extremidades descartando P - R Esses valores. Estado do mecanismo é o estado de stored_eng seguido do número de chamadas para operator() que tenham ocorrido desde o início do ciclo corrente.

O valor do argumento de modelo R deve ser menor ou igual ao valor do argumento modelo P.

Requisitos

Cabeçalho:<random>

Namespace: std::tr1

Consulte também

Referência

<random>