summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs')
-rw-r--r--Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs81
1 files changed, 81 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs
new file mode 100644
index 00000000..f58e0e4a
--- /dev/null
+++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs
@@ -0,0 +1,81 @@
+using System;
+
+namespace Ionic.Zlib
+{
+ public sealed class Adler
+ {
+ private static readonly uint BASE = 65521u;
+
+ private static readonly int NMAX = 5552;
+
+ public static uint Adler32(uint adler, byte[] buf, int index, int len)
+ {
+ bool flag = buf == null;
+ uint result;
+ if (flag)
+ {
+ result = 1u;
+ }
+ else
+ {
+ uint num = adler & 65535u;
+ uint num2 = adler >> 16 & 65535u;
+ while (len > 0)
+ {
+ int i = (len < Adler.NMAX) ? len : Adler.NMAX;
+ len -= i;
+ while (i >= 16)
+ {
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ num += (uint)buf[index++];
+ num2 += num;
+ i -= 16;
+ }
+ bool flag2 = i != 0;
+ if (flag2)
+ {
+ do
+ {
+ num += (uint)buf[index++];
+ num2 += num;
+ }
+ while (--i != 0);
+ }
+ num %= Adler.BASE;
+ num2 %= Adler.BASE;
+ }
+ result = (num2 << 16 | num);
+ }
+ return result;
+ }
+ }
+}