Go to the source code of this file.
|
subroutine | dsort (dx, iy, n, kflag) |
|
◆ dsort()
subroutine dsort |
( |
double precision, dimension(*), intent(inout) |
dx, |
|
|
integer, dimension(*), intent(inout) |
iy, |
|
|
integer, intent(in) |
n, |
|
|
integer, intent(in) |
kflag |
|
) |
| |
67 integer kflag, n,iy(*),ty,tty
69 double precision dx(*)
71 double precision r, t, tt
72 integer i, ij, j, k, kk, l, m, nn
74 integer il(31), iu(31)
86 write(*,*)
'*error in dsort: the number of values to be' 87 write(*,*)
' sorted is not positive' 92 if (kk.ne.1 .and. kk.ne.2)
then 93 write(*,*)
'*error in dsort: the sort control parameter is' 94 write(*,*)
' not 2, 1, -1 or -2' 100 if (kflag .le. -1)
then 106 if (kk .eq. 2)
go to 100
115 20
if (i .eq. j)
go to 60
116 if (r .le. 0.5898437d0)
then 126 ij = i + int((j-i)*r)
131 if (dx(i) .gt. t)
then 140 if (dx(j) .lt. t)
then 147 if (dx(i) .gt. t)
then 158 if (dx(l) .gt. t)
go to 40
164 if (dx(k) .lt. t)
go to 50
177 if (l-i .gt. j-k)
then 193 if (m .eq. 0)
go to 190
197 70
if (j-i .ge. 1)
go to 30
198 if (i .eq. 1)
go to 20
202 if (i .eq. j)
go to 60
204 if (dx(i) .le. t)
go to 80
209 if (t .lt. dx(k))
go to 90
220 110
if (i .eq. j)
go to 150
221 if (r .le. 0.5898437d0)
then 231 ij = i + int((j-i)*r)
237 if (dx(i) .gt. t)
then 249 if (dx(j) .lt. t)
then 259 if (dx(i) .gt. t)
then 273 if (dx(l) .gt. t)
go to 130
279 if (dx(k) .lt. t)
go to 140
295 if (l-i .gt. j-k)
then 311 if (m .eq. 0)
go to 190
315 160
if (j-i .ge. 1)
go to 120
316 if (i .eq. 1)
go to 110
320 if (i .eq. j)
go to 150
323 if (dx(i) .le. t)
go to 170
329 if (t .lt. dx(k))
go to 180
336 190
if (kflag .le. -1)
then