demo_sortc Program

Uses

Variables

Type Attributes Name Initial
real :: aa(isz)
real :: bb(isz)
real :: cc(isz)
real :: dd(isz)
integer :: i
integer, parameter :: isz = 20

Source Code

     program demo_sortc
     use M_datapac, only : sortc, label
     implicit none
     integer,parameter            :: isz=20
     real                         :: aa(isz)
     real                         :: bb(isz)
     real                         :: cc(isz)
     real                         :: dd(isz)
     integer                      :: i
       call label('sortc')
       write(*,*)'initializing array with ',isz,' random numbers'
       call random_seed()
       CALL RANDOM_NUMBER(aa)
       aa=aa*450000.0
       bb=real([(i,i=1,isz)])
       call sortc(aa,bb,size(aa),cc,dd)

       write(*,*)'checking if real values are sorted(3f)'
       do i=1,isz-1
          if(cc(i).gt.cc(i+1))then
             write(*,*)'Error in sorting reals small to large ',i,cc(i),cc(i+1)
          endif
       enddo
       write(*,*)'test of sortc(3f) complete'
       write(*,'(4(g0,1x))')(aa(i),bb(i),cc(i),dd(i),i=1,isz)
       write(*,'(*(g0,1x))')sum(aa),sum(cc) ! should be the same if no truncation
       write(*,'(*(g0,1x))')sum(bb),sum(dd)

     end program demo_sortc