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()11 void 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