Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: third_party/lzma/v4_65/files/CS/7zip/Common/CRC.cs

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Common/CRC.cs
2
3 namespace SevenZip
4 {
5 class CRC
6 {
7 public static readonly uint[] Table;
8
9 static CRC()
10 {
11 Table = new uint[256];
12 const uint kPoly = 0xEDB88320;
13 for (uint i = 0; i < 256; i++)
14 {
15 uint r = i;
16 for (int j = 0; j < 8; j++)
17 if ((r & 1) != 0)
18 r = (r >> 1) ^ kPoly;
19 else
20 r >>= 1;
21 Table[i] = r;
22 }
23 }
24
25 uint _value = 0xFFFFFFFF;
26
27 public void Init() { _value = 0xFFFFFFFF; }
28
29 public void UpdateByte(byte b)
30 {
31 _value = Table[(((byte)(_value)) ^ b)] ^ (_value >> 8);
32 }
33
34 public void Update(byte[] data, uint offset, uint size)
35 {
36 for (uint i = 0; i < size; i++)
37 _value = Table[(((byte)(_value)) ^ data[offset + i])] ^ (_value >> 8);
38 }
39
40 public uint GetDigest() { return _value ^ 0xFFFFFFFF; }
41
42 static uint CalculateDigest(byte[] data, uint offset, uint size)
43 {
44 CRC crc = new CRC();
45 // crc.Init();
46 crc.Update(data, offset, size);
47 return crc.GetDigest();
48 }
49
50 static bool VerifyDigest(uint digest, byte[] data, uint offset, uint size)
51 {
52 return (CalculateDigest(data, offset, size) == digest);
53 }
54 }
55 }
OLDNEW
« no previous file with comments | « third_party/lzma/v4_65/files/CPP/Windows/Time.cpp ('k') | third_party/lzma/v4_65/files/CS/7zip/Common/CommandLineParser.cs » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698