DCTool/DC/UE3.h
/** Case insensitive string hash function. */
Case insensitive string hash function.
Case insensitive string hash function .
inline DWORD appStrihash(const TCHAR* Data)
{
	DWORD Hash = 0;
	while (*Data)
	{
		TCHAR Ch = appToUpper(*Data++);
		WORD  B = Ch;
		Hash = ((Hash >> 8) & 0x00FFFFFF) ^ GCRCTable[(Hash ^ B) & 0x000000FF];
		B = Ch >> 8;
		Hash = ((Hash >> 8) & 0x00FFFFFF) ^ GCRCTable[(Hash ^ B) & 0x000000FF];
	}
	return Hash;
}
inline DWORD appStrihash ( const TCHAR * Data ) { DWORD Hash = 0 ; while ( * Data ) { TCHAR Ch = appToUpper ( * Data ++ ) ; WORD B = Ch ; Hash = ( ( Hash >> 8 ) & 0x00FFFFFF ) ^ GCRCTable [ ( Hash ^ B ) & 0x000000FF ] ; B = Ch >> 8 ; Hash = ( ( Hash >> 8 ) & 0x00FFFFFF ) ^ GCRCTable [ ( Hash ^ B ) & 0x000000FF ] ; } return Hash ; }
Case insensitive string hash function.
Case insensitive string hash function .