1 # 1 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
2 # 1 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../generics.fypp" 1
11 # 56 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../generics.fypp"
12 # 2 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp" 2
13 # 1 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../instrumentation.fypp" 1
14 # 1 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../subr_list.fypp" 1
23 # 726 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../subr_list.fypp"
24 # 2 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../instrumentation.fypp" 2
33 # 112 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/../instrumentation.fypp"
34 # 3 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp" 2
55 # 24 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
57 # 24 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
59 # 26 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
62 # 29 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
64 # 29 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
66 # 31 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
69 # 34 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
71 # 34 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
73 # 36 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
81 # 44 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
91 integer,
intent(in) :: n
92 integer(kind_int),
intent(inout) :: list(n)
93 integer,
intent(inout),
optional :: order(n)
105 if (
present(order)) order = lorder
108 # 44 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
118 integer,
intent(in) :: n
120 integer,
intent(inout),
optional :: order(n)
132 if (
present(order)) order = lorder
135 # 71 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
137 # 73 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
147 integer,
intent(in) :: n
148 integer,
intent(in) :: left_end
149 integer,
intent(in) :: right_end
150 integer(kind_int),
intent(inout) :: list(n)
151 integer,
intent(inout) :: order(n)
154 integer,
parameter :: max_simple_sort_size = 6
156 integer(kind_int) :: reference,temp
158 if (right_end<left_end+max_simple_sort_size)
then
163 reference = list((left_end+right_end)/2)
170 if (.not.
inf(list(i),reference))
exit
175 if (.not.
sup(list(j),reference))
exit
194 if (left_end<j)
call quick_sort(n,left_end,j,list,order)
195 if (i<right_end)
call quick_sort(n,i,right_end,list,order)
199 # 73 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
209 integer,
intent(in) :: n
210 integer,
intent(in) :: left_end
211 integer,
intent(in) :: right_end
213 integer,
intent(inout) :: order(n)
216 integer,
parameter :: max_simple_sort_size = 6
220 if (right_end<left_end+max_simple_sort_size)
then
225 reference = list((left_end+right_end)/2)
232 if (.not.
inf(list(i),reference))
exit
237 if (.not.
sup(list(j),reference))
exit
256 if (left_end<j)
call quick_sort(n,left_end,j,list,order)
257 if (i<right_end)
call quick_sort(n,i,right_end,list,order)
261 # 135 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
263 # 137 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
273 integer,
intent(in) :: n
274 integer,
intent(in) :: left_end
275 integer,
intent(in) :: right_end
276 integer(kind_int),
intent(inout) :: list(n)
277 integer,
intent(inout) :: order(n)
281 integer(kind_int) :: temp
289 do i=left_end,right_end-1
291 if (
sup(list(i),list(j)))
then
306 # 137 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"
316 integer,
intent(in) :: n
317 integer,
intent(in) :: left_end
318 integer,
intent(in) :: right_end
319 real(kind_real),
intent(inout) :: list(n)
320 integer,
intent(inout) :: order(n)
324 real(kind_real) :: temp
332 do i=left_end,right_end-1
334 if (
sup(list(i),list(j)))
then
349 # 180 "/Users/miesch/JEDI/code/working_copy/public/fv3-bundle/saber/src/saber/external/tools_qsort.fypp"