Skip to content

Commit 561cee2

Browse files
committed
Update stdlib_hashmap_wrappers.f90
Added get_inte32_key function.
1 parent 418cb82 commit 561cee2

File tree

1 file changed

+31
-15
lines changed

1 file changed

+31
-15
lines changed

src/stdlib_hashmap_wrappers.f90

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ end function hasher_fun
8888

8989
module procedure get_char_key, &
9090
get_int8_key, &
91+
get_int32_key, &
9192
get_other
9293

9394
end interface get
@@ -278,6 +279,21 @@ subroutine get_int8_key( key, value )
278279
end subroutine get_int8_key
279280

280281

282+
subroutine get_int32_key( key, value )
283+
!! Version: Experimental
284+
!!
285+
!! Gets the contents of the key as an INTEGER(INT8) vector
286+
!! Arguments:
287+
!! key - the input key
288+
!! value - the contents of key mapped to an INTEGER(INT32) vector
289+
type(key_type), intent(in) :: key
290+
integer(int32), allocatable, intent(out) :: value(:)
291+
292+
value = transfer( key % value, value )
293+
294+
end subroutine get_int8_key
295+
296+
281297
subroutine set_char_key( key, value )
282298
!! Version: Experimental
283299
!!
@@ -309,21 +325,6 @@ subroutine set_other( other, value )
309325
end subroutine set_other
310326

311327

312-
subroutine set_int32_key( key, value )
313-
!! Version: Experimental
314-
!!
315-
!! Sets the contents of the key from an INTEGER(INT8) vector
316-
!! Arguments:
317-
!! key - the output key
318-
!! value - the input INTEGER(INT32) vector
319-
type(key_type), intent(out) :: key
320-
integer(int32), intent(in) :: value(:)
321-
322-
key % value = transfer(value, key % value)
323-
324-
end subroutine set_int32_key
325-
326-
327328
subroutine set_int8_key( key, value )
328329
!! Version: Experimental
329330
!!
@@ -339,6 +340,21 @@ subroutine set_int8_key( key, value )
339340
end subroutine set_int8_key
340341

341342

343+
subroutine set_int32_key( key, value )
344+
!! Version: Experimental
345+
!!
346+
!! Sets the contents of the key from an INTEGER(INT8) vector
347+
!! Arguments:
348+
!! key - the output key
349+
!! value - the input INTEGER(INT32) vector
350+
type(key_type), intent(out) :: key
351+
integer(int32), intent(in) :: value(:)
352+
353+
key % value = transfer(value, key % value)
354+
355+
end subroutine set_int32_key
356+
357+
342358
pure function fnv_1_hasher( key )
343359
!! Version: Experimental
344360
!!

0 commit comments

Comments
 (0)