From 6a23c2f3b766cf4fc7028628f76b5ff9396383f0 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sun, 11 Jan 2015 08:10:25 +0100 Subject: Added full lzma sdk source (nw) --- 3rdparty/lzma/Java/SevenZip/CRC.java | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 3rdparty/lzma/Java/SevenZip/CRC.java (limited to '3rdparty/lzma/Java/SevenZip/CRC.java') diff --git a/3rdparty/lzma/Java/SevenZip/CRC.java b/3rdparty/lzma/Java/SevenZip/CRC.java new file mode 100644 index 00000000000..c55e33cc1fd --- /dev/null +++ b/3rdparty/lzma/Java/SevenZip/CRC.java @@ -0,0 +1,52 @@ +// SevenZip/CRC.java + +package SevenZip; + +public class CRC +{ + static public int[] Table = new int[256]; + + static + { + for (int i = 0; i < 256; i++) + { + int r = i; + for (int j = 0; j < 8; j++) + if ((r & 1) != 0) + r = (r >>> 1) ^ 0xEDB88320; + else + r >>>= 1; + Table[i] = r; + } + } + + int _value = -1; + + public void Init() + { + _value = -1; + } + + public void Update(byte[] data, int offset, int size) + { + for (int i = 0; i < size; i++) + _value = Table[(_value ^ data[offset + i]) & 0xFF] ^ (_value >>> 8); + } + + public void Update(byte[] data) + { + int size = data.length; + for (int i = 0; i < size; i++) + _value = Table[(_value ^ data[i]) & 0xFF] ^ (_value >>> 8); + } + + public void UpdateByte(int b) + { + _value = Table[(_value ^ b) & 0xFF] ^ (_value >>> 8); + } + + public int GetDigest() + { + return _value ^ (-1); + } +} -- cgit v1.2.3-70-g09d2