uint64 Hash::Crc32(const wchar_t *buf, size_t size) { uint64 crc = (uint64)~0; for(size_t i=0; i<size; ++i) { _CRC32_(crc, buf[i]); } return ~crc; }
uint64 Hash::Crc32(const ukn_wstring& str) { uint64 crc = (uint64)~0; for(size_t i=0; i<str.size(); ++i) { _CRC32_(crc, str[i]); } return ~crc; }
void hlib_crc32(const void *data, size_t size, uint64_t *io) { const uint8_t *ptr = data; uint32_t crc = ~(uint32_t)io[0]; for (; size--; ptr++) crc = _CRC32_(crc, *ptr); io[0] = ~crc; }
unsigned long crc32(char *buf, size_t size) { unsigned long crc = (unsigned long)~0; char *p; size_t len = 0, nr = size; for (len += nr, p = buf; nr--; ++p) _CRC32_(crc, *p); return ~crc; }
crc_t crc32_partial_sz (crc_t crc_in, char *buf, int size) { unsigned int crc = ~crc_in; char *p; int nr; for (nr = size, p = buf; nr--; ++p) _CRC32_(crc, *p); return ~crc; }
unsigned int ltree_crc32_sz(char *buf, int size) { unsigned int crc = ~0; char *p; int len, nr; len = 0; nr = size; for (len += nr, p = buf; nr--; ++p) _CRC32_(crc, TOLOWER((unsigned int) *p)); return ~crc; }
unsigned int crc32_sz(char *buf, int size) { unsigned int crc = ~((unsigned int) 0); char *p; int len, nr; len = 0; nr = size; for (len += nr, p = buf; nr--; ++p) _CRC32_(crc, *p); return ~crc; }
// --- SWM_PROC AVP_dword SWM_PARAM CountCRC( AVP_byte* pBuffer, AVP_dword nSize, AVP_dword nOldCrc32 ) { AVP_dword i; for( i=0; i<nSize; i++ ) nOldCrc32 = _CRC32_( (AVP_dword)pBuffer[i], nOldCrc32 ); return nOldCrc32; }