Changeset 11:ea5945b2da9c in lemon-main
- Timestamp:
 - 12/21/07 02:32:24 (18 years ago)
 - Branch:
 - default
 - Phase:
 - public
 - File:
 - 
          
- 1 edited
 
- 
          lemon/random.h (modified) (2 diffs)
 
 
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.0-real<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.0-real<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.0-real<double>(),1.0/k); 811 } 785 812 786 813 ///@}  
Note: See TracChangeset
          for help on using the changeset viewer.
      
