@@ -501,54 +501,6 @@ end subroutine cset
501501! ###############################################################################
502502
503503
504- ! ###############################################################################
505- subroutine sort_col (arr1 ,col ,reverse )
506- ! ! Sort a 2D array along a specified column.
507- implicit none
508-
509- ! Arguments
510- real (real32), dimension (:,:), intent (inout ) :: arr1
511- ! ! Array to be sorted.
512- integer , intent (in ) :: col
513- ! ! Column to sort along.
514- logical , optional , intent (in ) :: reverse
515- ! ! Optional. Boolean whether to sort in reverse order.
516-
517- ! Local variables
518- integer :: i,dim,loc
519- ! ! Loop index.
520- logical :: reverse_
521- ! ! Boolean whether to sort in reverse order.
522- real (real32), allocatable , dimension (:) :: dbuff
523- ! ! Buffer for swapping elements.
524-
525-
526- if (present (reverse))then
527- reverse_= reverse
528- else
529- reverse_= .false.
530- end if
531-
532- allocate (dbuff(size (arr1,dim= 2 )))
533-
534- dim= size (arr1,dim= 1 )
535- do i= 1 ,dim
536- if (reverse_)then
537- loc= maxloc (arr1(i:dim,col),dim= 1 )+ i-1
538- else
539- loc= minloc (arr1(i:dim,col),dim= 1 )+ i-1
540- end if
541- dbuff= arr1(i,:)
542- arr1(i,:)= arr1(loc,:)
543- arr1(loc,:)= dbuff
544-
545- end do
546-
547- return
548- end subroutine sort_col
549- ! ###############################################################################
550-
551-
552504! ###############################################################################
553505 subroutine iswap (value1 ,value2 )
554506 ! ! Swap two integers.
0 commit comments