Changeset 11:ea5945b2da9c in lemon1.2 for lemon/random.h
 Timestamp:
 12/21/07 02:32:24 (12 years ago)
 Branch:
 default
 Phase:
 public
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

lemon/random.h
r10 r11 738 738 double exponential(double lambda=1.0) 739 739 { 740 return std::log( real<double>())/lambda;740 return std::log(1.0real<double>())/lambda; 741 741 } 742 742 … … 783 783 } 784 784 785 /// Weibull distribution 786 787 /// This function generates a Weibull distribution random number. 788 /// 789 ///\param k shape parameter (<tt>k>0</tt>) 790 ///\param lambda scale parameter (<tt>lambda>0</tt>) 791 /// 792 double weibull(double k,double lambda) 793 { 794 return lambda*pow(std::log(1.0real<double>()),1.0/k); 795 } 796 797 /// Pareto distribution 798 799 /// This function generates a Pareto distribution random number. 800 /// 801 ///\param x_min location parameter (<tt>x_min>0</tt>) 802 ///\param k shape parameter (<tt>k>0</tt>) 803 /// 804 ///\warning This function used inverse transform sampling, therefore may 805 ///suffer from numerical unstability. 806 /// 807 ///\todo Implement a numerically stable method 808 double pareto(double x_min,double k) 809 { 810 return x_min*pow(1.0real<double>(),1.0/k); 811 } 785 812 786 813 ///@}
Note: See TracChangeset
for help on using the changeset viewer.