@@ -99,7 +99,7 @@ module stdlib_64_bit_hash_codes
9999 end function ${k1}$_fnv_1
100100 #:endfor
101101
102- pure module function character_fnv_1( key ) result(hash_code)
102+ elemental module function character_fnv_1( key ) result(hash_code)
103103!! FNV_1 hash function for character strings
104104 character(*), intent(in) :: key
105105 integer(int_hash) :: hash_code
@@ -118,39 +118,14 @@ module stdlib_64_bit_hash_codes
118118 end function ${k1}$_fnv_1a
119119 #:endfor
120120
121- pure module function character_fnv_1a( key ) result(hash_code)
121+ elemental module function character_fnv_1a( key ) result(hash_code)
122122!! FNV_1A hash function for character strings
123123 character(*), intent(in) :: key
124124 integer(int_hash) :: hash_code
125125 end function character_fnv_1a
126126
127127 end interface fnv_1a_hash
128128
129-
130- interface murmur2_hash
131- !! MURMUR2_HASHES interfaces
132-
133- #:for k1 in INT_KINDS
134- pure module function ${k1}$_murmur2_hash( key, seed ) &
135- result(hash_code)
136- !! MURMUR2 hash function for rank 1 arrays of kind ${k1}$
137- integer(${k1}$), intent(in) :: key(0:)
138- integer(int_hash), intent(in) :: seed
139- integer(int_hash) :: hash_code
140- end function ${k1}$_murmur2_hash
141- #:endfor
142-
143- pure module function character_murmur2_hash( key, seed ) &
144- result(hash_code)
145- !! MURMUR2 hash function for character strings
146- character(*), intent(in) :: key
147- integer(int_hash), intent(in) :: seed
148- integer(int_hash) :: hash_code
149- end function character_murmur2_hash
150-
151- end interface murmur2_hash
152-
153-
154129 interface spooky_hash
155130!! SPOOKY_HASH interfaces
156131
@@ -234,7 +209,7 @@ interface
234209 end function ${k1}$_pengy_hash
235210 #:endfor
236211
237- pure module function character_pengy_hash( key, seed ) &
212+ elemental module function character_pengy_hash( key, seed ) &
238213 result(hash_code)
239214!! MIR HASH STRICT function for character strings
240215 character(*), intent(in) :: key
@@ -255,7 +230,7 @@ interface
255230
256231contains
257232
258- pure function fibonacci_hash( key, nbits ) result( sample )
233+ elemental function fibonacci_hash( key, nbits ) result( sample )
259234!! Maps the 64 bit integer KEY to an unsigned integer value with only NBITS
260235!! bits where NBITS is less than 64
261236 integer(int64), intent(in) :: key
@@ -266,7 +241,7 @@ contains
266241
267242 end function fibonacci_hash
268243
269- pure function universal_mult_hash( key, seed, nbits ) result( sample )
244+ elemental function universal_mult_hash( key, seed, nbits ) result( sample )
270245!! Uses the "random" odd 64 bit integer SEED to map the 64 bit integer KEY to
271246!! an unsigned integer value with only NBITS bits where NBITS is less than 64.
272247 integer(int64), intent(in) :: key
0 commit comments