char_sort Module Subroutine

pure module subroutine char_sort(array, reverse)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(inout) :: array(0:)
logical, intent(in), optional :: reverse

Calls

proc~~char_sort~~CallsGraph proc~char_sort char_sort interface~pic_optional pic_optional proc~char_sort->interface~pic_optional proc~char_decrease_sort char_decrease_sort proc~char_sort->proc~char_decrease_sort proc~char_increase_sort char_increase_sort proc~char_sort->proc~char_increase_sort proc~optional_char optional_char interface~pic_optional->proc~optional_char proc~optional_dp optional_dp interface~pic_optional->proc~optional_dp proc~optional_int32 optional_int32 interface~pic_optional->proc~optional_int32 proc~optional_int64 optional_int64 interface~pic_optional->proc~optional_int64 proc~optional_logical optional_logical interface~pic_optional->proc~optional_logical proc~optional_sp optional_sp interface~pic_optional->proc~optional_sp none~introsort~10 introsort proc~char_decrease_sort->none~introsort~10 none~introsort~5 introsort proc~char_increase_sort->none~introsort~5 none~introsort~10->none~introsort~10 none~heap_sort~10 heap_sort none~introsort~10->none~heap_sort~10 none~insertion_sort~30 insertion_sort none~introsort~10->none~insertion_sort~30 none~partition~10 partition none~introsort~10->none~partition~10 none~introsort~5->none~introsort~5 none~heap_sort~5 heap_sort none~introsort~5->none~heap_sort~5 none~insertion_sort~25 insertion_sort none~introsort~5->none~insertion_sort~25 none~partition~5 partition none~introsort~5->none~partition~5 none~max_heapify~10 max_heapify none~heap_sort~10->none~max_heapify~10 none~max_heapify~5 max_heapify none~heap_sort~5->none~max_heapify~5 none~max_heapify~10->none~max_heapify~10 none~max_heapify~5->none~max_heapify~5

Source Code

   pure module subroutine char_sort(array, reverse)
      character(len=*), intent(inout) :: array(0:)
      logical, intent(in), optional            :: reverse

      if (pic_optional(reverse, .false.)) then
         call char_decrease_sort(array)
      else
         call char_increase_sort(array)
      end if
   end subroutine char_sort