Mercurial > vba-linux
annotate src/win32/7zip/7z/CPP/7zip/Compress/BZip2Crc.cpp @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
rev | line source |
---|---|
rlm@1 | 1 // BZip2Crc.cpp |
rlm@1 | 2 |
rlm@1 | 3 #include "StdAfx.h" |
rlm@1 | 4 |
rlm@1 | 5 #include "BZip2Crc.h" |
rlm@1 | 6 |
rlm@1 | 7 UInt32 CBZip2Crc::Table[256]; |
rlm@1 | 8 |
rlm@1 | 9 static const UInt32 kBZip2CrcPoly = 0x04c11db7; /* AUTODIN II, Ethernet, & FDDI */ |
rlm@1 | 10 |
rlm@1 | 11 void CBZip2Crc::InitTable() |
rlm@1 | 12 { |
rlm@1 | 13 for (UInt32 i = 0; i < 256; i++) |
rlm@1 | 14 { |
rlm@1 | 15 UInt32 r = (i << 24); |
rlm@1 | 16 for (int j = 8; j > 0; j--) |
rlm@1 | 17 r = (r & 0x80000000) ? ((r << 1) ^ kBZip2CrcPoly) : (r << 1); |
rlm@1 | 18 Table[i] = r; |
rlm@1 | 19 } |
rlm@1 | 20 } |
rlm@1 | 21 |
rlm@1 | 22 class CBZip2CrcTableInit |
rlm@1 | 23 { |
rlm@1 | 24 public: |
rlm@1 | 25 CBZip2CrcTableInit() { CBZip2Crc::InitTable(); } |
rlm@1 | 26 } g_BZip2CrcTableInit; |