to_char_vector_sp Function

private function to_char_vector_sp(array) result(trimmed_str)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: array(:)

Return Value character(len=:), allocatable


Called by

proc~~to_char_vector_sp~~CalledByGraph proc~to_char_vector_sp to_char_vector_sp interface~to_char to_char interface~to_char->proc~to_char_vector_sp proc~check_io check_io proc~check_io->interface~to_char proc~flop_rate_report flop_rate_type%flop_rate_report proc~flop_rate_report->interface~to_char proc~print_matrix_dp print_matrix_dp proc~print_matrix_dp->interface~to_char proc~print_matrix_int32 print_matrix_int32 proc~print_matrix_int32->interface~to_char proc~print_matrix_int64 print_matrix_int64 proc~print_matrix_int64->interface~to_char proc~print_matrix_sp print_matrix_sp proc~print_matrix_sp->interface~to_char proc~print_packed_matrix_dp print_packed_matrix_dp proc~print_packed_matrix_dp->interface~to_char proc~print_packed_matrix_int32 print_packed_matrix_int32 proc~print_packed_matrix_int32->interface~to_char proc~print_packed_matrix_int64 print_packed_matrix_int64 proc~print_packed_matrix_int64->interface~to_char proc~print_packed_matrix_sp print_packed_matrix_sp proc~print_packed_matrix_sp->interface~to_char proc~print_vector_dp print_vector_dp proc~print_vector_dp->interface~to_char proc~print_vector_int32 print_vector_int32 proc~print_vector_int32->interface~to_char proc~print_vector_int64 print_vector_int64 proc~print_vector_int64->interface~to_char proc~print_vector_sp print_vector_sp proc~print_vector_sp->interface~to_char proc~read_header read_header proc~read_header->interface~to_char proc~read_header->proc~check_io proc~read_record_header read_record_header proc~read_record_header->interface~to_char proc~read_record_header->proc~check_io proc~soa_check_alloc soa_check_alloc proc~soa_check_alloc->interface~to_char proc~soa_check_field_count soa_check_field_count proc~soa_check_field_count->interface~to_char proc~soa_check_live_count soa_check_live_count proc~soa_check_live_count->interface~to_char proc~soa_check_resize_args soa_check_resize_args proc~soa_check_resize_args->interface~to_char proc~soa_plan_resize soa_plan_resize proc~soa_plan_resize->interface~to_char proc~soa_read_logical_field soa_read_logical_field proc~soa_read_logical_field->interface~to_char proc~soa_read_logical_field->proc~soa_check_alloc proc~soa_read_logical_field->proc~soa_check_field_count interface~read_array read_array proc~soa_read_logical_field->interface~read_array proc~soa_read_prologue soa_read_prologue proc~soa_read_prologue->interface~to_char proc~soa_read_prologue->proc~read_header proc~soa_read_prologue->interface~read_array proc~soa_write_prologue soa_write_prologue proc~soa_write_prologue->interface~to_char proc~write_header write_header proc~soa_write_prologue->proc~write_header interface~write_array write_array proc~soa_write_prologue->interface~write_array proc~timer_print_time timer_type%timer_print_time proc~timer_print_time->interface~to_char interface~pic_print_array pic_print_array interface~pic_print_array->proc~print_matrix_dp interface~pic_print_array->proc~print_matrix_int32 interface~pic_print_array->proc~print_matrix_int64 interface~pic_print_array->proc~print_matrix_sp interface~pic_print_array->proc~print_packed_matrix_dp interface~pic_print_array->proc~print_packed_matrix_int32 interface~pic_print_array->proc~print_packed_matrix_int64 interface~pic_print_array->proc~print_packed_matrix_sp interface~pic_print_array->proc~print_vector_dp interface~pic_print_array->proc~print_vector_int32 interface~pic_print_array->proc~print_vector_int64 interface~pic_print_array->proc~print_vector_sp proc~print_3d_tensor_dp print_3d_tensor_dp interface~pic_print_array->proc~print_3d_tensor_dp proc~print_3d_tensor_int32 print_3d_tensor_int32 interface~pic_print_array->proc~print_3d_tensor_int32 proc~print_3d_tensor_int64 print_3d_tensor_int64 interface~pic_print_array->proc~print_3d_tensor_int64 proc~print_3d_tensor_sp print_3d_tensor_sp interface~pic_print_array->proc~print_3d_tensor_sp interface~soa_read_field soa_read_field interface~soa_read_field->proc~soa_read_logical_field proc~soa_read_int32_field soa_read_int32_field interface~soa_read_field->proc~soa_read_int32_field proc~soa_read_int64_field soa_read_int64_field interface~soa_read_field->proc~soa_read_int64_field proc~soa_read_real_dp_field soa_read_real_dp_field interface~soa_read_field->proc~soa_read_real_dp_field proc~soa_read_real_sp_field soa_read_real_sp_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 proc~particle_soa_resize particle_soa_t%particle_soa_resize proc~particle_soa_resize->proc~soa_plan_resize interface~soa_resize_field soa_resize_field proc~particle_soa_resize->interface~soa_resize_field proc~particle_soa_serialize particle_soa_t%particle_soa_serialize proc~particle_soa_serialize->proc~soa_write_prologue interface~soa_write_field soa_write_field proc~particle_soa_serialize->interface~soa_write_field proc~read_char_record read_char_record proc~read_char_record->proc~check_io proc~read_char_record->proc~read_record_header proc~read_int32_array read_int32_array proc~read_int32_array->proc~check_io proc~read_int32_array->proc~read_record_header proc~read_int64_array read_int64_array proc~read_int64_array->proc~check_io proc~read_int64_array->proc~read_record_header proc~read_real_dp_array read_real_dp_array proc~read_real_dp_array->proc~check_io proc~read_real_dp_array->proc~read_record_header proc~read_real_sp_array read_real_sp_array proc~read_real_sp_array->proc~check_io proc~read_real_sp_array->proc~read_record_header proc~serialize_close serialize_close proc~serialize_close->proc~check_io proc~serialize_open_read serialize_open_read proc~serialize_open_read->proc~check_io proc~serialize_open_write serialize_open_write proc~serialize_open_write->proc~check_io proc~soa_read_int32_field->proc~soa_check_field_count proc~soa_read_int32_field->interface~read_array proc~soa_read_int64_field->proc~soa_check_field_count proc~soa_read_int64_field->interface~read_array proc~soa_read_real_dp_field->proc~soa_check_field_count proc~soa_read_real_dp_field->interface~read_array proc~soa_read_real_sp_field->proc~soa_check_field_count proc~soa_read_real_sp_field->interface~read_array proc~soa_resize_int32_field soa_resize_int32_field proc~soa_resize_int32_field->proc~soa_check_alloc proc~soa_resize_int32_field->proc~soa_check_resize_args proc~soa_resize_int64_field soa_resize_int64_field proc~soa_resize_int64_field->proc~soa_check_alloc proc~soa_resize_int64_field->proc~soa_check_resize_args proc~soa_resize_logical_field soa_resize_logical_field proc~soa_resize_logical_field->proc~soa_check_alloc proc~soa_resize_logical_field->proc~soa_check_resize_args proc~soa_resize_real_dp_field soa_resize_real_dp_field proc~soa_resize_real_dp_field->proc~soa_check_alloc proc~soa_resize_real_dp_field->proc~soa_check_resize_args proc~soa_resize_real_sp_field soa_resize_real_sp_field proc~soa_resize_real_sp_field->proc~soa_check_alloc proc~soa_resize_real_sp_field->proc~soa_check_resize_args proc~soa_write_int32_field soa_write_int32_field proc~soa_write_int32_field->proc~soa_check_live_count proc~soa_write_int32_field->interface~write_array proc~soa_write_int64_field soa_write_int64_field proc~soa_write_int64_field->proc~soa_check_live_count proc~soa_write_int64_field->interface~write_array proc~soa_write_logical_field soa_write_logical_field proc~soa_write_logical_field->proc~soa_check_alloc proc~soa_write_logical_field->proc~soa_check_live_count proc~soa_write_logical_field->interface~write_array proc~soa_write_real_dp_field soa_write_real_dp_field proc~soa_write_real_dp_field->proc~soa_check_live_count 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->proc~soa_check_live_count proc~soa_write_real_sp_field->interface~write_array proc~write_char_record write_char_record proc~write_char_record->proc~check_io proc~write_record_header write_record_header proc~write_char_record->proc~write_record_header proc~write_header->proc~check_io proc~write_int32_array write_int32_array proc~write_int32_array->proc~check_io proc~write_int32_array->proc~write_record_header proc~write_int64_array write_int64_array proc~write_int64_array->proc~check_io proc~write_int64_array->proc~write_record_header proc~write_real_dp_array write_real_dp_array proc~write_real_dp_array->proc~check_io proc~write_real_dp_array->proc~write_record_header proc~write_real_sp_array write_real_sp_array proc~write_real_sp_array->proc~check_io proc~write_real_sp_array->proc~write_record_header proc~write_record_header->proc~check_io interface~read_array->proc~read_char_record interface~read_array->proc~read_int32_array interface~read_array->proc~read_int64_array interface~read_array->proc~read_real_dp_array interface~read_array->proc~read_real_sp_array interface~soa_resize_field->proc~soa_resize_int32_field interface~soa_resize_field->proc~soa_resize_int64_field interface~soa_resize_field->proc~soa_resize_logical_field interface~soa_resize_field->proc~soa_resize_real_dp_field interface~soa_resize_field->proc~soa_resize_real_sp_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 interface~write_array->proc~write_char_record interface~write_array->proc~write_int32_array interface~write_array->proc~write_int64_array interface~write_array->proc~write_real_dp_array interface~write_array->proc~write_real_sp_array proc~particle_soa_allocate particle_soa_t%particle_soa_allocate proc~particle_soa_allocate->proc~particle_soa_resize proc~print_3d_tensor_dp->interface~pic_print_array proc~print_3d_tensor_int32->interface~pic_print_array proc~print_3d_tensor_int64->interface~pic_print_array proc~print_3d_tensor_sp->interface~pic_print_array

Variables

Type Visibility Attributes Name Initial
integer, private :: i
character(len=32), private :: style
character(len=50), private :: temp_str
integer, private :: total_len

Source Code

   function to_char_vector_sp(array) result(trimmed_str)
      real(kind=sp), intent(in) :: array(:)
      character(len=:), allocatable :: trimmed_str
      character(len=50) :: temp_str
      character(len=32) :: style
      integer :: i, total_len

      ! Set up format
      write (style, "(A,I0,A)") "(F0.", sp_precision, ")"

      ! Estimate total length needed
      total_len = 2  ! for brackets
      do i = 1, size(array)
         write (temp_str, style) array(i)
         total_len = total_len + len_trim(temp_str) + 2  ! +2 for ", "
      end do

      ! Allocate result string
      allocate (character(len=total_len) :: trimmed_str)

      ! Build the string
      trimmed_str = "["
      do i = 1, size(array)
         write (temp_str, style) array(i)
         if (i < size(array)) then
            trimmed_str = trimmed_str//trim(temp_str)//", "
         else
            trimmed_str = trimmed_str//trim(temp_str)
         end if
      end do
      trimmed_str = trimmed_str//"]"
   end function to_char_vector_sp