MCPcopy Create free account
hub / github.com/RenderKit/embree / stb_adler32

Function stb_adler32

tutorials/common/imgui/imgui_draw.cpp:4000–4029  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3998}
3999
4000static unsigned int stb_adler32(unsigned int adler32, unsigned char *buffer, unsigned int buflen)
4001{
4002 const unsigned long ADLER_MOD = 65521;
4003 unsigned long s1 = adler32 & 0xffff, s2 = adler32 >> 16;
4004 unsigned long blocklen = buflen % 5552;
4005
4006 unsigned long i;
4007 while (buflen) {
4008 for (i=0; i + 7 < blocklen; i += 8) {
4009 s1 += buffer[0], s2 += s1;
4010 s1 += buffer[1], s2 += s1;
4011 s1 += buffer[2], s2 += s1;
4012 s1 += buffer[3], s2 += s1;
4013 s1 += buffer[4], s2 += s1;
4014 s1 += buffer[5], s2 += s1;
4015 s1 += buffer[6], s2 += s1;
4016 s1 += buffer[7], s2 += s1;
4017
4018 buffer += 8;
4019 }
4020
4021 for (; i < blocklen; ++i)
4022 s1 += *buffer++, s2 += s1;
4023
4024 s1 %= ADLER_MOD, s2 %= ADLER_MOD;
4025 buflen -= blocklen;
4026 blocklen = 5552;
4027 }
4028 return (unsigned int)(s2 << 16) + (unsigned int)s1;
4029}
4030
4031static unsigned int stb_decompress(unsigned char *output, const unsigned char *i, unsigned int /*length*/)
4032{

Callers 1

stb_decompressFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected