Use CRC to output 64 bits instead of 32
A bit hacky, but should dramatically reduce the odds of hash collision.
This commit is contained in:
parent
742f9c6b14
commit
d2e004fa9e
|
@ -254,7 +254,8 @@ u64 GetCRC32(const u8 *src, int len, u32 samples)
|
||||||
|
|
||||||
const u8 *data2 = (const u8*)end;
|
const u8 *data2 = (const u8*)end;
|
||||||
// FIXME: is there a better way to combine these partial hashes?
|
// FIXME: is there a better way to combine these partial hashes?
|
||||||
return _mm_crc32_u64(h[0] + h[1] + h[2] + h[3], u64(data2[0]));
|
h[0] = _mm_crc32_u64(h[0], u64(data2[0]));
|
||||||
|
return h[0] + (h[1] << 10) + (h[2] << 21) + (h[3] << 32);
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue