| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | bits_char | = | character_storage_size | |
| integer, | public, | parameter | :: | bits_int16 | = | bit_size(0_int16) | |
| integer, | public, | parameter | :: | bits_int32 | = | bit_size(0_int32) | |
| integer, | public, | parameter | :: | bits_int64 | = | bit_size(0_int64) | |
| integer, | public, | parameter | :: | bits_int8 | = | bit_size(0_int8) | |
| integer, | public, | parameter | :: | bytes_char | = | bits_char/bits_int8 | |
| integer, | public, | parameter | :: | bytes_int16 | = | bits_int16/bits_int8 | |
| integer, | public, | parameter | :: | bytes_int32 | = | bits_int32/bits_int8 | |
| integer, | public, | parameter | :: | bytes_int64 | = | bits_int64/bits_int8 | |
| integer, | public, | parameter | :: | bytes_int8 | = | bits_int8/bits_int8 | |
| integer, | public, | parameter | :: | int_hash | = | int64 |
The number of bits in the output hash |
| logical, | public, | parameter | :: | little_endian | = | (1==transfer([1_int8, 0_int8], 0_int16)) |
FNV_1 interfaces (Specification)
FNV_1 hash function for character strings
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | key |
FNV_1 hash function for rank 1 arrays of kind int16
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(in) | :: | key(:) |
FNV_1 hash function for rank 1 arrays of kind int32
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | key(:) |
FNV_1 hash function for rank 1 arrays of kind int64
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | key(:) |
FNV_1 hash function for rank 1 arrays of kind int8
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int8), | intent(in) | :: | key(:) |
FNV_1A interfaces (Specification)
FNV_1A hash function for character strings
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | key |
FNV_1A hash function for rank 1 arrays of kind int16
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(in) | :: | key(:) |
FNV_1A hash function for rank 1 arrays of kind int32
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | key(:) |
FNV_1A hash function for rank 1 arrays of kind int64
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | key(:) |
FNV_1A hash function for rank 1 arrays of kind int8
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int8), | intent(in) | :: | key(:) |
Random seed generator for MIR_HASH_STRICT
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout) | :: | seed |
Random seed generator for SPOOKY_HASH
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(inout) | :: | seed(2) |
PENGY_HASH interfaces (Specification)
MIR HASH STRICT function for character strings
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | key | |||
| integer(kind=int32), | intent(in) | :: | seed |
PENGY_HASH hash function for rank 1 array keys of kind int16
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(in) | :: | key(:) | |||
| integer(kind=int32), | intent(in) | :: | seed |
PENGY_HASH hash function for rank 1 array keys of kind int32
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | key(:) | |||
| integer(kind=int32), | intent(in) | :: | seed |
PENGY_HASH hash function for rank 1 array keys of kind int64
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | key(:) | |||
| integer(kind=int32), | intent(in) | :: | seed |
PENGY_HASH hash function for rank 1 array keys of kind int8
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int8), | intent(in) | :: | key(:) | |||
| integer(kind=int32), | intent(in) | :: | seed |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int8), | intent(in), | target | :: | key(0:) | ||
| integer(kind=int_hash), | intent(inout) | :: | hash_inout(2) |
SPOOKY_HASH interfaces (Specification)
SPOOKY hash function for character strings
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | key | |||
| integer(kind=int_hash), | intent(in) | :: | seed(2) |
SPOOKY HASH function for rank 1 arrays of kind int16
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(in) | :: | key(0:) | |||
| integer(kind=int_hash), | intent(in) | :: | seed(2) |
SPOOKY HASH function for rank 1 arrays of kind int32
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | key(0:) | |||
| integer(kind=int_hash), | intent(in) | :: | seed(2) |
SPOOKY HASH function for rank 1 arrays of kind int64
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | key(0:) | |||
| integer(kind=int_hash), | intent(in) | :: | seed(2) |
SPOOKY HASH function for rank 1 arrays of kind int8
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int8), | intent(in) | :: | key(0:) | |||
| integer(kind=int_hash), | intent(in) | :: | seed(2) |
Maps the 64 bit integer key to an unsigned integer value with only nbits
bits where nbits is less than 64
(Specification)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | key | |||
| integer, | intent(in) | :: | nbits |
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)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | key | |||
| integer(kind=int64), | intent(in) | :: | seed | |||
| integer, | intent(in) | :: | nbits |
Returns a 64 bit pseudo random integer, harvest, distributed uniformly over
the odd integers of the 64 bit kind.
(Specification)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(out) | :: | harvest |