Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/src/engineIDulong.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/engineIDulong.cc (Version 11.3.0) and /externals/clhep/src/engineIDulong.cc (Version 8.0)


  1 // -*- C++ -*-                                      1 
  2 //                                                
  3 // -------------------------------------------    
  4 //                             HEP Random         
  5 //                      --- engineIDulong ---     
  6 //                      function implementatio    
  7 // -------------------------------------------    
  8 //                                                
  9 // ===========================================    
 10 // Mark Fischler  - Created: Mar. 8, 2005         
 11 // ===========================================    
 12                                                   
 13 #include <string>                                 
 14 #include <vector>                                 
 15                                                   
 16 namespace CLHEP {                                 
 17                                                   
 18 static std::vector<unsigned long> gen_crc_tabl    
 19   /* generate the table of CRC remainders for     
 20   static const unsigned long POLYNOMIAL = 0x04    
 21   std::vector<unsigned long> crc_table;           
 22   for ( unsigned long i = 0;  i < 256;  ++i )     
 23     unsigned long crc = i << 24;                  
 24     for ( int j = 0;  j < 8;  j++ ) {             
 25       if ( crc & 0x80000000UL ) {                 
 26         crc = ( ( crc << 1 ) ^ POLYNOMIAL ) &     
 27       } else {                                    
 28         crc = ( crc << 1 ) & 0xffffffffUL;        
 29       }                                           
 30     }                                             
 31     crc_table.push_back(crc);                     
 32   }                                               
 33   return crc_table;                               
 34 }                                                 
 35                                                   
 36 unsigned long crc32ul(const std::string & s) {    
 37   static const std::vector<unsigned long> crc_    
 38   unsigned long crc = 0;                          
 39   unsigned long end = s.length();                 
 40   for (unsigned long j = 0; j != end; ++j) {      
 41     int i = ( (int) ( crc >> 24) ^ s[j] ) & 0x    
 42     crc = ( ( crc << 8 ) ^ crc_table[i] ) & 0x    
 43   }                                               
 44   return crc;                                     
 45 }                                                 
 46                                                   
 47 }  // namespace CLHEP                             
 48                                                   
 49