bswap_int64 Function

private pure function bswap_int64(x) result(y)

Reverse the eight bytes of an int64.

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: x

Return Value integer(kind=int64)


Called by

proc~~bswap_int64~~CalledByGraph proc~bswap_int64 bswap_int64 proc~read_int64_array read_int64_array proc~read_int64_array->proc~bswap_int64 proc~read_record_header read_record_header proc~read_int64_array->proc~read_record_header proc~read_real_dp_array read_real_dp_array proc~read_real_dp_array->proc~bswap_int64 proc~read_real_dp_array->proc~read_record_header proc~read_record_header->proc~bswap_int64 interface~read_array read_array interface~read_array->proc~read_int64_array interface~read_array->proc~read_real_dp_array proc~read_char_record read_char_record interface~read_array->proc~read_char_record proc~read_int32_array read_int32_array interface~read_array->proc~read_int32_array proc~read_real_sp_array read_real_sp_array interface~read_array->proc~read_real_sp_array proc~read_char_record->proc~read_record_header proc~read_int32_array->proc~read_record_header proc~read_real_sp_array->proc~read_record_header proc~soa_read_int32_field soa_read_int32_field proc~soa_read_int32_field->interface~read_array proc~soa_read_int64_field soa_read_int64_field proc~soa_read_int64_field->interface~read_array proc~soa_read_logical_field soa_read_logical_field proc~soa_read_logical_field->interface~read_array proc~soa_read_prologue soa_read_prologue proc~soa_read_prologue->interface~read_array proc~soa_read_real_dp_field soa_read_real_dp_field proc~soa_read_real_dp_field->interface~read_array proc~soa_read_real_sp_field soa_read_real_sp_field proc~soa_read_real_sp_field->interface~read_array interface~soa_read_field soa_read_field interface~soa_read_field->proc~soa_read_int32_field interface~soa_read_field->proc~soa_read_int64_field interface~soa_read_field->proc~soa_read_logical_field interface~soa_read_field->proc~soa_read_real_dp_field interface~soa_read_field->proc~soa_read_real_sp_field proc~particle_soa_deserialize particle_soa_t%particle_soa_deserialize proc~particle_soa_deserialize->proc~soa_read_prologue proc~particle_soa_deserialize->interface~soa_read_field

Source Code

   pure function bswap_int64(x) result(y)
      !! Reverse the eight bytes of an `int64`.
      integer(int64), intent(in) :: x
      integer(int64) :: y

      y = ior(ior(ior(ishft(ibits(x, 0, BITS_PER_BYTE), 56), ishft(ibits(x, 8, BITS_PER_BYTE), 48)), &
                  ior(ishft(ibits(x, 16, BITS_PER_BYTE), 40), ishft(ibits(x, 24, BITS_PER_BYTE), 32))), &
              ior(ior(ishft(ibits(x, 32, BITS_PER_BYTE), 24), ishft(ibits(x, 40, BITS_PER_BYTE), 16)), &
                  ior(ishft(ibits(x, 48, BITS_PER_BYTE), 8), ibits(x, 56, BITS_PER_BYTE))))
   end function bswap_int64