feed_integer Subroutine

private pure subroutine feed_integer(state, value, nbytes)

Feed the nbytes low-order bytes of value, least significant first.

ibits yields the unsigned value of each byte of the two’s-complement representation, so the stream is independent of host endianness.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout) :: state
integer(kind=int64), intent(in) :: value

Value to encode, already widened to int64 by the caller.

integer(kind=default_int), intent(in) :: nbytes

How many low-order bytes of value are significant, 1 to 8.


Calls

proc~~feed_integer~~CallsGraph proc~feed_integer feed_integer proc~fnv1a_byte fnv1a_byte proc~feed_integer->proc~fnv1a_byte

Called by

proc~~feed_integer~~CalledByGraph proc~feed_integer feed_integer proc~feed_logical feed_logical proc~feed_logical->proc~feed_integer proc~feed_real_record feed_real_record proc~feed_real_record->proc~feed_integer proc~update_char_0 array_hash_t%update_char_0 proc~update_char_0->proc~feed_integer proc~update_int16_0 array_hash_t%update_int16_0 proc~update_int16_0->proc~feed_integer proc~update_int16_1 array_hash_t%update_int16_1 proc~update_int16_1->proc~feed_integer proc~update_int32_0 array_hash_t%update_int32_0 proc~update_int32_0->proc~feed_integer proc~update_int32_1 array_hash_t%update_int32_1 proc~update_int32_1->proc~feed_integer proc~update_int64_0 array_hash_t%update_int64_0 proc~update_int64_0->proc~feed_integer proc~update_int64_1 array_hash_t%update_int64_1 proc~update_int64_1->proc~feed_integer proc~update_int8_0 array_hash_t%update_int8_0 proc~update_int8_0->proc~feed_integer proc~update_int8_1 array_hash_t%update_int8_1 proc~update_int8_1->proc~feed_integer none~update array_hash_t%update none~update->proc~update_char_0 none~update->proc~update_int16_0 none~update->proc~update_int16_1 none~update->proc~update_int32_0 none~update->proc~update_int32_1 none~update->proc~update_int64_0 none~update->proc~update_int64_1 none~update->proc~update_int8_0 none~update->proc~update_int8_1 proc~update_logical_0 array_hash_t%update_logical_0 none~update->proc~update_logical_0 proc~update_logical_1 array_hash_t%update_logical_1 none~update->proc~update_logical_1 proc~update_cdp_0 array_hash_t%update_cdp_0 none~update->proc~update_cdp_0 proc~update_cdp_1 array_hash_t%update_cdp_1 none~update->proc~update_cdp_1 proc~update_cdp_2 array_hash_t%update_cdp_2 none~update->proc~update_cdp_2 proc~update_cdp_3 array_hash_t%update_cdp_3 none~update->proc~update_cdp_3 proc~update_char_1 array_hash_t%update_char_1 none~update->proc~update_char_1 proc~update_csp_0 array_hash_t%update_csp_0 none~update->proc~update_csp_0 proc~update_csp_1 array_hash_t%update_csp_1 none~update->proc~update_csp_1 proc~update_csp_2 array_hash_t%update_csp_2 none~update->proc~update_csp_2 proc~update_csp_3 array_hash_t%update_csp_3 none~update->proc~update_csp_3 proc~update_int16_2 array_hash_t%update_int16_2 none~update->proc~update_int16_2 proc~update_int16_3 array_hash_t%update_int16_3 none~update->proc~update_int16_3 proc~update_int32_2 array_hash_t%update_int32_2 none~update->proc~update_int32_2 proc~update_int32_3 array_hash_t%update_int32_3 none~update->proc~update_int32_3 proc~update_int64_2 array_hash_t%update_int64_2 none~update->proc~update_int64_2 proc~update_int64_3 array_hash_t%update_int64_3 none~update->proc~update_int64_3 proc~update_int8_2 array_hash_t%update_int8_2 none~update->proc~update_int8_2 proc~update_int8_3 array_hash_t%update_int8_3 none~update->proc~update_int8_3 proc~update_logical_2 array_hash_t%update_logical_2 none~update->proc~update_logical_2 proc~update_logical_3 array_hash_t%update_logical_3 none~update->proc~update_logical_3 proc~update_rdp_0 array_hash_t%update_rdp_0 none~update->proc~update_rdp_0 proc~update_rdp_1 array_hash_t%update_rdp_1 none~update->proc~update_rdp_1 proc~update_rdp_2 array_hash_t%update_rdp_2 none~update->proc~update_rdp_2 proc~update_rdp_3 array_hash_t%update_rdp_3 none~update->proc~update_rdp_3 proc~update_rsp_0 array_hash_t%update_rsp_0 none~update->proc~update_rsp_0 proc~update_rsp_1 array_hash_t%update_rsp_1 none~update->proc~update_rsp_1 proc~update_rsp_2 array_hash_t%update_rsp_2 none~update->proc~update_rsp_2 proc~update_rsp_3 array_hash_t%update_rsp_3 none~update->proc~update_rsp_3 proc~feed_real_dp feed_real_dp proc~feed_real_dp->proc~feed_real_record proc~feed_real_sp feed_real_sp proc~feed_real_sp->proc~feed_real_record proc~update_logical_0->proc~feed_logical proc~update_logical_1->proc~feed_logical proc~hash_cdp_1 hash_cdp_1 proc~hash_cdp_1->none~update proc~hash_cdp_2 hash_cdp_2 proc~hash_cdp_2->none~update proc~hash_cdp_3 hash_cdp_3 proc~hash_cdp_3->none~update proc~hash_char_0 hash_char_0 proc~hash_char_0->none~update proc~hash_char_1 hash_char_1 proc~hash_char_1->none~update proc~hash_csp_1 hash_csp_1 proc~hash_csp_1->none~update proc~hash_csp_2 hash_csp_2 proc~hash_csp_2->none~update proc~hash_csp_3 hash_csp_3 proc~hash_csp_3->none~update proc~hash_int16_1 hash_int16_1 proc~hash_int16_1->none~update proc~hash_int16_2 hash_int16_2 proc~hash_int16_2->none~update proc~hash_int16_3 hash_int16_3 proc~hash_int16_3->none~update proc~hash_int32_1 hash_int32_1 proc~hash_int32_1->none~update proc~hash_int32_2 hash_int32_2 proc~hash_int32_2->none~update proc~hash_int32_3 hash_int32_3 proc~hash_int32_3->none~update proc~hash_int64_1 hash_int64_1 proc~hash_int64_1->none~update proc~hash_int64_2 hash_int64_2 proc~hash_int64_2->none~update proc~hash_int64_3 hash_int64_3 proc~hash_int64_3->none~update proc~hash_int8_1 hash_int8_1 proc~hash_int8_1->none~update proc~hash_int8_2 hash_int8_2 proc~hash_int8_2->none~update proc~hash_int8_3 hash_int8_3 proc~hash_int8_3->none~update proc~hash_logical_1 hash_logical_1 proc~hash_logical_1->none~update proc~hash_logical_2 hash_logical_2 proc~hash_logical_2->none~update proc~hash_logical_3 hash_logical_3 proc~hash_logical_3->none~update proc~hash_rdp_1 hash_rdp_1 proc~hash_rdp_1->none~update proc~hash_rdp_2 hash_rdp_2 proc~hash_rdp_2->none~update proc~hash_rdp_3 hash_rdp_3 proc~hash_rdp_3->none~update proc~hash_rsp_1 hash_rsp_1 proc~hash_rsp_1->none~update proc~hash_rsp_2 hash_rsp_2 proc~hash_rsp_2->none~update proc~hash_rsp_3 hash_rsp_3 proc~hash_rsp_3->none~update proc~soa_hash_begin_32 soa_hash_begin_32 proc~soa_hash_begin_32->none~update proc~soa_hash_int32_field soa_hash_int32_field proc~soa_hash_int32_field->none~update proc~soa_hash_int64_field soa_hash_int64_field proc~soa_hash_int64_field->none~update proc~soa_hash_logical_field soa_hash_logical_field proc~soa_hash_logical_field->none~update proc~soa_hash_real_dp_field soa_hash_real_dp_field proc~soa_hash_real_dp_field->none~update proc~soa_hash_real_sp_field soa_hash_real_sp_field proc~soa_hash_real_sp_field->none~update proc~update_cdp_0->proc~feed_real_dp proc~update_cdp_1->proc~feed_real_dp proc~update_cdp_2->none~update proc~update_cdp_3->none~update proc~update_char_1->none~update proc~update_csp_0->proc~feed_real_sp proc~update_csp_1->proc~feed_real_sp proc~update_csp_2->none~update proc~update_csp_3->none~update proc~update_int16_2->none~update proc~update_int16_3->none~update proc~update_int32_2->none~update proc~update_int32_3->none~update proc~update_int64_2->none~update proc~update_int64_3->none~update proc~update_int8_2->none~update proc~update_int8_3->none~update proc~update_logical_2->none~update proc~update_logical_3->none~update proc~update_rdp_0->proc~feed_real_dp proc~update_rdp_1->proc~feed_real_dp proc~update_rdp_2->none~update proc~update_rdp_3->none~update proc~update_rsp_0->proc~feed_real_sp proc~update_rsp_1->proc~feed_real_sp proc~update_rsp_2->none~update proc~update_rsp_3->none~update interface~array_hash array_hash interface~array_hash->proc~hash_cdp_1 interface~array_hash->proc~hash_cdp_2 interface~array_hash->proc~hash_cdp_3 interface~array_hash->proc~hash_char_0 interface~array_hash->proc~hash_char_1 interface~array_hash->proc~hash_csp_1 interface~array_hash->proc~hash_csp_2 interface~array_hash->proc~hash_csp_3 interface~array_hash->proc~hash_int16_1 interface~array_hash->proc~hash_int16_2 interface~array_hash->proc~hash_int16_3 interface~array_hash->proc~hash_int32_1 interface~array_hash->proc~hash_int32_2 interface~array_hash->proc~hash_int32_3 interface~array_hash->proc~hash_int64_1 interface~array_hash->proc~hash_int64_2 interface~array_hash->proc~hash_int64_3 interface~array_hash->proc~hash_int8_1 interface~array_hash->proc~hash_int8_2 interface~array_hash->proc~hash_int8_3 interface~array_hash->proc~hash_logical_1 interface~array_hash->proc~hash_logical_2 interface~array_hash->proc~hash_logical_3 interface~array_hash->proc~hash_rdp_1 interface~array_hash->proc~hash_rdp_2 interface~array_hash->proc~hash_rdp_3 interface~array_hash->proc~hash_rsp_1 interface~array_hash->proc~hash_rsp_2 interface~array_hash->proc~hash_rsp_3 interface~soa_hash_begin soa_hash_begin interface~soa_hash_begin->proc~soa_hash_begin_32 interface~soa_hash_field soa_hash_field interface~soa_hash_field->proc~soa_hash_int32_field interface~soa_hash_field->proc~soa_hash_int64_field interface~soa_hash_field->proc~soa_hash_logical_field interface~soa_hash_field->proc~soa_hash_real_dp_field interface~soa_hash_field->proc~soa_hash_real_sp_field proc~particle_soa_state_hash particle_soa_t%particle_soa_state_hash proc~particle_soa_state_hash->interface~soa_hash_begin 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_begin proc~particle_soa_state_hash64->interface~soa_hash_field

Variables

Type Visibility Attributes Name Initial
integer(kind=default_int), private :: i

Source Code

   pure subroutine feed_integer(state, value, nbytes)
      !! Feed the `nbytes` low-order bytes of `value`, least significant first.
      !!
      !! `ibits` yields the unsigned value of each byte of the two's-complement
      !! representation, so the stream is independent of host endianness.
      integer(int32), intent(inout) :: state
      integer(int64), intent(in) :: value
         !! Value to encode, already widened to `int64` by the caller.
      integer(default_int), intent(in) :: nbytes
         !! How many low-order bytes of `value` are significant, 1 to 8.

      integer(default_int) :: i

      do i = 0_default_int, nbytes - 1_default_int
         call fnv1a_byte(state, ibits(value, 8_default_int*i, 8_default_int))
      end do
   end subroutine feed_integer