mom_murmur_hash module reference¶
MurmurHash is a non-cryptographic hash function developed by Austin Appleby.
Functions/Subroutines¶
Return the murmur3 hash for a 32-bit integer array. |
|
Return the murmur3 hash for a 64-bit integer array. |
|
Return the murmur3 hash for a 32-bit real array. |
|
Return the murmur3 hash for a 32-bit real array. |
|
Return the murmur3 hash for a 32-bit real 2D array. |
|
Return the murmur3 hash for a 32-bit real 3D array. |
|
Return the murmur3 hash for a 32-bit real 4D array. |
|
Return the murmur3 hash for a 64-bit real array. |
|
Return the murmur3 hash for a 64-bit real array. |
|
Return the murmur3 hash for a 64-bit real 2D array. |
|
Return the murmur3 hash for a 64-bit real 3D array. |
|
Return the murmur3 hash for a 64-bit real 4D array. |
Detailed Description¶
This module provides an implementation of the 32-bit MurmurHash3 algorithm. It is used in MOM6 to generate unique hashes of field arrays. The hash is sensitive to order of elements and can detect changes that would otherwise be missed by the mean/min/max/bitcount tests.
Sensitivity to order means that it must be used with care for tests such as processor layout.
This implementation assumes data sizes of either 32 or 64 bits. It cannot be used for smaller types such as strings.
Function/Subroutine Documentation¶
-
function
mom_murmur_hash/murmurhash3_i32(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 32-bit integer array.
- Parameters:
key :: [in] Input array
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_i64(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 64-bit integer array.
- Parameters:
key :: [in] Input array
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r32(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 32-bit real array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r32_1d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 32-bit real array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r32_2d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 32-bit real 2D array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r32_3d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 32-bit real 3D array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r32_4d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 32-bit real 4D array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r64(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 64-bit real array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r64_1d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 64-bit real array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r64_2d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 64-bit real 2D array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r64_3d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 64-bit real 3D array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array
-
function
mom_murmur_hash/murmurhash3_r64_4d(key, seed) [integer(int32)]¶ Return the murmur3 hash for a 64-bit real 4D array.
- Parameters:
key :: [in] Input array [arbitrary]
seed :: [in] Hash seed
- Return:
undefined :: Murmur hash of array