Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

poisson_distribution::operator()

Returns a random value.

template<class Engine>
    result_type operator()(Engine& eng);
template<class Engine>
    result_type operator()(Engine& eng,
        const param_type& par0);
Engine

The type of the random engine.

eng

The random engine.

par0

The parameter package used as the source of the random value.

The first member function uses the engine eng as a source of uniformly distributed integral values and returns integral values with each value i occurring with probability pr(i) = e^-stored_mean * (stored_mean^i / i!).

The second member function behaves the same, except that it uses the parameters stored in par0.

 

// std_tr1__random__poisson_distribution_operator_fn.cpp 
// compile with: /EHsc 
#include <random> 
#include <iostream> 
 
typedef std::mt19937 Myeng; 
typedef std::poisson_distribution<int, double> Mydist; 
int main() 
    { 
    Myeng eng; 
    Mydist dist(3.5); 
    Mydist::input_type engval = eng(); 
    Mydist::result_type distval = dist(eng); 
 
    distval = distval;  // to quiet "unused" warnings 
    engval = engval; 
 
    std::cout << "mean == " << dist.mean() << std::endl; 
 
    dist.reset(); // discard any cached values 
    std::cout << "a random value == " << dist(eng) << std::endl; 
    std::cout << "a random value == " << dist(eng) << std::endl; 
    std::cout << "a random value == " << dist(eng) << std::endl; 
 
    return (0); 
    } 
 
mean == 3.5
a random value == 5
a random value == 2
a random value == 11

Header: <random>

Namespace: std

Show:
© 2014 Microsoft. All rights reserved.