COIN-OR::LEMON - Graph Library

Changes in / [93:f857981306ea:91:e28fc773f3c0] in lemon-1.1


Ignore:
Files:
2 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   
  • test/random_test.cc

    r92 r39  
    3434  //Does gamma work with integer k?
    3535  a=lemon::rnd.gamma(4.0,0);
    36   a=lemon::rnd.poisson(.5);
    3736}
Note: See TracChangeset for help on using the changeset viewer.