1 // BZip2Crc.cpp 2 3 #include "StdAfx.h" 4 5 #include "BZip2Crc.h" 6 7 UInt32 CBZip2Crc::Table[256]; 8 9 static const UInt32 kBZip2CrcPoly = 0x04c11db7; /* AUTODIN II, Ethernet, & FDDI */ 10 InitTable()11void CBZip2Crc::InitTable() 12 { 13 for (UInt32 i = 0; i < 256; i++) 14 { 15 UInt32 r = (i << 24); 16 for (unsigned j = 0; j < 8; j++) 17 r = (r << 1) ^ (kBZip2CrcPoly & ((UInt32)0 - (r >> 31))); 18 Table[i] = r; 19 } 20 } 21 22 class CBZip2CrcTableInit 23 { 24 public: CBZip2CrcTableInit()25 CBZip2CrcTableInit() { CBZip2Crc::InitTable(); } 26 } g_BZip2CrcTableInit; 27