COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/random.h

    r92 r68  
    804804    } 
    805805     
    806     /// Poisson distribution
    807 
    808     /// This function generates a Poisson distribution random number with
    809     /// parameter \c lambda.
    810     ///
    811     /// The probability mass function of this distribusion is
    812     /// \f[ \frac{e^{-\lambda}\lambda^k}{k!} \f]
    813     /// \note The algorithm is taken from the book of Donald E. Knuth titled
    814     /// ''Seminumerical Algorithms'' (1969). Its running time is linear in the
    815     /// return value.
    816    
    817     int poisson(double lambda)
    818     {
    819       const double l = std::exp(-lambda);
    820       int k=0;
    821       double p = 1.0;
    822       do {
    823         k++;
    824         p*=real<double>();
    825       } while (p>=l);
    826       return k-1;
    827     } 
    828      
    829806    ///@}
    830807   
Note: See TracChangeset for help on using the changeset viewer.