<random>
Define muitos geradores de números aleatórios.
#include <random>
Declarações
Classe |
Descrição |
---|---|
Gera uma distribuição de Bernoulli. |
|
Gera uma distribuição binomial. |
|
Descarta as seções de uma sequência aleatória. |
|
Gera uma distribuição exponencial. |
|
Gera uma distribuição gama. |
|
Gera uma distribuição geométrica. |
|
Gera uma sequência aleatória usando o algoritmo congruential linear. |
|
Gera uma sequência aleatória usando o algoritmo de twister Mersenne. |
|
Digite a definição para um mecanismo congruential linear. |
|
Digite a definição para um mecanismo congruential linear. |
|
Digite a definição para um mecanismo de twister Mersenne. |
|
Gera uma distribuição normal. |
|
Gera uma distribuição Poisson. |
|
Gera uma sequência aleatória, usando um dispositivo externo. |
|
Definição de tipo para um ponto flutuante subtrair com mecanismo balcão. |
|
A definição de uma subtrair com tipo de transportar mecanismo. |
|
Definição de tipo para um ponto flutuante subtrair com mecanismo balcão. |
|
A definição de uma subtrair com tipo de transportar mecanismo. |
|
Definição de tipo para um ponto flutuante subtrair com mecanismo balcão. |
|
Definição de tipo para um ponto flutuante subtrair com mecanismo balcão. |
|
Gera uma sequência aleatória, usando a subtrair com algoritmo balcão. |
|
Gera um aleatório sequência usando o ponto flutuante subtrair com algoritmo balcão. |
|
Gera uma distribuição uniforme inteiro. |
|
Gera uma distribuição uniforme de ponto flutuante. |
|
Quebra um mecanismo e uma distribuição. |
|
Gera uma distribuição combinada. |
Comentários
A Gerador de números aleatórios é um objeto que produz uma sequência de valores pseudo-aleatórias.Um gerador produz valores uniformemente distribuído em um intervalo especificado é um mecanismo.Um mecanismo pode ser combinado com um distribuição, passando o mecanismo sistema autônomo um argumento para operator() ou usando um Classe variate_generator, para produzir valores que são distribuídas de maneira que é definida pela distribuição.
A maioria dos geradores de números aleatórios são modelos cujos parâmetros de personalizar o gerador.sistema autônomo descrições dos geradores de levar um tipo sistema autônomo um argumento usam nomes de parâmetro de modelo comum para descrevem sistema autônomo propriedades do tipo que são permitidas sistema autônomo um tipo de argumento real da seguinte maneira:
IntType indica um tipo integral de sinal ou sem sinal.
UIntType indica um tipo integral não assinado.
RealType indica um tipo de ponto flutuante.
Um mecanismo é uma classe de TR1 ou classe de modelo cujas instâncias atuam sistema autônomo fonte de números aleatórios distribuídos uniformemente entre um valor mínimo e máximo.Um mecanismo pode ser um mecanismo simples or a mecanismo de compostos.Cada mecanismo tem os seguintes membros:
typedef numeric-type result_type é o tipo retornado pelo gerador operator().
result_type min() Retorna o valor mínimo retornado pelo gerador operator().
result_type max() Retorna o maior valor retornado pelo gerador operator(). Quando result_type é um tipo integral, esse é o valor máximo que pode realmente ser retornado; quando result_type é um tipo de ponto flutuante, isso é o menor valor maior que todos os valores que podem ser retornados.
void seed() O função de semente inicializa o mecanismo com valores padrão de semente.
template <class InIt> void seed(InIt& first, InIt last) A função de semente propaga o mecanismo usando valores de tipo unsigned long na sequência abertas pela metade, que é apontada por [first, last). Se a sequência não for grande o suficiente para inicializar o mecanismo totalmente, a função armazena o valor last em first e lança um objeto do tipo std::invalid_argument.
result_type operator()() Retorna valores são distribuídos uniformemente entre min() e max().
min, max, e result_type não são descritas em detalhes para as distribuições que se seguem.
Cada mecanismo tem um estado que determina a sequência de valores que serão gerados por chamadas subseqüentes ao operator(). Os estados de dois objetos do mesmo tipo podem ser comparados com o uso de operator== e operator!=. Se comparam dois estados sistema autônomo igual, sistema autônomo objetos irão gerar a mesma sequência de valores.O estado de um objeto pode ser salvos em um fluxo sistema autônomo uma sequência de valores não assinados de 32 bit usando o operator<< do objeto. O estado não é alterado ao salvá-lo.Um estado salvo pode ser lido em um objeto do mesmo tipo por usando operator>>.
A distribuição é uma classe de TR1 ou classe de modelo cujas instâncias transformar um fluxo de números aleatórios uniformemente distribuídos obtidos de um mecanismo em um fluxo de números aleatórios que têm uma distribuição específica.Cada distribuição possui os seguintes membros:
typedef numeric-type input_type é o tipo deve ser retornado pelo mecanismo do passado para operator().
typedef numeric-type result_type é o tipo retornado pela distribuição operator().
void reset() descarta quaisquer valores armazenados em cache, para que o resultado da próxima telefonar ao operator() não depende de quaisquer valores obtidos de mecanismo antes da telefonar.
template <class Engine> result_type operator()(Engine& eng) Retorna valores que são distribuídas de acordo com a definição da distribuição, usando eng sistema autônomo uma fonte de valores aleatórios uniformemente distribuídas.
input_type, result_type, e reset não são descritas em detalhes para as distribuições que se seguem.
A mecanismo simples é um mecanismo que produza números aleatórios diretamente.Esta biblioteca fornece uma classe cujos objetos são mecanismos simples.Ele também oferece quatro modelos de classe que podem ser instanciados usando valores que fornecem parâmetros para o algoritmo que implementam e nove predefinidos instâncias desses modelos de classe.Objetos desses tipos também são mecanismos simples.
A mecanismo de compostos é um mecanismo que obtém números aleatórios de um ou mais mecanismos simples e gera um fluxo de números aleatórios uniformemente distribuídos usando esses valores.Esta biblioteca fornece modelos de classe para dois mecanismos de compostos.
A biblioteca pode ser construída sistema autônomo uma versão verificada e sistema autônomo uma versão não-verificada.A versão verificada usa uma macro similar à assert macro para sistema autônomo condições de teste marcado sistema autônomo Precondition sistema autônomo descrições funcionais. Para usar a versão verificada, definir ambos a macro _RNG_CHECK ou a macro _DEBUG para um valor numérico de zero em todo o código que usa a biblioteca.