Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/src/gammln.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/clhep/src/gammln.cc (Version 11.3.0) and /externals/clhep/src/gammln.cc (Version 9.4.p4)


  1 // -*- C++ -*-                                      1 
  2 //                                                
  3 // -------------------------------------------    
  4 //                             HEP Random         
  5 //                         --- HepStat::gammln    
  6 //                      method implementation     
  7 // -------------------------------------------    
  8                                                   
  9 // ===========================================    
 10 // M. Fischler    - moved the gammln from Rand    
 11 // ===========================================    
 12                                                   
 13 #include "CLHEP/Random/Stat.h"                    
 14 #include <cmath>                                  
 15                                                   
 16 namespace CLHEP {                                 
 17                                                   
 18 double HepStat::gammln(double xx) {               
 19                                                   
 20 // Returns the value ln(Gamma(xx) for xx > 0.     
 21 // xx > 1. For 0 < xx < 1. the reflection form    
 22 // (Adapted from Numerical Recipes in C.  Rela    
 23 // subtracts one from x at the very start, and    
 24 // divide ser by x at the end.  The results ar    
 25 // indistinguishable.)                            
 26                                                   
 27   static const double cof[6] = {76.18009172947    
 28                              24.01409824083091    
 29                              0.120865097386617    
 30   int j;                                          
 31   double x = xx - 1.0;                            
 32   double tmp = x + 5.5;                           
 33   tmp -= (x + 0.5) * std::log(tmp);               
 34   double ser = 1.000000000190015;                 
 35                                                   
 36   for ( j = 0; j <= 5; j++ ) {                    
 37     x += 1.0;                                     
 38     ser += cof[j]/x;                              
 39   }                                               
 40   return -tmp + std::log(2.5066282746310005*se    
 41 }                                                 
 42                                                   
 43 }  // namespace CLHEP                             
 44                                                   
 45                                                   
 46