Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

variate_generator (Clase)

Incluye un motor y una distribución.

template<class Engine, class Dist>
    class variate_generator {
public:
    typedef Engine engine_type;
    typedef engine-value-type engine_value_type;
    typedef Dist distribution_type;
    typedef typename Dist::result_type result_type;
    variate_generator(engine_type eng0, distribution_type dist0);
    result_type operator()();
    template<class T>
        result_type operator()(T value);
    engine_value_type& engine();
    const engine_value_type& engine() const;
    distribution_type& distribution();
    const distribution_type& distribution() const;
    result_type min() const;
    result_type max() const;
private:
    Engine eng;             // exposition only
    Dist dist;              // exposition only
    };

Engine

Tipo del motor aleatorio.

Dist

El tipo de distribución.

La clase de plantilla describe un objeto que celebre un motor y una distribución y genere valores pasando el objeto ajustado del motor en operator()del objeto de distribution .

El argumento Engine de plantilla puede ser un tipo Eng, Eng*, o Eng&, donde es un motor Eng . El tipo Eng es el tipo subyacente del motor. El objeto correspondiente de Eng con tipo es el objeto subyacente del motor.

La plantilla utiliza un motor ajusta para coincidir con el tipo de los valores generados por el objeto de engine al tipo de configuración requerida por el objeto de distribution . operator() de motor ajusta devuelve los valores de Dist::input_typeescrito, generados como sigue:

si Engine::result_type y Dist::input_type son ambos tipos enteros que devuelve eng(), convertido para escribir Dist::input_type.

si Engine::result_type y Dist::input_type son ambos tipos de punto flotante que devuelve (eng() - eng.min()) / (eng.max() - eng.min()), convertido para escribir Dist::input_type.

si Engine::result_type es un tipo entero y Dist::input_type es un tipo de punto flotante que devuelve (eng() - eng.min()) / (eng.max() - eng.min() + 1), convertido para escribir Dist::input_type.

si Engine::result_type es un tipo de punto flotante y Dist::input_type es entero se escribe devuelve el ((eng() - eng.min()) / (eng.max() - eng.min()) * std::numeric_limits<Dist::input_type>::max(), convertido para escribir Dist::input_type.

Encabezado: <aleatorio>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft