soa_hash64_real_dp_field Subroutine

private subroutine soa_hash64_real_dp_field(hasher, values, n)

Fold the first n elements of a real(dp) field into a 64-bit hash.

Arguments

Type IntentOptional Attributes Name
type(array_hash64_t), intent(inout) :: hasher
real(kind=dp), intent(in), allocatable :: values(:)
integer(kind=default_int), intent(in) :: n

Calls

proc~~soa_hash64_real_dp_field~~CallsGraph proc~soa_hash64_real_dp_field soa_hash64_real_dp_field none~update~2 array_hash64_t%update proc~soa_hash64_real_dp_field->none~update~2 proc~update64_cdp_0 array_hash64_t%update64_cdp_0 none~update~2->proc~update64_cdp_0 proc~update64_cdp_1 array_hash64_t%update64_cdp_1 none~update~2->proc~update64_cdp_1 proc~update64_cdp_2 array_hash64_t%update64_cdp_2 none~update~2->proc~update64_cdp_2 proc~update64_cdp_3 array_hash64_t%update64_cdp_3 none~update~2->proc~update64_cdp_3 proc~update64_char_0 array_hash64_t%update64_char_0 none~update~2->proc~update64_char_0 proc~update64_char_1 array_hash64_t%update64_char_1 none~update~2->proc~update64_char_1 proc~update64_csp_0 array_hash64_t%update64_csp_0 none~update~2->proc~update64_csp_0 proc~update64_csp_1 array_hash64_t%update64_csp_1 none~update~2->proc~update64_csp_1 proc~update64_csp_2 array_hash64_t%update64_csp_2 none~update~2->proc~update64_csp_2 proc~update64_csp_3 array_hash64_t%update64_csp_3 none~update~2->proc~update64_csp_3 proc~update64_int16_0 array_hash64_t%update64_int16_0 none~update~2->proc~update64_int16_0 proc~update64_int16_1 array_hash64_t%update64_int16_1 none~update~2->proc~update64_int16_1 proc~update64_int16_2 array_hash64_t%update64_int16_2 none~update~2->proc~update64_int16_2 proc~update64_int16_3 array_hash64_t%update64_int16_3 none~update~2->proc~update64_int16_3 proc~update64_int32_0 array_hash64_t%update64_int32_0 none~update~2->proc~update64_int32_0 proc~update64_int32_1 array_hash64_t%update64_int32_1 none~update~2->proc~update64_int32_1 proc~update64_int32_2 array_hash64_t%update64_int32_2 none~update~2->proc~update64_int32_2 proc~update64_int32_3 array_hash64_t%update64_int32_3 none~update~2->proc~update64_int32_3 proc~update64_int64_0 array_hash64_t%update64_int64_0 none~update~2->proc~update64_int64_0 proc~update64_int64_1 array_hash64_t%update64_int64_1 none~update~2->proc~update64_int64_1 proc~update64_int64_2 array_hash64_t%update64_int64_2 none~update~2->proc~update64_int64_2 proc~update64_int64_3 array_hash64_t%update64_int64_3 none~update~2->proc~update64_int64_3 proc~update64_int8_0 array_hash64_t%update64_int8_0 none~update~2->proc~update64_int8_0 proc~update64_int8_1 array_hash64_t%update64_int8_1 none~update~2->proc~update64_int8_1 proc~update64_int8_2 array_hash64_t%update64_int8_2 none~update~2->proc~update64_int8_2 proc~update64_int8_3 array_hash64_t%update64_int8_3 none~update~2->proc~update64_int8_3 proc~update64_logical_0 array_hash64_t%update64_logical_0 none~update~2->proc~update64_logical_0 proc~update64_logical_1 array_hash64_t%update64_logical_1 none~update~2->proc~update64_logical_1 proc~update64_logical_2 array_hash64_t%update64_logical_2 none~update~2->proc~update64_logical_2 proc~update64_logical_3 array_hash64_t%update64_logical_3 none~update~2->proc~update64_logical_3 proc~update64_rdp_0 array_hash64_t%update64_rdp_0 none~update~2->proc~update64_rdp_0 proc~update64_rdp_1 array_hash64_t%update64_rdp_1 none~update~2->proc~update64_rdp_1 proc~update64_rdp_2 array_hash64_t%update64_rdp_2 none~update~2->proc~update64_rdp_2 proc~update64_rdp_3 array_hash64_t%update64_rdp_3 none~update~2->proc~update64_rdp_3 proc~update64_rsp_0 array_hash64_t%update64_rsp_0 none~update~2->proc~update64_rsp_0 proc~update64_rsp_1 array_hash64_t%update64_rsp_1 none~update~2->proc~update64_rsp_1 proc~update64_rsp_2 array_hash64_t%update64_rsp_2 none~update~2->proc~update64_rsp_2 proc~update64_rsp_3 array_hash64_t%update64_rsp_3 none~update~2->proc~update64_rsp_3 proc~feed_real_dp64 feed_real_dp64 proc~update64_cdp_0->proc~feed_real_dp64 proc~update64_cdp_1->proc~feed_real_dp64 proc~update64_cdp_2->none~update~2 proc~update64_cdp_3->none~update~2 proc~feed_integer64 feed_integer64 proc~update64_char_0->proc~feed_integer64 proc~update64_char_1->none~update~2 proc~feed_real_sp64 feed_real_sp64 proc~update64_csp_0->proc~feed_real_sp64 proc~update64_csp_1->proc~feed_real_sp64 proc~update64_csp_2->none~update~2 proc~update64_csp_3->none~update~2 proc~update64_int16_0->proc~feed_integer64 proc~update64_int16_1->proc~feed_integer64 proc~update64_int16_2->none~update~2 proc~update64_int16_3->none~update~2 proc~update64_int32_0->proc~feed_integer64 proc~update64_int32_1->proc~feed_integer64 proc~update64_int32_2->none~update~2 proc~update64_int32_3->none~update~2 proc~update64_int64_0->proc~feed_integer64 proc~update64_int64_1->proc~feed_integer64 proc~update64_int64_2->none~update~2 proc~update64_int64_3->none~update~2 proc~update64_int8_0->proc~feed_integer64 proc~update64_int8_1->proc~feed_integer64 proc~update64_int8_2->none~update~2 proc~update64_int8_3->none~update~2 proc~feed_logical64 feed_logical64 proc~update64_logical_0->proc~feed_logical64 proc~update64_logical_1->proc~feed_logical64 proc~update64_logical_2->none~update~2 proc~update64_logical_3->none~update~2 proc~update64_rdp_0->proc~feed_real_dp64 proc~update64_rdp_1->proc~feed_real_dp64 proc~update64_rdp_2->none~update~2 proc~update64_rdp_3->none~update~2 proc~update64_rsp_0->proc~feed_real_sp64 proc~update64_rsp_1->proc~feed_real_sp64 proc~update64_rsp_2->none~update~2 proc~update64_rsp_3->none~update~2 proc~fnv1a_byte64 fnv1a_byte64 proc~feed_integer64->proc~fnv1a_byte64 proc~feed_logical64->proc~feed_integer64 proc~feed_real_record64 feed_real_record64 proc~feed_real_dp64->proc~feed_real_record64 proc~feed_real_sp64->proc~feed_real_record64 proc~feed_real_record64->proc~feed_integer64 proc~u64_add u64_add proc~fnv1a_byte64->proc~u64_add

Called by

proc~~soa_hash64_real_dp_field~~CalledByGraph proc~soa_hash64_real_dp_field soa_hash64_real_dp_field interface~soa_hash_field soa_hash_field interface~soa_hash_field->proc~soa_hash64_real_dp_field proc~particle_soa_state_hash particle_soa_t%particle_soa_state_hash proc~particle_soa_state_hash->interface~soa_hash_field proc~particle_soa_state_hash64 particle_soa_t%particle_soa_state_hash64 proc~particle_soa_state_hash64->interface~soa_hash_field

Source Code

   subroutine soa_hash64_real_dp_field(hasher, values, n)
      !! Fold the first `n` elements of a `real(dp)` field into a 64-bit hash.
      type(array_hash64_t), intent(inout) :: hasher
      real(dp), allocatable, intent(in) :: values(:)
      integer(default_int), intent(in) :: n

      if (.not. allocated(values)) return
      if (n <= 0) return
      call hasher%update(values(1:n))
   end subroutine soa_hash64_real_dp_field