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