60 integer,
intent(inout) :: l(0:n+1), a1(n), a2(n)
61 integer ::
i, lp, iswap
66 if ((lp .eq. 0).or.(
i>n))
exit
90 integer ::
i, lp, iswap, n
91 integer :: l(0:), a(:)
96 if ((lp .eq. 0).or.(
i>n))
exit
118 integer ::
i, lp, iswap, n
119 integer :: l(0:n+1), a1(n)
120 real(kind(1.e0)) :: a2(n)
125 if ((lp .eq. 0).or.(
i>n))
exit
149 integer ::
i, lp, iswap, n
150 integer :: l(0:n+1), a1(n)
151 real(kind(1.d0)) :: a2(n), dswap
156 if ((lp .eq. 0).or.(
i>n))
exit
180 integer ::
i, lp, iswap, n
182 real(kind(1.d0)) :: a1(n)
187 if ((lp .eq. 0).or.(
i>n))
exit
208 integer ::
i, lp, iswap, n
209 integer :: l(0:n+1), a1(n)
210 complex(kind(1.e0)) :: a2(n)
215 if ((lp .eq. 0).or.(
i>n))
exit
239 integer ::
i, lp, iswap, n
240 integer :: l(0:n+1), a1(n)
241 complex(kind(1.d0)) :: a2(n)
246 if ((lp .eq. 0).or.(
i>n))
exit
274 integer,
intent(inout) :: k(n), l(0:n+1)
275 integer,
optional :: order
277 integer :: p, q,
s, t,
i, iord
280 if(present(order)) iord = order
282 if((iord .ne. 1) .and. (iord .ne. -1))
then
283 write(*,
'("Wrong input in mergesort")')
291 if (iord*k(p) .le. iord*k(p+1))
then
301 if (l(n+1) .eq. 0)
then
304 l(n+1) = iabs(l(n+1))
316 if(iord*k(p) .gt. iord*k(q)) goto 600
322 if (p .gt. 0) goto 300
338 if (q .gt. 0) goto 300
375 integer,
intent(inout) :: l(0:n+1)
376 real(kind(1.d0)) :: k(n)
377 integer,
optional :: order
379 integer :: p, q,
s, t,
i, iord
382 if(present(order)) iord = order
384 if((iord .ne. 1) .and. (iord .ne. -1))
then
385 write(*,
'("Wrong input in mergesort")')
393 if (iord*k(p) .le. iord*k(p+1))
then
403 if (l(n+1) .eq. 0)
then
406 l(n+1) = iabs(l(n+1))
418 if(iord*k(p) .gt. iord*k(q)) goto 600
424 if (p .gt. 0) goto 300
440 if (q .gt. 0) goto 300
subroutine qrm_mergeswapd(n, l, a1)
subroutine qrm_mergeswapiz(n, l, a1, a2)
subroutine qrm_mergeswapid(n, l, a1, a2)
subroutine qrm_mergeswapic(n, l, a1, a2)
subroutine qrm_mergesortd(n, k, l, order)
subroutine qrm_mergesorti(n, k, l, order)
subroutine qrm_mergeswapii(n, l, a1, a2)
subroutine qrm_mergeswapis(n, l, a1, a2)
subroutine qrm_mergeswapi(n, l, a)
This module contains routines for sorting.