windows-nt/Source/XPSP1/NT/admin/wmi/wbem/winmgmt/wbemcomn/crc64.h

45 lines
910 B
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//***************************************************************************
//
// (c) 1999-2001 by Microsoft Corp. All Rights Reserved.
//
// crc64.h
//
// cvadai 12-Nov-1999 created
//
//***************************************************************************
#ifndef _CRC64_H_
#define _CRC64_H_
#define TESTHSIZE (4 * 1024 * 1024)
#define TESTHMASK (TESTHSIZE - 1)
#define HINIT1 0xFAC432B1UL
#define HINIT2 0x0CD5E44AUL
#define POLY1 0x00600340UL
#define POLY2 0x00F0D50BUL
typedef unsigned int hint_t; /* we want a 32 bit unsigned integer here */
typedef __int64 hash_t ;
class POLARITY CRC64
{
public:
static hash_t GenerateHashValue(const wchar_t *p);
private:
static void Initialize(void);
static void * RMalloc(int bytes);
CRC64() {};
~CRC64() {};
static BOOL bInit;
static hash_t CrcXor[256];
static hash_t Poly[64+1];
};
#endif