Files
Dec2017-Script-Dump/Pngcs/Zlib/Adler32.cs
T
2026-06-04 11:42:34 +02:00

85 lines
1.6 KiB
C#

using System;
namespace Hjg.Pngcs.Zlib
{
// Token: 0x02000040 RID: 64
public class Adler32
{
// Token: 0x06000277 RID: 631 RVA: 0x0000A600 File Offset: 0x00008800
public void Update(byte data)
{
if (this.pend >= 5550)
{
this.updateModulus();
}
this.a += (uint)data;
this.b += this.a;
this.pend++;
}
// Token: 0x06000278 RID: 632 RVA: 0x0000A64F File Offset: 0x0000884F
public void Update(byte[] data)
{
this.Update(data, 0, data.Length);
}
// Token: 0x06000279 RID: 633 RVA: 0x0000A65C File Offset: 0x0000885C
public void Update(byte[] data, int offset, int length)
{
int num = 5550 - this.pend;
for (int i = 0; i < length; i++)
{
if (i == num)
{
this.updateModulus();
num = i + 5550;
}
this.a += (uint)data[i + offset];
this.b += this.a;
this.pend++;
}
}
// Token: 0x0600027A RID: 634 RVA: 0x0000A6C7 File Offset: 0x000088C7
public void Reset()
{
this.a = 1U;
this.b = 0U;
this.pend = 0;
}
// Token: 0x0600027B RID: 635 RVA: 0x0000A6DE File Offset: 0x000088DE
private void updateModulus()
{
this.a %= 65521U;
this.b %= 65521U;
this.pend = 0;
}
// Token: 0x0600027C RID: 636 RVA: 0x0000A70B File Offset: 0x0000890B
public uint GetValue()
{
if (this.pend > 0)
{
this.updateModulus();
}
return (this.b << 16) | this.a;
}
// Token: 0x04000147 RID: 327
private const int _base = 65521;
// Token: 0x04000148 RID: 328
private const int _nmax = 5550;
// Token: 0x04000149 RID: 329
private uint a = 1U;
// Token: 0x0400014A RID: 330
private uint b;
// Token: 0x0400014B RID: 331
private int pend;
}
}