Method Hash128
Hash128(void*, long)
Compute a 128bits hash of a memory region
Declaration
public static uint4 Hash128(void* input, long length)
Parameters
Type | Name | Description |
---|---|---|
void* | input | The memory buffer, can't be null |
long | length | The length of the memory buffer, can be zero |
Returns
Type | Description |
---|---|
uint4 | The hash result |
Hash128<T>(in T)
Compute a 128bits hash from the contents of the input struct
Declaration
public static uint4 Hash128<T>(in T input) where T : unmanaged
Parameters
Type | Name | Description |
---|---|---|
T | input | The input struct that will be hashed |
Returns
Type | Description |
---|---|
uint4 | The hash result |
Type Parameters
Name | Description |
---|---|
T | The input type. |
Hash128(void*, void*, long)
Compute a 128bits hash while copying the data to a destination buffer
Declaration
public static uint4 Hash128(void* input, void* destination, long length)
Parameters
Type | Name | Description |
---|---|---|
void* | input | The memory buffer to compute the hash and copy from, can't be null |
void* | destination | The destination buffer, can't be null and must be at least big enough to match the input's length |
long | length | The length of the memory buffer, can be zero |
Returns
Type | Description |
---|---|
uint4 | The hash result |
Remarks
Use this API to avoid a double memory scan in situations where the hash as to be compute and the data copied at the same time. Performances improvements vary between 30-50% on big data.
Hash128(void*, long, ulong)
Compute a 128bits hash of a memory region using a given seed value
Declaration
public static uint4 Hash128(void* input, long length, ulong seed)
Parameters
Type | Name | Description |
---|---|---|
void* | input | The memory buffer, can't be null |
long | length | The length of the memory buffer, can be zero |
ulong | seed | The seed value to alter the hash computation from |
Returns
Type | Description |
---|---|
uint4 | The hash result |
Hash128(void*, void*, long, ulong)
Compute a 128bits hash while copying the data to a destination buffer using a given seed value
Declaration
public static uint4 Hash128(void* input, void* destination, long length, ulong seed)
Parameters
Type | Name | Description |
---|---|---|
void* | input | The memory buffer to compute the hash and copy from, can't be null |
void* | destination | The destination buffer, can't be null and must be at least big enough to match the input's length |
long | length | The length of the memory buffer, can be zero |
ulong | seed | The seed value to alter the hash computation from |
Returns
Type | Description |
---|---|
uint4 | The hash result |