write_int64_array Subroutine

private subroutine write_int64_array(unit, values, err)

Write an integer(int64) array record.

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit
integer(kind=int64), intent(in) :: values(:)
type(error_t), intent(inout) :: err

Calls

proc~~write_int64_array~~CallsGraph proc~write_int64_array write_int64_array proc~check_io check_io proc~write_int64_array->proc~check_io proc~error_get_code error_t%error_get_code proc~write_int64_array->proc~error_get_code proc~error_wrap error_t%error_wrap proc~write_int64_array->proc~error_wrap proc~write_record_header write_record_header proc~write_int64_array->proc~write_record_header interface~to_char to_char proc~check_io->interface~to_char proc~error_set error_t%error_set proc~check_io->proc~error_set proc~clip_tail clip_tail proc~error_wrap->proc~clip_tail proc~error_has_error error_t%error_has_error proc~error_wrap->proc~error_has_error proc~write_record_header->proc~check_io proc~to_char_char to_char_char interface~to_char->proc~to_char_char proc~to_char_dp to_char_dp interface~to_char->proc~to_char_dp proc~to_char_int32 to_char_int32 interface~to_char->proc~to_char_int32 proc~to_char_int64 to_char_int64 interface~to_char->proc~to_char_int64 proc~to_char_logical to_char_logical interface~to_char->proc~to_char_logical proc~to_char_matrix_dp to_char_matrix_dp interface~to_char->proc~to_char_matrix_dp proc~to_char_matrix_int32 to_char_matrix_int32 interface~to_char->proc~to_char_matrix_int32 proc~to_char_matrix_int64 to_char_matrix_int64 interface~to_char->proc~to_char_matrix_int64 proc~to_char_matrix_sp to_char_matrix_sp interface~to_char->proc~to_char_matrix_sp proc~to_char_sp to_char_sp interface~to_char->proc~to_char_sp proc~to_char_vector_dp to_char_vector_dp interface~to_char->proc~to_char_vector_dp proc~to_char_vector_int32 to_char_vector_int32 interface~to_char->proc~to_char_vector_int32 proc~to_char_vector_int64 to_char_vector_int64 interface~to_char->proc~to_char_vector_int64 proc~to_char_vector_sp to_char_vector_sp interface~to_char->proc~to_char_vector_sp

Called by

proc~~write_int64_array~~CalledByGraph proc~write_int64_array write_int64_array interface~write_array write_array interface~write_array->proc~write_int64_array proc~soa_write_int32_field soa_write_int32_field proc~soa_write_int32_field->interface~write_array proc~soa_write_int64_field soa_write_int64_field proc~soa_write_int64_field->interface~write_array proc~soa_write_logical_field soa_write_logical_field proc~soa_write_logical_field->interface~write_array proc~soa_write_prologue soa_write_prologue proc~soa_write_prologue->interface~write_array proc~soa_write_real_dp_field soa_write_real_dp_field proc~soa_write_real_dp_field->interface~write_array proc~soa_write_real_sp_field soa_write_real_sp_field proc~soa_write_real_sp_field->interface~write_array interface~soa_write_field soa_write_field interface~soa_write_field->proc~soa_write_int32_field interface~soa_write_field->proc~soa_write_int64_field interface~soa_write_field->proc~soa_write_logical_field interface~soa_write_field->proc~soa_write_real_dp_field interface~soa_write_field->proc~soa_write_real_sp_field proc~particle_soa_serialize particle_soa_t%particle_soa_serialize proc~particle_soa_serialize->proc~soa_write_prologue proc~particle_soa_serialize->interface~soa_write_field

Variables

Type Visibility Attributes Name Initial
integer(kind=default_int), private :: code
integer(kind=default_int), private :: ios
logical, private :: ok

Source Code

   subroutine write_int64_array(unit, values, err)
      !! Write an `integer(int64)` array record.
      integer(default_int), intent(in) :: unit
      integer(int64), intent(in) :: values(:)
      type(error_t), intent(inout) :: err

      integer(default_int) :: ios, code
      logical :: ok

      call write_record_header(unit, PIC_TAG_INT64, size(values, kind=int64), ok, err)
      if (.not. ok) then
         code = err%get_code()
         call err%wrap(code, "failed to write int64 record")
         return
      end if

      if (size(values, kind=int64) > 0_int64) then
         write (unit, iostat=ios) values
         call check_io(ios, "failed to write int64 payload", err)
      end if
   end subroutine write_int64_array