stdlib_hash_64bit#
See also the specification page: stdlib_hash_32bit and stdlib_hash_64bit.
stdlib_hash_64bit (module)#
Variables
- int_hashinteger, parameter, Default = int64
The number of bits in the output hash
- bits_int8integer, parameter, Default = bit_size(0_int8)
- bits_int16integer, parameter, Default = bit_size(0_int16)
- bits_int32integer, parameter, Default = bit_size(0_int32)
- bits_int64integer, parameter, Default = bit_size(0_int64)
- bytes_int8integer, parameter, Default = bits_int8/bits_int8
- bytes_int16integer, parameter, Default = bits_int16/bits_int8
- bytes_int32integer, parameter, Default = bits_int32/bits_int8
- bytes_int64integer, parameter, Default = bits_int64/bits_int8
- bits_charinteger, parameter, Default = character_storage_size
- bytes_charinteger, parameter, Default = bits_char/bits_int8
- little_endianlogical, parameter, Default = (1==transfer([1_int8, 0_int8], 0_int16))
Interfaces
fnv_1_hash (interface)#
-
fnv_1_hash (interface) FNV_1 interfaces (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
- Procedures:
-
pure module function int8_fnv_1(key) -> hash_code# FNV_1 hash function for rank 1 arrays of kind int8
- Arguments:
- keyinteger(kind=int8), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
pure module function int16_fnv_1(key) -> hash_code# FNV_1 hash function for rank 1 arrays of kind int16
- Arguments:
- keyinteger(kind=int16), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
pure module function int32_fnv_1(key) -> hash_code# FNV_1 hash function for rank 1 arrays of kind int32
- Arguments:
- keyinteger(kind=int32), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
pure module function int64_fnv_1(key) -> hash_code# FNV_1 hash function for rank 1 arrays of kind int64
- Arguments:
- keyinteger(kind=int64), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
elemental module function character_fnv_1(key) -> hash_code# FNV_1 hash function for character strings
- Arguments:
- keycharacter(len=*), intent(in)
- Returns:
- hash_codeinteger(kind=int_hash)
fnv_1a_hash (interface)#
-
fnv_1a_hash (interface) FNV_1A interfaces (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
- Procedures:
-
pure module function int8_fnv_1a(key) -> hash_code# FNV_1A hash function for rank 1 arrays of kind int8
- Arguments:
- keyinteger(kind=int8), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
pure module function int16_fnv_1a(key) -> hash_code# FNV_1A hash function for rank 1 arrays of kind int16
- Arguments:
- keyinteger(kind=int16), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
pure module function int32_fnv_1a(key) -> hash_code# FNV_1A hash function for rank 1 arrays of kind int32
- Arguments:
- keyinteger(kind=int32), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
pure module function int64_fnv_1a(key) -> hash_code# FNV_1A hash function for rank 1 arrays of kind int64
- Arguments:
- keyinteger(kind=int64), intent(in), dimension(:)
- Returns:
- hash_codeinteger(kind=int_hash)
-
elemental module function character_fnv_1a(key) -> hash_code# FNV_1A hash function for character strings
- Arguments:
- keycharacter(len=*), intent(in)
- Returns:
- hash_codeinteger(kind=int_hash)
spooky_hash (interface)#
-
spooky_hash (interface) SPOOKY_HASH interfaces (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
- Procedures:
-
module function int8_spooky_hash(key, seed) -> hash_code# SPOOKY HASH function for rank 1 arrays of kind int8
- Arguments:
- keyinteger(kind=int8), intent(in), dimension(0:)
- seedinteger(kind=int_hash), intent(in), dimension(2)
- Returns:
- hash_codeinteger(kind=int_hash), dimension(2)
-
module function int16_spooky_hash(key, seed) -> hash_code# SPOOKY HASH function for rank 1 arrays of kind int16
- Arguments:
- keyinteger(kind=int16), intent(in), dimension(0:)
- seedinteger(kind=int_hash), intent(in), dimension(2)
- Returns:
- hash_codeinteger(kind=int_hash), dimension(2)
-
module function int32_spooky_hash(key, seed) -> hash_code# SPOOKY HASH function for rank 1 arrays of kind int32
- Arguments:
- keyinteger(kind=int32), intent(in), dimension(0:)
- seedinteger(kind=int_hash), intent(in), dimension(2)
- Returns:
- hash_codeinteger(kind=int_hash), dimension(2)
-
module function int64_spooky_hash(key, seed) -> hash_code# SPOOKY HASH function for rank 1 arrays of kind int64
- Arguments:
- keyinteger(kind=int64), intent(in), dimension(0:)
- seedinteger(kind=int_hash), intent(in), dimension(2)
- Returns:
- hash_codeinteger(kind=int_hash), dimension(2)
-
module function character_spooky_hash(key, seed) -> hash_code# SPOOKY hash function for character strings
- Arguments:
- keycharacter(len=*), intent(in)
- seedinteger(kind=int_hash), intent(in), dimension(2)
- Returns:
- hash_codeinteger(kind=int_hash), dimension(2)
spookyHash_128 (interface)#
-
module subroutine spookyHash_128(key, hash_inout) - Arguments:
- keyinteger(kind=int8), target, intent(in), dimension(0:)
- hash_inoutinteger(kind=int_hash), intent(inout), dimension(2)
new_spooky_hash_seed (interface)#
-
module subroutine new_spooky_hash_seed(seed) Random seed generator for SPOOKY_HASH
- Arguments:
- seedinteger(kind=int64), intent(inout), dimension(2)
pengy_hash (interface)#
-
pengy_hash (interface) PENGY_HASH interfaces (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
-
pure module function int8_pengy_hash(key, seed) -> hash_code# PENGY_HASH hash function for rank 1 array keys of kind int8
- Arguments:
- keyinteger(kind=int8), intent(in), dimension(:)
- seedinteger(kind=int32), intent(in)
- Returns:
- hash_codeinteger(kind=int64)
-
pure module function int16_pengy_hash(key, seed) -> hash_code# PENGY_HASH hash function for rank 1 array keys of kind int16
- Arguments:
- keyinteger(kind=int16), intent(in), dimension(:)
- seedinteger(kind=int32), intent(in)
- Returns:
- hash_codeinteger(kind=int64)
-
pure module function int32_pengy_hash(key, seed) -> hash_code# PENGY_HASH hash function for rank 1 array keys of kind int32
- Arguments:
- keyinteger(kind=int32), intent(in), dimension(:)
- seedinteger(kind=int32), intent(in)
- Returns:
- hash_codeinteger(kind=int64)
-
pure module function int64_pengy_hash(key, seed) -> hash_code# PENGY_HASH hash function for rank 1 array keys of kind int64
- Arguments:
- keyinteger(kind=int64), intent(in), dimension(:)
- seedinteger(kind=int32), intent(in)
- Returns:
- hash_codeinteger(kind=int64)
-
elemental module function character_pengy_hash(key, seed) -> hash_code# MIR HASH STRICT function for character strings
- Arguments:
- keycharacter(len=*), intent(in)
- seedinteger(kind=int32), intent(in)
- Returns:
- hash_codeinteger(kind=int64)
-
new_pengy_hash_seed (interface)#
-
module subroutine new_pengy_hash_seed(seed) Random seed generator for MIR_HASH_STRICT
- Arguments:
- seedinteger(kind=int32), intent(inout)
Procedures
fibonacci_hash (function)#
-
elemental function fibonacci_hash(key, nbits) -> sample Maps the 64 bit integer key to an unsigned integer value with only nbits bits where nbits is less than 64 (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
- Arguments:
- keyinteger(kind=int64), intent(in)
- nbitsinteger, intent(in)
- Returns:
- sampleinteger(kind=int64)
universal_mult_hash (function)#
-
elemental function universal_mult_hash(key, seed, nbits) -> sample Uses the “random” odd 64 bit integer seed to map the 64 bit integer key to an unsigned integer value with only nbits bits where nbits is less than 64. (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
- Arguments:
- keyinteger(kind=int64), intent(in)
- seedinteger(kind=int64), intent(in)
- nbitsinteger, intent(in)
- Returns:
- sampleinteger(kind=int64)
odd_random_integer (subroutine)#
-
subroutine odd_random_integer(harvest) Returns a 64 bit pseudo random integer, harvest, distributed uniformly over the odd integers of the 64 bit kind. (Specification: stdlib_hash_32bit and stdlib_hash_64bit)
- Arguments:
- harvestinteger(kind=int64), intent(out)