Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This module contains procedures and generic interfaces for various sorting tasks.<br>
19 : !>
20 : !> \details
21 : !> Specifically, the generic interfaces of this module fall into three categories:<br>
22 : !> <ol>
23 : !> <li> Testing whether an array of intrinsic type and kind is in
24 : !> <ol>
25 : !> <li> [ascending](@ref pm_arraySort::isAscending),
26 : !> <li> [descending](@ref pm_arraySort::isDescending),
27 : !> <li> [sorted (i.e., either ascending or descending)](@ref pm_arraySort::isSorted),
28 : !> <li> [all ascending (i.e., strictly ascending with no duplicates)](@ref pm_arraySort::isSorted),
29 : !> <li> [all descending (i.e., strictly descending with no duplicates)](@ref pm_arraySort::isSorted),
30 : !> <li> [user-specified](@ref pm_arraySort::isSorted),
31 : !> </ol>
32 : !> order.<br>
33 : !> <li> [Sorting the indices](@ref pm_arraySort::setSorted) of an array of intrinsic type and kind in ascending order.<br>
34 : !> <li> [Sorting the elements](@ref pm_arraySort::setSorted) of an array of intrinsic type and kind in ascending order.<br>
35 : !> <li> [Generating sorted indices](@ref pm_arraySort::getSorted) of an array of intrinsic type and kind in ascending order.<br>
36 : !> <li> [Generating sorted elements](@ref pm_arraySort::getSorted) of an array of intrinsic type and kind in ascending order.<br>
37 : !> </ol>
38 : !>
39 : !> There are currently twelve different sorting algorithms implemented in
40 : !> this module in addition to index sorting and sort checking algorithms.<br>
41 : !>
42 : !> \note
43 : !> <b>Recommended routines for sorting arrays:</b><br>
44 : !> The procedures under the generic interface [setSorted](@ref pm_arraySort::setSorted) with default
45 : !< method are among the fastest sorting algorithms, particularly for fully random input arrays.<br>
46 : !>
47 : !> \benchmarks
48 : !>
49 : !> \benchmark{sorting}
50 : !> The following is program to test the performance of the different sorting algorithms in this module.<br>
51 : !> \include{lineno} benchmark/pm_arraySort/sorting/main.F90
52 : !> \compilefb{sorting}
53 : !> \postprocb{sorting}
54 : !> \include{lineno} benchmark/pm_arraySort/sorting/main.py
55 : !> \visb{sorting}
56 : !> \image html benchmark/pm_arraySort/sorting/benchmark.sorting.random.png width=1000
57 : !> \image html benchmark/pm_arraySort/sorting/benchmark.sorting.sorted.png width=1000
58 : !> \image html benchmark/pm_arraySort/sorting/benchmark.sorting.random.sorted.ratio.png width=1000
59 : !>
60 : !> \benchmark{sorting_vs_indexing, sorting vs. indexing}
61 : !> The following program generates a performance comparison of the [setSorted](@ref pm_arraySort::setSorted) algorithm for various sorting methods.
62 : !> \include{lineno} benchmark/pm_arraySort/sorting_vs_indexing/main.F90
63 : !> \compilefb{sorting_vs_indexing}
64 : !> \postprocb{sorting_vs_indexing}
65 : !> \include{lineno} benchmark/pm_arraySort/sorting_vs_indexing/main.py
66 : !> \visb{sorting_vs_indexing}
67 : !> \image html benchmark/pm_arraySort/sorting_vs_indexing/benchmark.sorting_vs_indexing.random.png width=1000
68 : !> \image html benchmark/pm_arraySort/sorting_vs_indexing/benchmark.sorting_vs_indexing.random.ratio.png width=1000
69 : !> \image html benchmark/pm_arraySort/sorting_vs_indexing/benchmark.sorting_vs_indexing.sorted.png width=1000
70 : !> \image html benchmark/pm_arraySort/sorting_vs_indexing/benchmark.sorting_vs_indexing.sorted.ratio.png width=1000
71 : !>
72 : !> \todo
73 : !> \pvlow
74 : !> An equivalent functional versions of [setSorted](@ref pm_arraySort::setSorted) and
75 : !> [setSorted](@ref pm_arraySort::setSorted) could be added along with the relevant benchmarks.<br>
76 : !>
77 : !> \remark
78 : !> The sorting routines of this module are inspired by (although substantially different from),
79 : !> + the works of <a href="https://www.mjr19.org.uk/IT/sorts/" target="_blank">Dr. Michael Rutter</a> and,
80 : !> + the [Numerical Recipes in Fortran](https://www.amazon.com/Numerical-Recipes-Fortran-Scientific-Computing/dp/052143064X/) by Press et al., 1992.
81 : !>
82 : !> \finmain
83 : !>
84 : !> \author
85 : !> \AmirShahmoradi, April 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
86 :
87 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 :
89 : module pm_arraySort
90 :
91 : use pm_kind, only: IK, LK, RK, SK
92 :
93 : implicit none
94 :
95 : character(*,SK), parameter :: MODULE_NAME = "@pm_arraySort"
96 :
97 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 :
99 : type :: isort_type; end type
100 : type, abstract :: sort_type; end type
101 : type, extends(sort_type) :: qsort_type; end type
102 : type, extends(qsort_type) :: qsorti_type; end type
103 : type, extends(sort_type) :: heap_type; end type
104 : type, extends(sort_type) :: insertion_type; end type
105 :
106 : type, extends(qsort_type) :: qsortr_type; end type
107 : type, extends(qsort_type) :: qsortrdp_type; end type
108 : type, extends(sort_type) :: bubble_type; end type
109 : type, extends(heap_type):: heapi_type; end type
110 : type, extends(heap_type):: heapr_type; end type
111 : type, extends(insertion_type) :: insertionl_type; end type
112 : type, extends(insertion_type) :: insertionb_type; end type
113 : type, extends(sort_type) :: merger_type; end type
114 : type, extends(sort_type) :: selection_type; end type
115 : type, extends(sort_type) :: shell_type; end type
116 :
117 : type(isort_type), parameter :: isort = isort_type()
118 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
119 : !DIR$ ATTRIBUTES DLLEXPORT :: isort
120 : #endif
121 :
122 : type(qsorti_type), parameter :: qsorti = qsorti_type()
123 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
124 : !DIR$ ATTRIBUTES DLLEXPORT :: qsorti
125 : #endif
126 : type(qsortr_type), parameter :: qsortr = qsortr_type()
127 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
128 : !DIR$ ATTRIBUTES DLLEXPORT :: qsortr
129 : #endif
130 : type(qsortrdp_type), parameter :: qsortrdp = qsortrdp_type()
131 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
132 : !DIR$ ATTRIBUTES DLLEXPORT :: qsortrdp
133 : #endif
134 : type(bubble_type), parameter :: bubble = bubble_type()
135 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
136 : !DIR$ ATTRIBUTES DLLEXPORT :: bubble
137 : #endif
138 : type(heapi_type), parameter :: heapi = heapi_type()
139 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
140 : !DIR$ ATTRIBUTES DLLEXPORT :: heapi
141 : #endif
142 : type(heapr_type), parameter :: heapr = heapr_type()
143 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
144 : !DIR$ ATTRIBUTES DLLEXPORT :: heapr
145 : #endif
146 : type(insertionl_type), parameter :: insertionl = insertionl_type()
147 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
148 : !DIR$ ATTRIBUTES DLLEXPORT :: insertionl
149 : #endif
150 : type(insertionb_type), parameter :: insertionb = insertionb_type()
151 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
152 : !DIR$ ATTRIBUTES DLLEXPORT :: insertionb
153 : #endif
154 : type(merger_type), parameter :: merger = merger_type()
155 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
156 : !DIR$ ATTRIBUTES DLLEXPORT :: merger
157 : #endif
158 : type(selection_type), parameter :: selection = selection_type()
159 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
160 : !DIR$ ATTRIBUTES DLLEXPORT :: selection
161 : #endif
162 : type(shell_type), parameter :: shell = shell_type()
163 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
164 : !DIR$ ATTRIBUTES DLLEXPORT :: shell
165 : #endif
166 :
167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168 :
169 : !> \brief
170 : !> Generate and return `.true.` if the input array is sorted in **strictly** all ascending order (**without** equal elements),
171 : !> otherwise, generate and return `.false.`.
172 : !>
173 : !> \param[in] array : The input `contiguous` array of rank `1` of either<br>
174 : !> <ol>
175 : !> <li> type [css_pdt](@ref pm_container::css_pdt) or,<br>
176 : !> <li> type [css_type](@ref pm_container::css_type) or,<br>
177 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,<br>
178 : !> <li> type `integer` of kind \IKALL or,<br>
179 : !> <li> type `logical` of kind \LKALL or,<br>
180 : !> <li> type `complex` of kind \CKALL or,<br>
181 : !> <li> type `real` of kind \RKALL or,<br>
182 : !> </ol>
183 : !> or,
184 : !> <ol>
185 : !> <li> a *scalar* of type `character` of kind \SKALL of arbitrary length type parameter,<br>
186 : !> </ol>
187 : !> whose elements will be checked for a **strictly** all ascending order (**without** equal elements).
188 : !>
189 : !> \return
190 : !> `ascendingAll` : The output scalar `logical` of default kind \LK that is `.true.` if elements of the input array are
191 : !> in **strictly** all ascending order (**without** equal elements), Otherwise, it is `.false.`.
192 : !>
193 : !> \interface{isAscendingAll}
194 : !> \code{.F90}
195 : !>
196 : !> use pm_arraySort, only: isAscendingAll
197 : !>
198 : !> ascendingAll = isAscendingAll(array)
199 : !>
200 : !> \endcode
201 : !>
202 : !> \warning
203 : !> The output of this procedure is `.true.` when the input array has zero length.
204 : !>
205 : !> \warnpure
206 : !> The procedures under this generic interface are always `impure` when the input argument `isSorted()` is present.
207 : !>
208 : !> \see
209 : !> [isSorted](@ref pm_arraySort::isSorted)<br>
210 : !> [isDescending](@ref pm_arraySort::isDescending)<br>
211 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
212 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
213 : !>
214 : !> \example{isAscendingAll}
215 : !> \include{lineno} example/pm_arraySort/isAscendingAll/main.F90
216 : !> \compilef{isAscendingAll}
217 : !> \output{isAscendingAll}
218 : !> \include{lineno} example/pm_arraySort/isAscendingAll/main.out.F90
219 : !>
220 : !> \test
221 : !> [test_pm_arraySort](@ref test_pm_arraySort)
222 : !>
223 : !> \todo
224 : !> This interface can be extended to scalar containers of strings.
225 : !>
226 : !> \finmain{isAscendingAll}
227 : !>
228 : !> \author
229 : !> \AmirShahmoradi, April 21, 2017, 3:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
230 :
231 : interface isAscendingAll
232 :
233 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236 :
237 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
238 :
239 : #if SK5_ENABLED
240 : PURE module function isAscendingAllDefCom_D0_SK5(array) result(ascendingAll)
241 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
242 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D0_SK5
243 : #endif
244 : use pm_kind, only: SKC => SK5
245 : character(*,SKC) , intent(in) :: array
246 : logical(LK) :: ascendingAll
247 : end function
248 : #endif
249 :
250 : #if SK4_ENABLED
251 : PURE module function isAscendingAllDefCom_D0_SK4(array) result(ascendingAll)
252 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
253 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D0_SK4
254 : #endif
255 : use pm_kind, only: SKC => SK4
256 : character(*,SKC) , intent(in) :: array
257 : logical(LK) :: ascendingAll
258 : end function
259 : #endif
260 :
261 : #if SK3_ENABLED
262 : PURE module function isAscendingAllDefCom_D0_SK3(array) result(ascendingAll)
263 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
264 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D0_SK3
265 : #endif
266 : use pm_kind, only: SKC => SK3
267 : character(*,SKC) , intent(in) :: array
268 : logical(LK) :: ascendingAll
269 : end function
270 : #endif
271 :
272 : #if SK2_ENABLED
273 : PURE module function isAscendingAllDefCom_D0_SK2(array) result(ascendingAll)
274 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
275 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D0_SK2
276 : #endif
277 : use pm_kind, only: SKC => SK2
278 : character(*,SKC) , intent(in) :: array
279 : logical(LK) :: ascendingAll
280 : end function
281 : #endif
282 :
283 : #if SK1_ENABLED
284 : PURE module function isAscendingAllDefCom_D0_SK1(array) result(ascendingAll)
285 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
286 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D0_SK1
287 : #endif
288 : use pm_kind, only: SKC => SK1
289 : character(*,SKC) , intent(in) :: array
290 : logical(LK) :: ascendingAll
291 : end function
292 : #endif
293 :
294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295 :
296 : #if SK5_ENABLED
297 : PURE module function isAscendingAllDefCom_D1_SK5(array) result(ascendingAll)
298 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
299 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_SK5
300 : #endif
301 : use pm_kind, only: SKC => SK5
302 : character(*,SKC) , intent(in) , contiguous :: array(:)
303 : logical(LK) :: ascendingAll
304 : end function
305 : #endif
306 :
307 : #if SK4_ENABLED
308 : PURE module function isAscendingAllDefCom_D1_SK4(array) result(ascendingAll)
309 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
310 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_SK4
311 : #endif
312 : use pm_kind, only: SKC => SK4
313 : character(*,SKC) , intent(in) , contiguous :: array(:)
314 : logical(LK) :: ascendingAll
315 : end function
316 : #endif
317 :
318 : #if SK3_ENABLED
319 : PURE module function isAscendingAllDefCom_D1_SK3(array) result(ascendingAll)
320 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
321 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_SK3
322 : #endif
323 : use pm_kind, only: SKC => SK3
324 : character(*,SKC) , intent(in) , contiguous :: array(:)
325 : logical(LK) :: ascendingAll
326 : end function
327 : #endif
328 :
329 : #if SK2_ENABLED
330 : PURE module function isAscendingAllDefCom_D1_SK2(array) result(ascendingAll)
331 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
332 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_SK2
333 : #endif
334 : use pm_kind, only: SKC => SK2
335 : character(*,SKC) , intent(in) , contiguous :: array(:)
336 : logical(LK) :: ascendingAll
337 : end function
338 : #endif
339 :
340 : #if SK1_ENABLED
341 : PURE module function isAscendingAllDefCom_D1_SK1(array) result(ascendingAll)
342 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
343 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_SK1
344 : #endif
345 : use pm_kind, only: SKC => SK1
346 : character(*,SKC) , intent(in) , contiguous :: array(:)
347 : logical(LK) :: ascendingAll
348 : end function
349 : #endif
350 :
351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352 :
353 : #if IK5_ENABLED
354 : PURE module function isAscendingAllDefCom_D1_IK5(array) result(ascendingAll)
355 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
356 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_IK5
357 : #endif
358 : use pm_kind, only: IKC => IK5
359 : integer(IKC) , intent(in) , contiguous :: array(:)
360 : logical(LK) :: ascendingAll
361 : end function
362 : #endif
363 :
364 : #if IK4_ENABLED
365 : PURE module function isAscendingAllDefCom_D1_IK4(array) result(ascendingAll)
366 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
367 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_IK4
368 : #endif
369 : use pm_kind, only: IKC => IK4
370 : integer(IKC) , intent(in) , contiguous :: array(:)
371 : logical(LK) :: ascendingAll
372 : end function
373 : #endif
374 :
375 : #if IK3_ENABLED
376 : PURE module function isAscendingAllDefCom_D1_IK3(array) result(ascendingAll)
377 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
378 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_IK3
379 : #endif
380 : use pm_kind, only: IKC => IK3
381 : integer(IKC) , intent(in) , contiguous :: array(:)
382 : logical(LK) :: ascendingAll
383 : end function
384 : #endif
385 :
386 : #if IK2_ENABLED
387 : PURE module function isAscendingAllDefCom_D1_IK2(array) result(ascendingAll)
388 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
389 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_IK2
390 : #endif
391 : use pm_kind, only: IKC => IK2
392 : integer(IKC) , intent(in) , contiguous :: array(:)
393 : logical(LK) :: ascendingAll
394 : end function
395 : #endif
396 :
397 : #if IK1_ENABLED
398 : PURE module function isAscendingAllDefCom_D1_IK1(array) result(ascendingAll)
399 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
400 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_IK1
401 : #endif
402 : use pm_kind, only: IKC => IK1
403 : integer(IKC) , intent(in) , contiguous :: array(:)
404 : logical(LK) :: ascendingAll
405 : end function
406 : #endif
407 :
408 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409 :
410 : #if LK5_ENABLED
411 : PURE module function isAscendingAllDefCom_D1_LK5(array) result(ascendingAll)
412 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
413 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_LK5
414 : #endif
415 : use pm_kind, only: LKC => LK5
416 : logical(LKC) , intent(in) , contiguous :: array(:)
417 : logical(LK) :: ascendingAll
418 : end function
419 : #endif
420 :
421 : #if LK4_ENABLED
422 : PURE module function isAscendingAllDefCom_D1_LK4(array) result(ascendingAll)
423 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
424 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_LK4
425 : #endif
426 : use pm_kind, only: LKC => LK4
427 : logical(LKC) , intent(in) , contiguous :: array(:)
428 : logical(LK) :: ascendingAll
429 : end function
430 : #endif
431 :
432 : #if LK3_ENABLED
433 : PURE module function isAscendingAllDefCom_D1_LK3(array) result(ascendingAll)
434 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
435 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_LK3
436 : #endif
437 : use pm_kind, only: LKC => LK3
438 : logical(LKC) , intent(in) , contiguous :: array(:)
439 : logical(LK) :: ascendingAll
440 : end function
441 : #endif
442 :
443 : #if LK2_ENABLED
444 : PURE module function isAscendingAllDefCom_D1_LK2(array) result(ascendingAll)
445 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
446 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_LK2
447 : #endif
448 : use pm_kind, only: LKC => LK2
449 : logical(LKC) , intent(in) , contiguous :: array(:)
450 : logical(LK) :: ascendingAll
451 : end function
452 : #endif
453 :
454 : #if LK1_ENABLED
455 : PURE module function isAscendingAllDefCom_D1_LK1(array) result(ascendingAll)
456 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
457 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_LK1
458 : #endif
459 : use pm_kind, only: LKC => LK1
460 : logical(LKC) , intent(in) , contiguous :: array(:)
461 : logical(LK) :: ascendingAll
462 : end function
463 : #endif
464 :
465 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
466 :
467 : #if RK5_ENABLED
468 : PURE module function isAscendingAllDefCom_D1_RK5(array) result(ascendingAll)
469 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
470 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_RK5
471 : #endif
472 : use pm_kind, only: RKC => RK5
473 : real(RKC) , intent(in) , contiguous :: array(:)
474 : logical(LK) :: ascendingAll
475 : end function
476 : #endif
477 :
478 : #if RK4_ENABLED
479 : PURE module function isAscendingAllDefCom_D1_RK4(array) result(ascendingAll)
480 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
481 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_RK4
482 : #endif
483 : use pm_kind, only: RKC => RK4
484 : real(RKC) , intent(in) , contiguous :: array(:)
485 : logical(LK) :: ascendingAll
486 : end function
487 : #endif
488 :
489 : #if RK3_ENABLED
490 : PURE module function isAscendingAllDefCom_D1_RK3(array) result(ascendingAll)
491 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
492 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_RK3
493 : #endif
494 : use pm_kind, only: RKC => RK3
495 : real(RKC) , intent(in) , contiguous :: array(:)
496 : logical(LK) :: ascendingAll
497 : end function
498 : #endif
499 :
500 : #if RK2_ENABLED
501 : PURE module function isAscendingAllDefCom_D1_RK2(array) result(ascendingAll)
502 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
503 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_RK2
504 : #endif
505 : use pm_kind, only: RKC => RK2
506 : real(RKC) , intent(in) , contiguous :: array(:)
507 : logical(LK) :: ascendingAll
508 : end function
509 : #endif
510 :
511 : #if RK1_ENABLED
512 : PURE module function isAscendingAllDefCom_D1_RK1(array) result(ascendingAll)
513 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
514 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_RK1
515 : #endif
516 : use pm_kind, only: RKC => RK1
517 : real(RKC) , intent(in) , contiguous :: array(:)
518 : logical(LK) :: ascendingAll
519 : end function
520 : #endif
521 :
522 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
523 :
524 : #if CK5_ENABLED
525 : PURE module function isAscendingAllDefCom_D1_CK5(array) result(ascendingAll)
526 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
527 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_CK5
528 : #endif
529 : use pm_kind, only: CKC => CK5
530 : complex(CKC) , intent(in) , contiguous :: array(:)
531 : logical(LK) :: ascendingAll
532 : end function
533 : #endif
534 :
535 : #if CK4_ENABLED
536 : PURE module function isAscendingAllDefCom_D1_CK4(array) result(ascendingAll)
537 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_CK4
539 : #endif
540 : use pm_kind, only: CKC => CK4
541 : complex(CKC) , intent(in) , contiguous :: array(:)
542 : logical(LK) :: ascendingAll
543 : end function
544 : #endif
545 :
546 : #if CK3_ENABLED
547 : PURE module function isAscendingAllDefCom_D1_CK3(array) result(ascendingAll)
548 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
549 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_CK3
550 : #endif
551 : use pm_kind, only: CKC => CK3
552 : complex(CKC) , intent(in) , contiguous :: array(:)
553 : logical(LK) :: ascendingAll
554 : end function
555 : #endif
556 :
557 : #if CK2_ENABLED
558 : PURE module function isAscendingAllDefCom_D1_CK2(array) result(ascendingAll)
559 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
560 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_CK2
561 : #endif
562 : use pm_kind, only: CKC => CK2
563 : complex(CKC) , intent(in) , contiguous :: array(:)
564 : logical(LK) :: ascendingAll
565 : end function
566 : #endif
567 :
568 : #if CK1_ENABLED
569 : PURE module function isAscendingAllDefCom_D1_CK1(array) result(ascendingAll)
570 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
571 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_CK1
572 : #endif
573 : use pm_kind, only: CKC => CK1
574 : complex(CKC) , intent(in) , contiguous :: array(:)
575 : logical(LK) :: ascendingAll
576 : end function
577 : #endif
578 :
579 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
580 :
581 : #if SK5_ENABLED
582 : PURE module function isAscendingAllDefCom_D1_PSSK5(array) result(ascendingAll)
583 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
584 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK5
585 : #endif
586 : use pm_kind, only: SKC => SK5
587 : use pm_container, only: css_pdt
588 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
589 : logical(LK) :: ascendingAll
590 : end function
591 : #endif
592 :
593 : #if SK4_ENABLED
594 : PURE module function isAscendingAllDefCom_D1_PSSK4(array) result(ascendingAll)
595 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
596 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK4
597 : #endif
598 : use pm_kind, only: SKC => SK4
599 : use pm_container, only: css_pdt
600 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
601 : logical(LK) :: ascendingAll
602 : end function
603 : #endif
604 :
605 : #if SK3_ENABLED
606 : PURE module function isAscendingAllDefCom_D1_PSSK3(array) result(ascendingAll)
607 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
608 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK3
609 : #endif
610 : use pm_kind, only: SKC => SK3
611 : use pm_container, only: css_pdt
612 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
613 : logical(LK) :: ascendingAll
614 : end function
615 : #endif
616 :
617 : #if SK2_ENABLED
618 : PURE module function isAscendingAllDefCom_D1_PSSK2(array) result(ascendingAll)
619 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
620 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK2
621 : #endif
622 : use pm_kind, only: SKC => SK2
623 : use pm_container, only: css_pdt
624 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
625 : logical(LK) :: ascendingAll
626 : end function
627 : #endif
628 :
629 : #if SK1_ENABLED
630 : PURE module function isAscendingAllDefCom_D1_PSSK1(array) result(ascendingAll)
631 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
632 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK1
633 : #endif
634 : use pm_kind, only: SKC => SK1
635 : use pm_container, only: css_pdt
636 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
637 : logical(LK) :: ascendingAll
638 : end function
639 : #endif
640 :
641 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
642 :
643 : PURE module function isAscendingAllDefCom_D1_BSSK(array) result(ascendingAll)
644 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
645 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_BSSK
646 : #endif
647 : use pm_kind, only: SKC => SK
648 : use pm_container, only: css_type
649 : type(css_type) , intent(in) , contiguous :: array(:)
650 : logical(LK) :: ascendingAll
651 : end function
652 :
653 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
654 :
655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
656 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
657 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
658 :
659 : end interface
660 :
661 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
662 :
663 : !> \brief
664 : !> Generate and return `.true.` if the input array is sorted in **strictly** all descending order (**without** equal elements),
665 : !> otherwise, generate and return `.false.`.
666 : !>
667 : !> \param[in] array : The input `contiguous` array of rank `1` of either<br>
668 : !> <ol>
669 : !> <li> type [css_pdt](@ref pm_container::css_pdt) or,<br>
670 : !> <li> type [css_type](@ref pm_container::css_type) or,<br>
671 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,<br>
672 : !> <li> type `integer` of kind \IKALL or,<br>
673 : !> <li> type `logical` of kind \LKALL or,<br>
674 : !> <li> type `complex` of kind \CKALL or,<br>
675 : !> <li> type `real` of kind \RKALL or,<br>
676 : !> </ol>
677 : !> or,
678 : !> <ol>
679 : !> <li> a *scalar* of type `character` of kind \SKALL of arbitrary length type parameter,<br>
680 : !> </ol>
681 : !> whose elements will be checked for a **strictly** all descending order (**without** equal elements).
682 : !>
683 : !> \return
684 : !> `descendingAll` : The output scalar `logical` of default kind \LK that is `.true.` if elements of the input array are
685 : !> in **strictly** all descending order (**without** equal elements), Otherwise, it is `.false.`.
686 : !>
687 : !> \interface{isDescendingAll}
688 : !> \code{.F90}
689 : !>
690 : !> use pm_arraySort, only: isDescendingAll
691 : !>
692 : !> descendingAll = isDescendingAll(array)
693 : !>
694 : !> \endcode
695 : !>
696 : !> \warning
697 : !> The output of this procedure is `.true.` when the input array has zero length.
698 : !>
699 : !> \warnpure
700 : !> The procedures under this generic interface are always `impure` when the input argument `isSorted()` is present.
701 : !>
702 : !> \see
703 : !> [isSorted](@ref pm_arraySort::isSorted)<br>
704 : !> [isDescending](@ref pm_arraySort::isDescending)<br>
705 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
706 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
707 : !>
708 : !> \example{isDescendingAll}
709 : !> \include{lineno} example/pm_arraySort/isDescendingAll/main.F90
710 : !> \compilef{isDescendingAll}
711 : !> \output{isDescendingAll}
712 : !> \include{lineno} example/pm_arraySort/isDescendingAll/main.out.F90
713 : !>
714 : !> \test
715 : !> [test_pm_arraySort](@ref test_pm_arraySort)
716 : !>
717 : !> \todo
718 : !> This interface can be extended to scalar containers of strings.
719 : !>
720 : !> \finmain{isDescendingAll}
721 : !>
722 : !> \author
723 : !> \AmirShahmoradi, April 21, 2017, 3:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
724 :
725 : interface isDescendingAll
726 :
727 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
728 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
729 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
730 :
731 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
732 :
733 : #if SK5_ENABLED
734 : PURE module function isDescendingAllDefCom_D0_SK5(array) result(descendingAll)
735 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
736 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK5
737 : #endif
738 : use pm_kind, only: SKC => SK5
739 : character(*,SKC) , intent(in) :: array
740 : logical(LK) :: descendingAll
741 : end function
742 : #endif
743 :
744 : #if SK4_ENABLED
745 : PURE module function isDescendingAllDefCom_D0_SK4(array) result(descendingAll)
746 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
747 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK4
748 : #endif
749 : use pm_kind, only: SKC => SK4
750 : character(*,SKC) , intent(in) :: array
751 : logical(LK) :: descendingAll
752 : end function
753 : #endif
754 :
755 : #if SK3_ENABLED
756 : PURE module function isDescendingAllDefCom_D0_SK3(array) result(descendingAll)
757 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
758 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK3
759 : #endif
760 : use pm_kind, only: SKC => SK3
761 : character(*,SKC) , intent(in) :: array
762 : logical(LK) :: descendingAll
763 : end function
764 : #endif
765 :
766 : #if SK2_ENABLED
767 : PURE module function isDescendingAllDefCom_D0_SK2(array) result(descendingAll)
768 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
769 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK2
770 : #endif
771 : use pm_kind, only: SKC => SK2
772 : character(*,SKC) , intent(in) :: array
773 : logical(LK) :: descendingAll
774 : end function
775 : #endif
776 :
777 : #if SK1_ENABLED
778 : PURE module function isDescendingAllDefCom_D0_SK1(array) result(descendingAll)
779 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
780 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK1
781 : #endif
782 : use pm_kind, only: SKC => SK1
783 : character(*,SKC) , intent(in) :: array
784 : logical(LK) :: descendingAll
785 : end function
786 : #endif
787 :
788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
789 :
790 : #if SK5_ENABLED
791 : PURE module function isDescendingAllDefCom_D1_SK5(array) result(descendingAll)
792 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
793 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK5
794 : #endif
795 : use pm_kind, only: SKC => SK5
796 : character(*,SKC) , intent(in) , contiguous :: array(:)
797 : logical(LK) :: descendingAll
798 : end function
799 : #endif
800 :
801 : #if SK4_ENABLED
802 : PURE module function isDescendingAllDefCom_D1_SK4(array) result(descendingAll)
803 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
804 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK4
805 : #endif
806 : use pm_kind, only: SKC => SK4
807 : character(*,SKC) , intent(in) , contiguous :: array(:)
808 : logical(LK) :: descendingAll
809 : end function
810 : #endif
811 :
812 : #if SK3_ENABLED
813 : PURE module function isDescendingAllDefCom_D1_SK3(array) result(descendingAll)
814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
815 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK3
816 : #endif
817 : use pm_kind, only: SKC => SK3
818 : character(*,SKC) , intent(in) , contiguous :: array(:)
819 : logical(LK) :: descendingAll
820 : end function
821 : #endif
822 :
823 : #if SK2_ENABLED
824 : PURE module function isDescendingAllDefCom_D1_SK2(array) result(descendingAll)
825 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
826 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK2
827 : #endif
828 : use pm_kind, only: SKC => SK2
829 : character(*,SKC) , intent(in) , contiguous :: array(:)
830 : logical(LK) :: descendingAll
831 : end function
832 : #endif
833 :
834 : #if SK1_ENABLED
835 : PURE module function isDescendingAllDefCom_D1_SK1(array) result(descendingAll)
836 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
837 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK1
838 : #endif
839 : use pm_kind, only: SKC => SK1
840 : character(*,SKC) , intent(in) , contiguous :: array(:)
841 : logical(LK) :: descendingAll
842 : end function
843 : #endif
844 :
845 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
846 :
847 : #if IK5_ENABLED
848 : PURE module function isDescendingAllDefCom_D1_IK5(array) result(descendingAll)
849 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
850 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK5
851 : #endif
852 : use pm_kind, only: IKC => IK5
853 : integer(IKC) , intent(in) , contiguous :: array(:)
854 : logical(LK) :: descendingAll
855 : end function
856 : #endif
857 :
858 : #if IK4_ENABLED
859 : PURE module function isDescendingAllDefCom_D1_IK4(array) result(descendingAll)
860 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
861 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK4
862 : #endif
863 : use pm_kind, only: IKC => IK4
864 : integer(IKC) , intent(in) , contiguous :: array(:)
865 : logical(LK) :: descendingAll
866 : end function
867 : #endif
868 :
869 : #if IK3_ENABLED
870 : PURE module function isDescendingAllDefCom_D1_IK3(array) result(descendingAll)
871 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
872 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK3
873 : #endif
874 : use pm_kind, only: IKC => IK3
875 : integer(IKC) , intent(in) , contiguous :: array(:)
876 : logical(LK) :: descendingAll
877 : end function
878 : #endif
879 :
880 : #if IK2_ENABLED
881 : PURE module function isDescendingAllDefCom_D1_IK2(array) result(descendingAll)
882 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
883 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK2
884 : #endif
885 : use pm_kind, only: IKC => IK2
886 : integer(IKC) , intent(in) , contiguous :: array(:)
887 : logical(LK) :: descendingAll
888 : end function
889 : #endif
890 :
891 : #if IK1_ENABLED
892 : PURE module function isDescendingAllDefCom_D1_IK1(array) result(descendingAll)
893 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
894 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK1
895 : #endif
896 : use pm_kind, only: IKC => IK1
897 : integer(IKC) , intent(in) , contiguous :: array(:)
898 : logical(LK) :: descendingAll
899 : end function
900 : #endif
901 :
902 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
903 :
904 : #if LK5_ENABLED
905 : PURE module function isDescendingAllDefCom_D1_LK5(array) result(descendingAll)
906 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
907 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK5
908 : #endif
909 : use pm_kind, only: LKC => LK5
910 : logical(LKC) , intent(in) , contiguous :: array(:)
911 : logical(LK) :: descendingAll
912 : end function
913 : #endif
914 :
915 : #if LK4_ENABLED
916 : PURE module function isDescendingAllDefCom_D1_LK4(array) result(descendingAll)
917 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
918 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK4
919 : #endif
920 : use pm_kind, only: LKC => LK4
921 : logical(LKC) , intent(in) , contiguous :: array(:)
922 : logical(LK) :: descendingAll
923 : end function
924 : #endif
925 :
926 : #if LK3_ENABLED
927 : PURE module function isDescendingAllDefCom_D1_LK3(array) result(descendingAll)
928 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
929 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK3
930 : #endif
931 : use pm_kind, only: LKC => LK3
932 : logical(LKC) , intent(in) , contiguous :: array(:)
933 : logical(LK) :: descendingAll
934 : end function
935 : #endif
936 :
937 : #if LK2_ENABLED
938 : PURE module function isDescendingAllDefCom_D1_LK2(array) result(descendingAll)
939 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
940 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK2
941 : #endif
942 : use pm_kind, only: LKC => LK2
943 : logical(LKC) , intent(in) , contiguous :: array(:)
944 : logical(LK) :: descendingAll
945 : end function
946 : #endif
947 :
948 : #if LK1_ENABLED
949 : PURE module function isDescendingAllDefCom_D1_LK1(array) result(descendingAll)
950 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
951 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK1
952 : #endif
953 : use pm_kind, only: LKC => LK1
954 : logical(LKC) , intent(in) , contiguous :: array(:)
955 : logical(LK) :: descendingAll
956 : end function
957 : #endif
958 :
959 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
960 :
961 : #if RK5_ENABLED
962 : PURE module function isDescendingAllDefCom_D1_RK5(array) result(descendingAll)
963 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
964 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK5
965 : #endif
966 : use pm_kind, only: RKC => RK5
967 : real(RKC) , intent(in) , contiguous :: array(:)
968 : logical(LK) :: descendingAll
969 : end function
970 : #endif
971 :
972 : #if RK4_ENABLED
973 : PURE module function isDescendingAllDefCom_D1_RK4(array) result(descendingAll)
974 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
975 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK4
976 : #endif
977 : use pm_kind, only: RKC => RK4
978 : real(RKC) , intent(in) , contiguous :: array(:)
979 : logical(LK) :: descendingAll
980 : end function
981 : #endif
982 :
983 : #if RK3_ENABLED
984 : PURE module function isDescendingAllDefCom_D1_RK3(array) result(descendingAll)
985 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
986 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK3
987 : #endif
988 : use pm_kind, only: RKC => RK3
989 : real(RKC) , intent(in) , contiguous :: array(:)
990 : logical(LK) :: descendingAll
991 : end function
992 : #endif
993 :
994 : #if RK2_ENABLED
995 : PURE module function isDescendingAllDefCom_D1_RK2(array) result(descendingAll)
996 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
997 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK2
998 : #endif
999 : use pm_kind, only: RKC => RK2
1000 : real(RKC) , intent(in) , contiguous :: array(:)
1001 : logical(LK) :: descendingAll
1002 : end function
1003 : #endif
1004 :
1005 : #if RK1_ENABLED
1006 : PURE module function isDescendingAllDefCom_D1_RK1(array) result(descendingAll)
1007 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1008 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK1
1009 : #endif
1010 : use pm_kind, only: RKC => RK1
1011 : real(RKC) , intent(in) , contiguous :: array(:)
1012 : logical(LK) :: descendingAll
1013 : end function
1014 : #endif
1015 :
1016 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1017 :
1018 : #if CK5_ENABLED
1019 : PURE module function isDescendingAllDefCom_D1_CK5(array) result(descendingAll)
1020 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1021 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK5
1022 : #endif
1023 : use pm_kind, only: CKC => CK5
1024 : complex(CKC) , intent(in) , contiguous :: array(:)
1025 : logical(LK) :: descendingAll
1026 : end function
1027 : #endif
1028 :
1029 : #if CK4_ENABLED
1030 : PURE module function isDescendingAllDefCom_D1_CK4(array) result(descendingAll)
1031 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1032 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK4
1033 : #endif
1034 : use pm_kind, only: CKC => CK4
1035 : complex(CKC) , intent(in) , contiguous :: array(:)
1036 : logical(LK) :: descendingAll
1037 : end function
1038 : #endif
1039 :
1040 : #if CK3_ENABLED
1041 : PURE module function isDescendingAllDefCom_D1_CK3(array) result(descendingAll)
1042 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1043 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK3
1044 : #endif
1045 : use pm_kind, only: CKC => CK3
1046 : complex(CKC) , intent(in) , contiguous :: array(:)
1047 : logical(LK) :: descendingAll
1048 : end function
1049 : #endif
1050 :
1051 : #if CK2_ENABLED
1052 : PURE module function isDescendingAllDefCom_D1_CK2(array) result(descendingAll)
1053 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1054 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK2
1055 : #endif
1056 : use pm_kind, only: CKC => CK2
1057 : complex(CKC) , intent(in) , contiguous :: array(:)
1058 : logical(LK) :: descendingAll
1059 : end function
1060 : #endif
1061 :
1062 : #if CK1_ENABLED
1063 : PURE module function isDescendingAllDefCom_D1_CK1(array) result(descendingAll)
1064 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1065 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK1
1066 : #endif
1067 : use pm_kind, only: CKC => CK1
1068 : complex(CKC) , intent(in) , contiguous :: array(:)
1069 : logical(LK) :: descendingAll
1070 : end function
1071 : #endif
1072 :
1073 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1074 :
1075 : #if SK5_ENABLED
1076 : PURE module function isDescendingAllDefCom_D1_PSSK5(array) result(descendingAll)
1077 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1078 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK5
1079 : #endif
1080 : use pm_kind, only: SKC => SK5
1081 : use pm_container, only: css_pdt
1082 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1083 : logical(LK) :: descendingAll
1084 : end function
1085 : #endif
1086 :
1087 : #if SK4_ENABLED
1088 : PURE module function isDescendingAllDefCom_D1_PSSK4(array) result(descendingAll)
1089 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1090 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK4
1091 : #endif
1092 : use pm_kind, only: SKC => SK4
1093 : use pm_container, only: css_pdt
1094 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1095 : logical(LK) :: descendingAll
1096 : end function
1097 : #endif
1098 :
1099 : #if SK3_ENABLED
1100 : PURE module function isDescendingAllDefCom_D1_PSSK3(array) result(descendingAll)
1101 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1102 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK3
1103 : #endif
1104 : use pm_kind, only: SKC => SK3
1105 : use pm_container, only: css_pdt
1106 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1107 : logical(LK) :: descendingAll
1108 : end function
1109 : #endif
1110 :
1111 : #if SK2_ENABLED
1112 : PURE module function isDescendingAllDefCom_D1_PSSK2(array) result(descendingAll)
1113 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1114 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK2
1115 : #endif
1116 : use pm_kind, only: SKC => SK2
1117 : use pm_container, only: css_pdt
1118 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1119 : logical(LK) :: descendingAll
1120 : end function
1121 : #endif
1122 :
1123 : #if SK1_ENABLED
1124 : PURE module function isDescendingAllDefCom_D1_PSSK1(array) result(descendingAll)
1125 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1126 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK1
1127 : #endif
1128 : use pm_kind, only: SKC => SK1
1129 : use pm_container, only: css_pdt
1130 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1131 : logical(LK) :: descendingAll
1132 : end function
1133 : #endif
1134 :
1135 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1136 :
1137 : PURE module function isDescendingAllDefCom_D1_BSSK(array) result(descendingAll)
1138 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1139 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_BSSK
1140 : #endif
1141 : use pm_kind, only: SKC => SK
1142 : use pm_container, only: css_type
1143 : type(css_type) , intent(in) , contiguous :: array(:)
1144 : logical(LK) :: descendingAll
1145 : end function
1146 :
1147 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1148 :
1149 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1150 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1152 :
1153 : end interface
1154 :
1155 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1156 :
1157 : !> \brief
1158 : !> Generate and return `.true.` if the input array is sorted in ascending order (with the possibility of elements being equal),
1159 : !> otherwise, generate and return `.false.`.
1160 : !>
1161 : !> \param[in] array : The input `contiguous` array of rank `1` of either<br>
1162 : !> <ol>
1163 : !> <li> type [css_pdt](@ref pm_container::css_pdt) or,<br>
1164 : !> <li> type [css_type](@ref pm_container::css_type) or,<br>
1165 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,<br>
1166 : !> <li> type `integer` of kind \IKALL or,<br>
1167 : !> <li> type `logical` of kind \LKALL or,<br>
1168 : !> <li> type `complex` of kind \CKALL or,<br>
1169 : !> <li> type `real` of kind \RKALL or,<br>
1170 : !> </ol>
1171 : !> or,
1172 : !> <ol>
1173 : !> <li> a *scalar* of type `character` of kind \SKALL of arbitrary length type parameter,<br>
1174 : !> </ol>
1175 : !> whose elements will be checked for an all descending order (with the possibility of elements being equal).
1176 : !>
1177 : !> \return
1178 : !> `ascending` : An output `logical` of default kind \LK that is `.true.` if all elements of the input array are
1179 : !> in descending order (with the possibility of elements being equal) or all equal. Otherwise, it is `.false.`.
1180 : !>
1181 : !> \interface{isAscending}
1182 : !> \code{.F90}
1183 : !>
1184 : !> use pm_arraySort, only: isAscending
1185 : !>
1186 : !> ascending = isAscending(array)
1187 : !>
1188 : !> \endcode
1189 : !>
1190 : !> \warning
1191 : !> The output of this procedure is `.true.` when the input array has zero length.
1192 : !>
1193 : !> \warnpure
1194 : !> The procedures under this generic interface are always `impure` when the input argument `isSorted()` is present.
1195 : !>
1196 : !> \see
1197 : !> [isSorted](@ref pm_arraySort::isSorted)<br>
1198 : !> [isDescending](@ref pm_arraySort::isDescending)<br>
1199 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
1200 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
1201 : !>
1202 : !> \example{isAscending}
1203 : !> \include{lineno} example/pm_arraySort/isAscending/main.F90
1204 : !> \compilef{isAscending}
1205 : !> \output{isAscending}
1206 : !> \include{lineno} example/pm_arraySort/isAscending/main.out.F90
1207 : !>
1208 : !> \test
1209 : !> [test_pm_arraySort](@ref test_pm_arraySort)
1210 : !>
1211 : !> \todo
1212 : !> This interface can be extended to scalar containers of strings.
1213 : !>
1214 : !> \finmain{isAscending}
1215 : !>
1216 : !> \author
1217 : !> \AmirShahmoradi, April 21, 2017, 3:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1218 :
1219 : interface isAscending
1220 :
1221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1222 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1223 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1224 :
1225 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1226 :
1227 : #if SK5_ENABLED
1228 : PURE module function isAscendingDefCom_D0_SK5(array) result(ascending)
1229 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1230 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK5
1231 : #endif
1232 : use pm_kind, only: SKC => SK5
1233 : character(*,SKC) , intent(in) :: array
1234 : logical(LK) :: ascending
1235 : end function
1236 : #endif
1237 :
1238 : #if SK4_ENABLED
1239 : PURE module function isAscendingDefCom_D0_SK4(array) result(ascending)
1240 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1241 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK4
1242 : #endif
1243 : use pm_kind, only: SKC => SK4
1244 : character(*,SKC) , intent(in) :: array
1245 : logical(LK) :: ascending
1246 : end function
1247 : #endif
1248 :
1249 : #if SK3_ENABLED
1250 : PURE module function isAscendingDefCom_D0_SK3(array) result(ascending)
1251 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1252 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK3
1253 : #endif
1254 : use pm_kind, only: SKC => SK3
1255 : character(*,SKC) , intent(in) :: array
1256 : logical(LK) :: ascending
1257 : end function
1258 : #endif
1259 :
1260 : #if SK2_ENABLED
1261 : PURE module function isAscendingDefCom_D0_SK2(array) result(ascending)
1262 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1263 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK2
1264 : #endif
1265 : use pm_kind, only: SKC => SK2
1266 : character(*,SKC) , intent(in) :: array
1267 : logical(LK) :: ascending
1268 : end function
1269 : #endif
1270 :
1271 : #if SK1_ENABLED
1272 : PURE module function isAscendingDefCom_D0_SK1(array) result(ascending)
1273 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1274 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK1
1275 : #endif
1276 : use pm_kind, only: SKC => SK1
1277 : character(*,SKC) , intent(in) :: array
1278 : logical(LK) :: ascending
1279 : end function
1280 : #endif
1281 :
1282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1283 :
1284 : #if SK5_ENABLED
1285 : PURE module function isAscendingDefCom_D1_SK5(array) result(ascending)
1286 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1287 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK5
1288 : #endif
1289 : use pm_kind, only: SKC => SK5
1290 : character(*,SKC) , intent(in) , contiguous :: array(:)
1291 : logical(LK) :: ascending
1292 : end function
1293 : #endif
1294 :
1295 : #if SK4_ENABLED
1296 : PURE module function isAscendingDefCom_D1_SK4(array) result(ascending)
1297 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1298 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK4
1299 : #endif
1300 : use pm_kind, only: SKC => SK4
1301 : character(*,SKC) , intent(in) , contiguous :: array(:)
1302 : logical(LK) :: ascending
1303 : end function
1304 : #endif
1305 :
1306 : #if SK3_ENABLED
1307 : PURE module function isAscendingDefCom_D1_SK3(array) result(ascending)
1308 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1309 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK3
1310 : #endif
1311 : use pm_kind, only: SKC => SK3
1312 : character(*,SKC) , intent(in) , contiguous :: array(:)
1313 : logical(LK) :: ascending
1314 : end function
1315 : #endif
1316 :
1317 : #if SK2_ENABLED
1318 : PURE module function isAscendingDefCom_D1_SK2(array) result(ascending)
1319 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1320 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK2
1321 : #endif
1322 : use pm_kind, only: SKC => SK2
1323 : character(*,SKC) , intent(in) , contiguous :: array(:)
1324 : logical(LK) :: ascending
1325 : end function
1326 : #endif
1327 :
1328 : #if SK1_ENABLED
1329 : PURE module function isAscendingDefCom_D1_SK1(array) result(ascending)
1330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1331 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK1
1332 : #endif
1333 : use pm_kind, only: SKC => SK1
1334 : character(*,SKC) , intent(in) , contiguous :: array(:)
1335 : logical(LK) :: ascending
1336 : end function
1337 : #endif
1338 :
1339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1340 :
1341 : #if IK5_ENABLED
1342 : PURE module function isAscendingDefCom_D1_IK5(array) result(ascending)
1343 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1344 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK5
1345 : #endif
1346 : use pm_kind, only: IKC => IK5
1347 : integer(IKC) , intent(in) , contiguous :: array(:)
1348 : logical(LK) :: ascending
1349 : end function
1350 : #endif
1351 :
1352 : #if IK4_ENABLED
1353 : PURE module function isAscendingDefCom_D1_IK4(array) result(ascending)
1354 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1355 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK4
1356 : #endif
1357 : use pm_kind, only: IKC => IK4
1358 : integer(IKC) , intent(in) , contiguous :: array(:)
1359 : logical(LK) :: ascending
1360 : end function
1361 : #endif
1362 :
1363 : #if IK3_ENABLED
1364 : PURE module function isAscendingDefCom_D1_IK3(array) result(ascending)
1365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1366 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK3
1367 : #endif
1368 : use pm_kind, only: IKC => IK3
1369 : integer(IKC) , intent(in) , contiguous :: array(:)
1370 : logical(LK) :: ascending
1371 : end function
1372 : #endif
1373 :
1374 : #if IK2_ENABLED
1375 : PURE module function isAscendingDefCom_D1_IK2(array) result(ascending)
1376 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1377 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK2
1378 : #endif
1379 : use pm_kind, only: IKC => IK2
1380 : integer(IKC) , intent(in) , contiguous :: array(:)
1381 : logical(LK) :: ascending
1382 : end function
1383 : #endif
1384 :
1385 : #if IK1_ENABLED
1386 : PURE module function isAscendingDefCom_D1_IK1(array) result(ascending)
1387 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1388 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK1
1389 : #endif
1390 : use pm_kind, only: IKC => IK1
1391 : integer(IKC) , intent(in) , contiguous :: array(:)
1392 : logical(LK) :: ascending
1393 : end function
1394 : #endif
1395 :
1396 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1397 :
1398 : #if LK5_ENABLED
1399 : PURE module function isAscendingDefCom_D1_LK5(array) result(ascending)
1400 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1401 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK5
1402 : #endif
1403 : use pm_kind, only: LKC => LK5
1404 : logical(LKC) , intent(in) , contiguous :: array(:)
1405 : logical(LK) :: ascending
1406 : end function
1407 : #endif
1408 :
1409 : #if LK4_ENABLED
1410 : PURE module function isAscendingDefCom_D1_LK4(array) result(ascending)
1411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1412 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK4
1413 : #endif
1414 : use pm_kind, only: LKC => LK4
1415 : logical(LKC) , intent(in) , contiguous :: array(:)
1416 : logical(LK) :: ascending
1417 : end function
1418 : #endif
1419 :
1420 : #if LK3_ENABLED
1421 : PURE module function isAscendingDefCom_D1_LK3(array) result(ascending)
1422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1423 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK3
1424 : #endif
1425 : use pm_kind, only: LKC => LK3
1426 : logical(LKC) , intent(in) , contiguous :: array(:)
1427 : logical(LK) :: ascending
1428 : end function
1429 : #endif
1430 :
1431 : #if LK2_ENABLED
1432 : PURE module function isAscendingDefCom_D1_LK2(array) result(ascending)
1433 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1434 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK2
1435 : #endif
1436 : use pm_kind, only: LKC => LK2
1437 : logical(LKC) , intent(in) , contiguous :: array(:)
1438 : logical(LK) :: ascending
1439 : end function
1440 : #endif
1441 :
1442 : #if LK1_ENABLED
1443 : PURE module function isAscendingDefCom_D1_LK1(array) result(ascending)
1444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1445 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK1
1446 : #endif
1447 : use pm_kind, only: LKC => LK1
1448 : logical(LKC) , intent(in) , contiguous :: array(:)
1449 : logical(LK) :: ascending
1450 : end function
1451 : #endif
1452 :
1453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1454 :
1455 : #if RK5_ENABLED
1456 : PURE module function isAscendingDefCom_D1_RK5(array) result(ascending)
1457 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1458 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK5
1459 : #endif
1460 : use pm_kind, only: RKC => RK5
1461 : real(RKC) , intent(in) , contiguous :: array(:)
1462 : logical(LK) :: ascending
1463 : end function
1464 : #endif
1465 :
1466 : #if RK4_ENABLED
1467 : PURE module function isAscendingDefCom_D1_RK4(array) result(ascending)
1468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1469 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK4
1470 : #endif
1471 : use pm_kind, only: RKC => RK4
1472 : real(RKC) , intent(in) , contiguous :: array(:)
1473 : logical(LK) :: ascending
1474 : end function
1475 : #endif
1476 :
1477 : #if RK3_ENABLED
1478 : PURE module function isAscendingDefCom_D1_RK3(array) result(ascending)
1479 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1480 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK3
1481 : #endif
1482 : use pm_kind, only: RKC => RK3
1483 : real(RKC) , intent(in) , contiguous :: array(:)
1484 : logical(LK) :: ascending
1485 : end function
1486 : #endif
1487 :
1488 : #if RK2_ENABLED
1489 : PURE module function isAscendingDefCom_D1_RK2(array) result(ascending)
1490 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1491 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK2
1492 : #endif
1493 : use pm_kind, only: RKC => RK2
1494 : real(RKC) , intent(in) , contiguous :: array(:)
1495 : logical(LK) :: ascending
1496 : end function
1497 : #endif
1498 :
1499 : #if RK1_ENABLED
1500 : PURE module function isAscendingDefCom_D1_RK1(array) result(ascending)
1501 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1502 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK1
1503 : #endif
1504 : use pm_kind, only: RKC => RK1
1505 : real(RKC) , intent(in) , contiguous :: array(:)
1506 : logical(LK) :: ascending
1507 : end function
1508 : #endif
1509 :
1510 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1511 :
1512 : #if CK5_ENABLED
1513 : PURE module function isAscendingDefCom_D1_CK5(array) result(ascending)
1514 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1515 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK5
1516 : #endif
1517 : use pm_kind, only: CKC => CK5
1518 : complex(CKC) , intent(in) , contiguous :: array(:)
1519 : logical(LK) :: ascending
1520 : end function
1521 : #endif
1522 :
1523 : #if CK4_ENABLED
1524 : PURE module function isAscendingDefCom_D1_CK4(array) result(ascending)
1525 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1526 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK4
1527 : #endif
1528 : use pm_kind, only: CKC => CK4
1529 : complex(CKC) , intent(in) , contiguous :: array(:)
1530 : logical(LK) :: ascending
1531 : end function
1532 : #endif
1533 :
1534 : #if CK3_ENABLED
1535 : PURE module function isAscendingDefCom_D1_CK3(array) result(ascending)
1536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1537 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK3
1538 : #endif
1539 : use pm_kind, only: CKC => CK3
1540 : complex(CKC) , intent(in) , contiguous :: array(:)
1541 : logical(LK) :: ascending
1542 : end function
1543 : #endif
1544 :
1545 : #if CK2_ENABLED
1546 : PURE module function isAscendingDefCom_D1_CK2(array) result(ascending)
1547 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1548 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK2
1549 : #endif
1550 : use pm_kind, only: CKC => CK2
1551 : complex(CKC) , intent(in) , contiguous :: array(:)
1552 : logical(LK) :: ascending
1553 : end function
1554 : #endif
1555 :
1556 : #if CK1_ENABLED
1557 : PURE module function isAscendingDefCom_D1_CK1(array) result(ascending)
1558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1559 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK1
1560 : #endif
1561 : use pm_kind, only: CKC => CK1
1562 : complex(CKC) , intent(in) , contiguous :: array(:)
1563 : logical(LK) :: ascending
1564 : end function
1565 : #endif
1566 :
1567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1568 :
1569 : #if SK5_ENABLED
1570 : PURE module function isAscendingDefCom_D1_PSSK5(array) result(ascending)
1571 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1572 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK5
1573 : #endif
1574 : use pm_kind, only: SKC => SK5
1575 : use pm_container, only: css_pdt
1576 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1577 : logical(LK) :: ascending
1578 : end function
1579 : #endif
1580 :
1581 : #if SK4_ENABLED
1582 : PURE module function isAscendingDefCom_D1_PSSK4(array) result(ascending)
1583 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1584 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK4
1585 : #endif
1586 : use pm_kind, only: SKC => SK4
1587 : use pm_container, only: css_pdt
1588 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1589 : logical(LK) :: ascending
1590 : end function
1591 : #endif
1592 :
1593 : #if SK3_ENABLED
1594 : PURE module function isAscendingDefCom_D1_PSSK3(array) result(ascending)
1595 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1596 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK3
1597 : #endif
1598 : use pm_kind, only: SKC => SK3
1599 : use pm_container, only: css_pdt
1600 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1601 : logical(LK) :: ascending
1602 : end function
1603 : #endif
1604 :
1605 : #if SK2_ENABLED
1606 : PURE module function isAscendingDefCom_D1_PSSK2(array) result(ascending)
1607 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1608 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK2
1609 : #endif
1610 : use pm_kind, only: SKC => SK2
1611 : use pm_container, only: css_pdt
1612 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1613 : logical(LK) :: ascending
1614 : end function
1615 : #endif
1616 :
1617 : #if SK1_ENABLED
1618 : PURE module function isAscendingDefCom_D1_PSSK1(array) result(ascending)
1619 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1620 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK1
1621 : #endif
1622 : use pm_kind, only: SKC => SK1
1623 : use pm_container, only: css_pdt
1624 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
1625 : logical(LK) :: ascending
1626 : end function
1627 : #endif
1628 :
1629 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1630 :
1631 : PURE module function isAscendingDefCom_D1_BSSK(array) result(ascending)
1632 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1633 : !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_BSSK
1634 : #endif
1635 : use pm_kind, only: SKC => SK
1636 : use pm_container, only: css_type
1637 : type(css_type) , intent(in) , contiguous :: array(:)
1638 : logical(LK) :: ascending
1639 : end function
1640 :
1641 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1642 :
1643 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1644 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1645 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1646 :
1647 : end interface
1648 :
1649 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1650 :
1651 : !> \brief
1652 : !> Generate and return `.true.` if the input array is sorted in descending order (with the possibility of elements being equal),
1653 : !> otherwise, generate and return `.false.`.
1654 : !>
1655 : !> \param[in] array : The input `contiguous` array of rank `1` of either<br>
1656 : !> <ol>
1657 : !> <li> type [css_pdt](@ref pm_container::css_pdt) or,<br>
1658 : !> <li> type [css_type](@ref pm_container::css_type) or,<br>
1659 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,<br>
1660 : !> <li> type `integer` of kind \IKALL or,<br>
1661 : !> <li> type `logical` of kind \LKALL or,<br>
1662 : !> <li> type `complex` of kind \CKALL or,<br>
1663 : !> <li> type `real` of kind \RKALL or,<br>
1664 : !> </ol>
1665 : !> or,
1666 : !> <ol>
1667 : !> <li> a *scalar* of type `character` of kind \SKALL of arbitrary length type parameter,<br>
1668 : !> </ol>
1669 : !> whose elements will be checked for an all descending order<br>
1670 : !> (with the possibility of elements being equal).
1671 : !>
1672 : !> \return
1673 : !> `sorted` : An output `logical` of default kind \LK that is `.true.` if all elements of the input array are
1674 : !> in descending order (with the possibility of elements being equal) or all equal. Otherwise, it is `.false.`.
1675 : !>
1676 : !> \interface{isDescending}
1677 : !> \code{.F90}
1678 : !>
1679 : !> use pm_arraySort, only: isDescending
1680 : !>
1681 : !> descending = isDescending(array)
1682 : !>
1683 : !> \endcode
1684 : !>
1685 : !> \warning
1686 : !> The output of this procedure is `.true.` when the input array has zero length.
1687 : !>
1688 : !> \warnpure
1689 : !>
1690 : !> \see
1691 : !> [isSorted](@ref isSorted)<br>
1692 : !> [isAscending](@ref pm_arraySort::isAscending)<br>
1693 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
1694 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
1695 : !>
1696 : !> \example{isDescending}
1697 : !> \include{lineno} example/pm_arraySort/isDescending/main.F90
1698 : !> \compilef{isDescending}
1699 : !> \output{isDescending}
1700 : !> \include{lineno} example/pm_arraySort/isDescending/main.out.F90
1701 : !>
1702 : !> \test
1703 : !> [test_pm_arraySort](@ref test_pm_arraySort)
1704 : !>
1705 : !> \finmain{isDescending}
1706 : !>
1707 : !> \author
1708 : !> \AmirShahmoradi, April 21, 2017, 3:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1709 : interface isDescending
1710 :
1711 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1712 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1713 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1714 :
1715 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1716 :
1717 : #if SK5_ENABLED
1718 : PURE module function isDescendingDefCom_D0_SK5(array) result(descending)
1719 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1720 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK5
1721 : #endif
1722 : use pm_kind, only: SKC => SK5
1723 : character(*,SKC) , intent(in) :: array
1724 : logical(LK) :: descending
1725 : end function
1726 : #endif
1727 :
1728 : #if SK4_ENABLED
1729 : PURE module function isDescendingDefCom_D0_SK4(array) result(descending)
1730 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1731 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK4
1732 : #endif
1733 : use pm_kind, only: SKC => SK4
1734 : character(*,SKC) , intent(in) :: array
1735 : logical(LK) :: descending
1736 : end function
1737 : #endif
1738 :
1739 : #if SK3_ENABLED
1740 : PURE module function isDescendingDefCom_D0_SK3(array) result(descending)
1741 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1742 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK3
1743 : #endif
1744 : use pm_kind, only: SKC => SK3
1745 : character(*,SKC) , intent(in) :: array
1746 : logical(LK) :: descending
1747 : end function
1748 : #endif
1749 :
1750 : #if SK2_ENABLED
1751 : PURE module function isDescendingDefCom_D0_SK2(array) result(descending)
1752 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1753 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK2
1754 : #endif
1755 : use pm_kind, only: SKC => SK2
1756 : character(*,SKC) , intent(in) :: array
1757 : logical(LK) :: descending
1758 : end function
1759 : #endif
1760 :
1761 : #if SK1_ENABLED
1762 : PURE module function isDescendingDefCom_D0_SK1(array) result(descending)
1763 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1764 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK1
1765 : #endif
1766 : use pm_kind, only: SKC => SK1
1767 : character(*,SKC) , intent(in) :: array
1768 : logical(LK) :: descending
1769 : end function
1770 : #endif
1771 :
1772 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1773 :
1774 : #if SK5_ENABLED
1775 : PURE module function isDescendingDefCom_D1_SK5(array) result(descending)
1776 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1777 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK5
1778 : #endif
1779 : use pm_kind, only: SKC => SK5
1780 : character(*,SKC) , intent(in) , contiguous :: array(:)
1781 : logical(LK) :: descending
1782 : end function
1783 : #endif
1784 :
1785 : #if SK4_ENABLED
1786 : PURE module function isDescendingDefCom_D1_SK4(array) result(descending)
1787 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1788 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK4
1789 : #endif
1790 : use pm_kind, only: SKC => SK4
1791 : character(*,SKC) , intent(in) , contiguous :: array(:)
1792 : logical(LK) :: descending
1793 : end function
1794 : #endif
1795 :
1796 : #if SK3_ENABLED
1797 : PURE module function isDescendingDefCom_D1_SK3(array) result(descending)
1798 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1799 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK3
1800 : #endif
1801 : use pm_kind, only: SKC => SK3
1802 : character(*,SKC) , intent(in) , contiguous :: array(:)
1803 : logical(LK) :: descending
1804 : end function
1805 : #endif
1806 :
1807 : #if SK2_ENABLED
1808 : PURE module function isDescendingDefCom_D1_SK2(array) result(descending)
1809 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1810 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK2
1811 : #endif
1812 : use pm_kind, only: SKC => SK2
1813 : character(*,SKC) , intent(in) , contiguous :: array(:)
1814 : logical(LK) :: descending
1815 : end function
1816 : #endif
1817 :
1818 : #if SK1_ENABLED
1819 : PURE module function isDescendingDefCom_D1_SK1(array) result(descending)
1820 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1821 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK1
1822 : #endif
1823 : use pm_kind, only: SKC => SK1
1824 : character(*,SKC) , intent(in) , contiguous :: array(:)
1825 : logical(LK) :: descending
1826 : end function
1827 : #endif
1828 :
1829 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1830 :
1831 : #if IK5_ENABLED
1832 : PURE module function isDescendingDefCom_D1_IK5(array) result(descending)
1833 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1834 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK5
1835 : #endif
1836 : use pm_kind, only: IKC => IK5
1837 : integer(IKC) , intent(in) , contiguous :: array(:)
1838 : logical(LK) :: descending
1839 : end function
1840 : #endif
1841 :
1842 : #if IK4_ENABLED
1843 : PURE module function isDescendingDefCom_D1_IK4(array) result(descending)
1844 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1845 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK4
1846 : #endif
1847 : use pm_kind, only: IKC => IK4
1848 : integer(IKC) , intent(in) , contiguous :: array(:)
1849 : logical(LK) :: descending
1850 : end function
1851 : #endif
1852 :
1853 : #if IK3_ENABLED
1854 : PURE module function isDescendingDefCom_D1_IK3(array) result(descending)
1855 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1856 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK3
1857 : #endif
1858 : use pm_kind, only: IKC => IK3
1859 : integer(IKC) , intent(in) , contiguous :: array(:)
1860 : logical(LK) :: descending
1861 : end function
1862 : #endif
1863 :
1864 : #if IK2_ENABLED
1865 : PURE module function isDescendingDefCom_D1_IK2(array) result(descending)
1866 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1867 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK2
1868 : #endif
1869 : use pm_kind, only: IKC => IK2
1870 : integer(IKC) , intent(in) , contiguous :: array(:)
1871 : logical(LK) :: descending
1872 : end function
1873 : #endif
1874 :
1875 : #if IK1_ENABLED
1876 : PURE module function isDescendingDefCom_D1_IK1(array) result(descending)
1877 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1878 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK1
1879 : #endif
1880 : use pm_kind, only: IKC => IK1
1881 : integer(IKC) , intent(in) , contiguous :: array(:)
1882 : logical(LK) :: descending
1883 : end function
1884 : #endif
1885 :
1886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1887 :
1888 : #if LK5_ENABLED
1889 : PURE module function isDescendingDefCom_D1_LK5(array) result(descending)
1890 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1891 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK5
1892 : #endif
1893 : use pm_kind, only: LKC => LK5
1894 : logical(LKC) , intent(in) , contiguous :: array(:)
1895 : logical(LK) :: descending
1896 : end function
1897 : #endif
1898 :
1899 : #if LK4_ENABLED
1900 : PURE module function isDescendingDefCom_D1_LK4(array) result(descending)
1901 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1902 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK4
1903 : #endif
1904 : use pm_kind, only: LKC => LK4
1905 : logical(LKC) , intent(in) , contiguous :: array(:)
1906 : logical(LK) :: descending
1907 : end function
1908 : #endif
1909 :
1910 : #if LK3_ENABLED
1911 : PURE module function isDescendingDefCom_D1_LK3(array) result(descending)
1912 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1913 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK3
1914 : #endif
1915 : use pm_kind, only: LKC => LK3
1916 : logical(LKC) , intent(in) , contiguous :: array(:)
1917 : logical(LK) :: descending
1918 : end function
1919 : #endif
1920 :
1921 : #if LK2_ENABLED
1922 : PURE module function isDescendingDefCom_D1_LK2(array) result(descending)
1923 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1924 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK2
1925 : #endif
1926 : use pm_kind, only: LKC => LK2
1927 : logical(LKC) , intent(in) , contiguous :: array(:)
1928 : logical(LK) :: descending
1929 : end function
1930 : #endif
1931 :
1932 : #if LK1_ENABLED
1933 : PURE module function isDescendingDefCom_D1_LK1(array) result(descending)
1934 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1935 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK1
1936 : #endif
1937 : use pm_kind, only: LKC => LK1
1938 : logical(LKC) , intent(in) , contiguous :: array(:)
1939 : logical(LK) :: descending
1940 : end function
1941 : #endif
1942 :
1943 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1944 :
1945 : #if RK5_ENABLED
1946 : PURE module function isDescendingDefCom_D1_RK5(array) result(descending)
1947 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1948 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK5
1949 : #endif
1950 : use pm_kind, only: RKC => RK5
1951 : real(RKC) , intent(in) , contiguous :: array(:)
1952 : logical(LK) :: descending
1953 : end function
1954 : #endif
1955 :
1956 : #if RK4_ENABLED
1957 : PURE module function isDescendingDefCom_D1_RK4(array) result(descending)
1958 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1959 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK4
1960 : #endif
1961 : use pm_kind, only: RKC => RK4
1962 : real(RKC) , intent(in) , contiguous :: array(:)
1963 : logical(LK) :: descending
1964 : end function
1965 : #endif
1966 :
1967 : #if RK3_ENABLED
1968 : PURE module function isDescendingDefCom_D1_RK3(array) result(descending)
1969 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1970 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK3
1971 : #endif
1972 : use pm_kind, only: RKC => RK3
1973 : real(RKC) , intent(in) , contiguous :: array(:)
1974 : logical(LK) :: descending
1975 : end function
1976 : #endif
1977 :
1978 : #if RK2_ENABLED
1979 : PURE module function isDescendingDefCom_D1_RK2(array) result(descending)
1980 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1981 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK2
1982 : #endif
1983 : use pm_kind, only: RKC => RK2
1984 : real(RKC) , intent(in) , contiguous :: array(:)
1985 : logical(LK) :: descending
1986 : end function
1987 : #endif
1988 :
1989 : #if RK1_ENABLED
1990 : PURE module function isDescendingDefCom_D1_RK1(array) result(descending)
1991 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1992 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK1
1993 : #endif
1994 : use pm_kind, only: RKC => RK1
1995 : real(RKC) , intent(in) , contiguous :: array(:)
1996 : logical(LK) :: descending
1997 : end function
1998 : #endif
1999 :
2000 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2001 :
2002 : #if CK5_ENABLED
2003 : PURE module function isDescendingDefCom_D1_CK5(array) result(descending)
2004 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2005 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK5
2006 : #endif
2007 : use pm_kind, only: CKC => CK5
2008 : complex(CKC) , intent(in) , contiguous :: array(:)
2009 : logical(LK) :: descending
2010 : end function
2011 : #endif
2012 :
2013 : #if CK4_ENABLED
2014 : PURE module function isDescendingDefCom_D1_CK4(array) result(descending)
2015 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2016 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK4
2017 : #endif
2018 : use pm_kind, only: CKC => CK4
2019 : complex(CKC) , intent(in) , contiguous :: array(:)
2020 : logical(LK) :: descending
2021 : end function
2022 : #endif
2023 :
2024 : #if CK3_ENABLED
2025 : PURE module function isDescendingDefCom_D1_CK3(array) result(descending)
2026 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2027 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK3
2028 : #endif
2029 : use pm_kind, only: CKC => CK3
2030 : complex(CKC) , intent(in) , contiguous :: array(:)
2031 : logical(LK) :: descending
2032 : end function
2033 : #endif
2034 :
2035 : #if CK2_ENABLED
2036 : PURE module function isDescendingDefCom_D1_CK2(array) result(descending)
2037 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2038 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK2
2039 : #endif
2040 : use pm_kind, only: CKC => CK2
2041 : complex(CKC) , intent(in) , contiguous :: array(:)
2042 : logical(LK) :: descending
2043 : end function
2044 : #endif
2045 :
2046 : #if CK1_ENABLED
2047 : PURE module function isDescendingDefCom_D1_CK1(array) result(descending)
2048 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2049 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK1
2050 : #endif
2051 : use pm_kind, only: CKC => CK1
2052 : complex(CKC) , intent(in) , contiguous :: array(:)
2053 : logical(LK) :: descending
2054 : end function
2055 : #endif
2056 :
2057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2058 :
2059 : #if SK5_ENABLED
2060 : PURE module function isDescendingDefCom_D1_PSSK5(array) result(descending)
2061 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2062 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK5
2063 : #endif
2064 : use pm_kind, only: SKC => SK5
2065 : use pm_container, only: css_pdt
2066 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2067 : logical(LK) :: descending
2068 : end function
2069 : #endif
2070 :
2071 : #if SK4_ENABLED
2072 : PURE module function isDescendingDefCom_D1_PSSK4(array) result(descending)
2073 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2074 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK4
2075 : #endif
2076 : use pm_kind, only: SKC => SK4
2077 : use pm_container, only: css_pdt
2078 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2079 : logical(LK) :: descending
2080 : end function
2081 : #endif
2082 :
2083 : #if SK3_ENABLED
2084 : PURE module function isDescendingDefCom_D1_PSSK3(array) result(descending)
2085 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2086 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK3
2087 : #endif
2088 : use pm_kind, only: SKC => SK3
2089 : use pm_container, only: css_pdt
2090 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2091 : logical(LK) :: descending
2092 : end function
2093 : #endif
2094 :
2095 : #if SK2_ENABLED
2096 : PURE module function isDescendingDefCom_D1_PSSK2(array) result(descending)
2097 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2098 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK2
2099 : #endif
2100 : use pm_kind, only: SKC => SK2
2101 : use pm_container, only: css_pdt
2102 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2103 : logical(LK) :: descending
2104 : end function
2105 : #endif
2106 :
2107 : #if SK1_ENABLED
2108 : PURE module function isDescendingDefCom_D1_PSSK1(array) result(descending)
2109 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2110 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK1
2111 : #endif
2112 : use pm_kind, only: SKC => SK1
2113 : use pm_container, only: css_pdt
2114 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2115 : logical(LK) :: descending
2116 : end function
2117 : #endif
2118 :
2119 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2120 :
2121 : PURE module function isDescendingDefCom_D1_BSSK(array) result(descending)
2122 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2123 : !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_BSSK
2124 : #endif
2125 : use pm_kind, only: SKC => SK
2126 : use pm_container, only: css_type
2127 : type(css_type) , intent(in) , contiguous :: array(:)
2128 : logical(LK) :: descending
2129 : end function
2130 :
2131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2132 :
2133 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2134 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2135 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2136 :
2137 : end interface
2138 :
2139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2140 :
2141 : !> \brief
2142 : !> Return `.true.` if the input array is sorted, either ascending or descending, or all equal.
2143 : !>
2144 : !> \param[in] array : The input `contiguous` array of rank `1` of either<br>
2145 : !> <ol>
2146 : !> <li> type [css_pdt](@ref pm_container::css_pdt) or,<br>
2147 : !> <li> type [css_type](@ref pm_container::css_type) or,<br>
2148 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,<br>
2149 : !> <li> type `integer` of kind \IKALL or,<br>
2150 : !> <li> type `logical` of kind \LKALL or,<br>
2151 : !> <li> type `complex` of kind \CKALL or,<br>
2152 : !> <li> type `real` of kind \RKALL or,<br>
2153 : !> </ol>
2154 : !> or,
2155 : !> <ol>
2156 : !> <li> a *scalar* of type `character` of kind \SKALL of arbitrary length type parameter,<br>
2157 : !> </ol>
2158 : !> whose elements will be checked to have an all ascending, or all descending order with the possibility of elements being equal.
2159 : !> \param isSorted : The `external` user-specified function that takes two input **scalar** arguments of the same type and kind as the input `array`.<br>
2160 : !> It returns a scalar `logical` of default kind \LK that is `.true.` if the first
2161 : !> input scalar argument is sorted with respect to the second input argument according to the user-defined condition
2162 : !> within `isSorted`, otherwise, it is `.false.`.<br>
2163 : !> If `array` is a scalar string (i.e., an assumed-length scalar `character`),
2164 : !> then both input arguments to `isSorted()` are scalar characters of length `1` of kind \SKALL.<br>
2165 : !> The following illustrates the generic interface of `isSorted()`,
2166 : !> \code{.F90}
2167 : !> function isSorted(lhs, rhs) result(sorted)
2168 : !> use pm_kind, only: LK
2169 : !> TYPE(KIND) , intent(in) :: lhs, rhs
2170 : !> logical(LK) :: sorted
2171 : !> end function
2172 : !> \endcode
2173 : !> where `TYPE(KIND)` is the same as the type and kind of the input argument `array`, which can be one of the following.
2174 : !> \code{.F90}
2175 : !> use pm_container, only: css_type, css_pdt
2176 : !> character(*, SK), intent(in) :: lhs, rhs
2177 : !> character(1, SK), intent(in) :: lhs, rhs
2178 : !> type(css_type) , intent(in) :: lhs, rhs
2179 : !> type(css_pdt) , intent(in) :: lhs, rhs
2180 : !> integer(IK) , intent(in) :: lhs, rhs
2181 : !> logical(LK) , intent(in) :: lhs, rhs
2182 : !> complex(CK) , intent(in) :: lhs, rhs
2183 : !> real(RK) , intent(in) :: lhs, rhs
2184 : !> \endcode
2185 : !> where the specified kind type parameters (`SK`, `IK`, `LK`, `CK`, `RK`) can refer to any of the supported kinds by the processor.<br>
2186 : !> This user-defined equivalence check is extremely useful where a user-defined sorting criterion other than simple ascending order
2187 : !> is needed, for example, when the case-sensitivity of an input string or array of strings is irrelevant or when sorting of
2188 : !> the absolute values matters excluding the signs of the numbers, or when descending order is desired.<br>
2189 : !> In such cases, user can define a custom sorting condition within the user-defined external function `isSorted` to achieve the goal.<br>
2190 : !> (**optional**, the default sorting condition is ascending order, that is `a < b`.)
2191 : !>
2192 : !> \return
2193 : !> `sorted` : An output `logical` of default kind \LK that is `.true.` if all elements of the input array are
2194 : !> in ascending order, in descending order, or all equal. Otherwise, it is `.false.`.
2195 : !>
2196 : !> \interface{isSorted}
2197 : !> \code{.F90}
2198 : !>
2199 : !> use pm_arraySort, only: isSorted
2200 : !>
2201 : !> sorted = isSorted(array)
2202 : !> sorted = isSorted(array, isSorted)
2203 : !>
2204 : !> \endcode
2205 : !>
2206 : !> \warning
2207 : !> The output of this procedure is `.true.` when the input array has zero length.
2208 : !>
2209 : !> \warnpure
2210 : !> The procedures under this generic interface are always `impure` when the input argument `isSorted()` is present.
2211 : !>
2212 : !> \see
2213 : !> [isAscending](@ref pm_arraySort::isAscending)<br>
2214 : !> [isDescending](@ref pm_arraySort::isDescending)<br>
2215 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
2216 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
2217 : !>
2218 : !> \example{isSorted}
2219 : !> \include{lineno} example/pm_arraySort/isSorted/main.F90
2220 : !> \compilef{isSorted}
2221 : !> \output{isSorted}
2222 : !> \include{lineno} example/pm_arraySort/isSorted/main.out.F90
2223 : !>
2224 : !> \test
2225 : !> [test_pm_arraySort](@ref test_pm_arraySort)
2226 : !>
2227 : !> \finmain{isSorted}
2228 : !>
2229 : !> \author
2230 : !> \AmirShahmoradi, April 21, 2017, 3:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
2231 : interface isSorted
2232 :
2233 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2236 :
2237 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2238 :
2239 : #if SK5_ENABLED
2240 : PURE module function isSortedDefCom_D0_SK5(array) result(sorted)
2241 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2242 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK5
2243 : #endif
2244 : use pm_kind, only: SKC => SK5
2245 : character(*,SKC) , intent(in) :: array
2246 : logical(LK) :: sorted
2247 : end function
2248 : #endif
2249 :
2250 : #if SK4_ENABLED
2251 : PURE module function isSortedDefCom_D0_SK4(array) result(sorted)
2252 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2253 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK4
2254 : #endif
2255 : use pm_kind, only: SKC => SK4
2256 : character(*,SKC) , intent(in) :: array
2257 : logical(LK) :: sorted
2258 : end function
2259 : #endif
2260 :
2261 : #if SK3_ENABLED
2262 : PURE module function isSortedDefCom_D0_SK3(array) result(sorted)
2263 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2264 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK3
2265 : #endif
2266 : use pm_kind, only: SKC => SK3
2267 : character(*,SKC) , intent(in) :: array
2268 : logical(LK) :: sorted
2269 : end function
2270 : #endif
2271 :
2272 : #if SK2_ENABLED
2273 : PURE module function isSortedDefCom_D0_SK2(array) result(sorted)
2274 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2275 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK2
2276 : #endif
2277 : use pm_kind, only: SKC => SK2
2278 : character(*,SKC) , intent(in) :: array
2279 : logical(LK) :: sorted
2280 : end function
2281 : #endif
2282 :
2283 : #if SK1_ENABLED
2284 : PURE module function isSortedDefCom_D0_SK1(array) result(sorted)
2285 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2286 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK1
2287 : #endif
2288 : use pm_kind, only: SKC => SK1
2289 : character(*,SKC) , intent(in) :: array
2290 : logical(LK) :: sorted
2291 : end function
2292 : #endif
2293 :
2294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2295 :
2296 : #if SK5_ENABLED
2297 : PURE module function isSortedDefCom_D1_SK5(array) result(sorted)
2298 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2299 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK5
2300 : #endif
2301 : use pm_kind, only: SKC => SK5
2302 : character(*,SKC) , intent(in) , contiguous :: array(:)
2303 : logical(LK) :: sorted
2304 : end function
2305 : #endif
2306 :
2307 : #if SK4_ENABLED
2308 : PURE module function isSortedDefCom_D1_SK4(array) result(sorted)
2309 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2310 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK4
2311 : #endif
2312 : use pm_kind, only: SKC => SK4
2313 : character(*,SKC) , intent(in) , contiguous :: array(:)
2314 : logical(LK) :: sorted
2315 : end function
2316 : #endif
2317 :
2318 : #if SK3_ENABLED
2319 : PURE module function isSortedDefCom_D1_SK3(array) result(sorted)
2320 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2321 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK3
2322 : #endif
2323 : use pm_kind, only: SKC => SK3
2324 : character(*,SKC) , intent(in) , contiguous :: array(:)
2325 : logical(LK) :: sorted
2326 : end function
2327 : #endif
2328 :
2329 : #if SK2_ENABLED
2330 : PURE module function isSortedDefCom_D1_SK2(array) result(sorted)
2331 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2332 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK2
2333 : #endif
2334 : use pm_kind, only: SKC => SK2
2335 : character(*,SKC) , intent(in) , contiguous :: array(:)
2336 : logical(LK) :: sorted
2337 : end function
2338 : #endif
2339 :
2340 : #if SK1_ENABLED
2341 : PURE module function isSortedDefCom_D1_SK1(array) result(sorted)
2342 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2343 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK1
2344 : #endif
2345 : use pm_kind, only: SKC => SK1
2346 : character(*,SKC) , intent(in) , contiguous :: array(:)
2347 : logical(LK) :: sorted
2348 : end function
2349 : #endif
2350 :
2351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2352 :
2353 : #if IK5_ENABLED
2354 : PURE module function isSortedDefCom_D1_IK5(array) result(sorted)
2355 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2356 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK5
2357 : #endif
2358 : use pm_kind, only: IKC => IK5
2359 : integer(IKC) , intent(in) , contiguous :: array(:)
2360 : logical(LK) :: sorted
2361 : end function
2362 : #endif
2363 :
2364 : #if IK4_ENABLED
2365 : PURE module function isSortedDefCom_D1_IK4(array) result(sorted)
2366 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2367 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK4
2368 : #endif
2369 : use pm_kind, only: IKC => IK4
2370 : integer(IKC) , intent(in) , contiguous :: array(:)
2371 : logical(LK) :: sorted
2372 : end function
2373 : #endif
2374 :
2375 : #if IK3_ENABLED
2376 : PURE module function isSortedDefCom_D1_IK3(array) result(sorted)
2377 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2378 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK3
2379 : #endif
2380 : use pm_kind, only: IKC => IK3
2381 : integer(IKC) , intent(in) , contiguous :: array(:)
2382 : logical(LK) :: sorted
2383 : end function
2384 : #endif
2385 :
2386 : #if IK2_ENABLED
2387 : PURE module function isSortedDefCom_D1_IK2(array) result(sorted)
2388 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2389 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK2
2390 : #endif
2391 : use pm_kind, only: IKC => IK2
2392 : integer(IKC) , intent(in) , contiguous :: array(:)
2393 : logical(LK) :: sorted
2394 : end function
2395 : #endif
2396 :
2397 : #if IK1_ENABLED
2398 : PURE module function isSortedDefCom_D1_IK1(array) result(sorted)
2399 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2400 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK1
2401 : #endif
2402 : use pm_kind, only: IKC => IK1
2403 : integer(IKC) , intent(in) , contiguous :: array(:)
2404 : logical(LK) :: sorted
2405 : end function
2406 : #endif
2407 :
2408 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2409 :
2410 : #if LK5_ENABLED
2411 : PURE module function isSortedDefCom_D1_LK5(array) result(sorted)
2412 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2413 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK5
2414 : #endif
2415 : use pm_kind, only: LKC => LK5
2416 : logical(LKC) , intent(in) , contiguous :: array(:)
2417 : logical(LK) :: sorted
2418 : end function
2419 : #endif
2420 :
2421 : #if LK4_ENABLED
2422 : PURE module function isSortedDefCom_D1_LK4(array) result(sorted)
2423 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2424 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK4
2425 : #endif
2426 : use pm_kind, only: LKC => LK4
2427 : logical(LKC) , intent(in) , contiguous :: array(:)
2428 : logical(LK) :: sorted
2429 : end function
2430 : #endif
2431 :
2432 : #if LK3_ENABLED
2433 : PURE module function isSortedDefCom_D1_LK3(array) result(sorted)
2434 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2435 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK3
2436 : #endif
2437 : use pm_kind, only: LKC => LK3
2438 : logical(LKC) , intent(in) , contiguous :: array(:)
2439 : logical(LK) :: sorted
2440 : end function
2441 : #endif
2442 :
2443 : #if LK2_ENABLED
2444 : PURE module function isSortedDefCom_D1_LK2(array) result(sorted)
2445 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2446 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK2
2447 : #endif
2448 : use pm_kind, only: LKC => LK2
2449 : logical(LKC) , intent(in) , contiguous :: array(:)
2450 : logical(LK) :: sorted
2451 : end function
2452 : #endif
2453 :
2454 : #if LK1_ENABLED
2455 : PURE module function isSortedDefCom_D1_LK1(array) result(sorted)
2456 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2457 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK1
2458 : #endif
2459 : use pm_kind, only: LKC => LK1
2460 : logical(LKC) , intent(in) , contiguous :: array(:)
2461 : logical(LK) :: sorted
2462 : end function
2463 : #endif
2464 :
2465 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2466 :
2467 : #if RK5_ENABLED
2468 : PURE module function isSortedDefCom_D1_RK5(array) result(sorted)
2469 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2470 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK5
2471 : #endif
2472 : use pm_kind, only: RKC => RK5
2473 : real(RKC) , intent(in) , contiguous :: array(:)
2474 : logical(LK) :: sorted
2475 : end function
2476 : #endif
2477 :
2478 : #if RK4_ENABLED
2479 : PURE module function isSortedDefCom_D1_RK4(array) result(sorted)
2480 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2481 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK4
2482 : #endif
2483 : use pm_kind, only: RKC => RK4
2484 : real(RKC) , intent(in) , contiguous :: array(:)
2485 : logical(LK) :: sorted
2486 : end function
2487 : #endif
2488 :
2489 : #if RK3_ENABLED
2490 : PURE module function isSortedDefCom_D1_RK3(array) result(sorted)
2491 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2492 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK3
2493 : #endif
2494 : use pm_kind, only: RKC => RK3
2495 : real(RKC) , intent(in) , contiguous :: array(:)
2496 : logical(LK) :: sorted
2497 : end function
2498 : #endif
2499 :
2500 : #if RK2_ENABLED
2501 : PURE module function isSortedDefCom_D1_RK2(array) result(sorted)
2502 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2503 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK2
2504 : #endif
2505 : use pm_kind, only: RKC => RK2
2506 : real(RKC) , intent(in) , contiguous :: array(:)
2507 : logical(LK) :: sorted
2508 : end function
2509 : #endif
2510 :
2511 : #if RK1_ENABLED
2512 : PURE module function isSortedDefCom_D1_RK1(array) result(sorted)
2513 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2514 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK1
2515 : #endif
2516 : use pm_kind, only: RKC => RK1
2517 : real(RKC) , intent(in) , contiguous :: array(:)
2518 : logical(LK) :: sorted
2519 : end function
2520 : #endif
2521 :
2522 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2523 :
2524 : #if CK5_ENABLED
2525 : PURE module function isSortedDefCom_D1_CK5(array) result(sorted)
2526 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2527 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK5
2528 : #endif
2529 : use pm_kind, only: CKC => CK5
2530 : complex(CKC) , intent(in) , contiguous :: array(:)
2531 : logical(LK) :: sorted
2532 : end function
2533 : #endif
2534 :
2535 : #if CK4_ENABLED
2536 : PURE module function isSortedDefCom_D1_CK4(array) result(sorted)
2537 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2538 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK4
2539 : #endif
2540 : use pm_kind, only: CKC => CK4
2541 : complex(CKC) , intent(in) , contiguous :: array(:)
2542 : logical(LK) :: sorted
2543 : end function
2544 : #endif
2545 :
2546 : #if CK3_ENABLED
2547 : PURE module function isSortedDefCom_D1_CK3(array) result(sorted)
2548 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2549 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK3
2550 : #endif
2551 : use pm_kind, only: CKC => CK3
2552 : complex(CKC) , intent(in) , contiguous :: array(:)
2553 : logical(LK) :: sorted
2554 : end function
2555 : #endif
2556 :
2557 : #if CK2_ENABLED
2558 : PURE module function isSortedDefCom_D1_CK2(array) result(sorted)
2559 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2560 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK2
2561 : #endif
2562 : use pm_kind, only: CKC => CK2
2563 : complex(CKC) , intent(in) , contiguous :: array(:)
2564 : logical(LK) :: sorted
2565 : end function
2566 : #endif
2567 :
2568 : #if CK1_ENABLED
2569 : PURE module function isSortedDefCom_D1_CK1(array) result(sorted)
2570 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2571 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK1
2572 : #endif
2573 : use pm_kind, only: CKC => CK1
2574 : complex(CKC) , intent(in) , contiguous :: array(:)
2575 : logical(LK) :: sorted
2576 : end function
2577 : #endif
2578 :
2579 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2580 :
2581 : #if SK5_ENABLED
2582 : PURE module function isSortedDefCom_D1_PSSK5(array) result(sorted)
2583 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2584 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK5
2585 : #endif
2586 : use pm_kind, only: SKC => SK5
2587 : use pm_container, only: css_pdt
2588 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2589 : logical(LK) :: sorted
2590 : end function
2591 : #endif
2592 :
2593 : #if SK4_ENABLED
2594 : PURE module function isSortedDefCom_D1_PSSK4(array) result(sorted)
2595 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2596 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK4
2597 : #endif
2598 : use pm_kind, only: SKC => SK4
2599 : use pm_container, only: css_pdt
2600 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2601 : logical(LK) :: sorted
2602 : end function
2603 : #endif
2604 :
2605 : #if SK3_ENABLED
2606 : PURE module function isSortedDefCom_D1_PSSK3(array) result(sorted)
2607 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2608 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK3
2609 : #endif
2610 : use pm_kind, only: SKC => SK3
2611 : use pm_container, only: css_pdt
2612 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2613 : logical(LK) :: sorted
2614 : end function
2615 : #endif
2616 :
2617 : #if SK2_ENABLED
2618 : PURE module function isSortedDefCom_D1_PSSK2(array) result(sorted)
2619 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2620 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK2
2621 : #endif
2622 : use pm_kind, only: SKC => SK2
2623 : use pm_container, only: css_pdt
2624 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2625 : logical(LK) :: sorted
2626 : end function
2627 : #endif
2628 :
2629 : #if SK1_ENABLED
2630 : PURE module function isSortedDefCom_D1_PSSK1(array) result(sorted)
2631 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2632 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK1
2633 : #endif
2634 : use pm_kind, only: SKC => SK1
2635 : use pm_container, only: css_pdt
2636 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
2637 : logical(LK) :: sorted
2638 : end function
2639 : #endif
2640 :
2641 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2642 :
2643 : PURE module function isSortedDefCom_D1_BSSK(array) result(sorted)
2644 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2645 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_BSSK
2646 : #endif
2647 : use pm_kind, only: SKC => SK
2648 : use pm_container, only: css_type
2649 : type(css_type) , intent(in) , contiguous :: array(:)
2650 : logical(LK) :: sorted
2651 : end function
2652 :
2653 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2654 :
2655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2656 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2657 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2658 :
2659 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2660 :
2661 : #if SK5_ENABLED
2662 : module function isSortedCusCom_D0_SK5(array, isSorted) result(sorted)
2663 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2664 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK5
2665 : #endif
2666 : use pm_kind, only: SKC => SK5
2667 : character(*,SKC) , intent(in) :: array
2668 : procedure(logical(LK)) :: isSorted
2669 : logical(LK) :: sorted
2670 : end function
2671 : #endif
2672 :
2673 : #if SK4_ENABLED
2674 : module function isSortedCusCom_D0_SK4(array, isSorted) result(sorted)
2675 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2676 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK4
2677 : #endif
2678 : use pm_kind, only: SKC => SK4
2679 : character(*,SKC) , intent(in) :: array
2680 : procedure(logical(LK)) :: isSorted
2681 : logical(LK) :: sorted
2682 : end function
2683 : #endif
2684 :
2685 : #if SK3_ENABLED
2686 : module function isSortedCusCom_D0_SK3(array, isSorted) result(sorted)
2687 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2688 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK3
2689 : #endif
2690 : use pm_kind, only: SKC => SK3
2691 : character(*,SKC) , intent(in) :: array
2692 : procedure(logical(LK)) :: isSorted
2693 : logical(LK) :: sorted
2694 : end function
2695 : #endif
2696 :
2697 : #if SK2_ENABLED
2698 : module function isSortedCusCom_D0_SK2(array, isSorted) result(sorted)
2699 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2700 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK2
2701 : #endif
2702 : use pm_kind, only: SKC => SK2
2703 : character(*,SKC) , intent(in) :: array
2704 : procedure(logical(LK)) :: isSorted
2705 : logical(LK) :: sorted
2706 : end function
2707 : #endif
2708 :
2709 : #if SK1_ENABLED
2710 : module function isSortedCusCom_D0_SK1(array, isSorted) result(sorted)
2711 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2712 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK1
2713 : #endif
2714 : use pm_kind, only: SKC => SK1
2715 : character(*,SKC) , intent(in) :: array
2716 : procedure(logical(LK)) :: isSorted
2717 : logical(LK) :: sorted
2718 : end function
2719 : #endif
2720 :
2721 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2722 :
2723 : #if SK5_ENABLED
2724 : module function isSortedCusCom_D1_SK5(array, isSorted) result(sorted)
2725 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2726 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK5
2727 : #endif
2728 : use pm_kind, only: SKC => SK5
2729 : character(*,SKC) , intent(in) , contiguous :: array(:)
2730 : procedure(logical(LK)) :: isSorted
2731 : logical(LK) :: sorted
2732 : end function
2733 : #endif
2734 :
2735 : #if SK4_ENABLED
2736 : module function isSortedCusCom_D1_SK4(array, isSorted) result(sorted)
2737 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2738 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK4
2739 : #endif
2740 : use pm_kind, only: SKC => SK4
2741 : character(*,SKC) , intent(in) , contiguous :: array(:)
2742 : procedure(logical(LK)) :: isSorted
2743 : logical(LK) :: sorted
2744 : end function
2745 : #endif
2746 :
2747 : #if SK3_ENABLED
2748 : module function isSortedCusCom_D1_SK3(array, isSorted) result(sorted)
2749 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2750 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK3
2751 : #endif
2752 : use pm_kind, only: SKC => SK3
2753 : character(*,SKC) , intent(in) , contiguous :: array(:)
2754 : procedure(logical(LK)) :: isSorted
2755 : logical(LK) :: sorted
2756 : end function
2757 : #endif
2758 :
2759 : #if SK2_ENABLED
2760 : module function isSortedCusCom_D1_SK2(array, isSorted) result(sorted)
2761 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2762 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK2
2763 : #endif
2764 : use pm_kind, only: SKC => SK2
2765 : character(*,SKC) , intent(in) , contiguous :: array(:)
2766 : procedure(logical(LK)) :: isSorted
2767 : logical(LK) :: sorted
2768 : end function
2769 : #endif
2770 :
2771 : #if SK1_ENABLED
2772 : module function isSortedCusCom_D1_SK1(array, isSorted) result(sorted)
2773 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2774 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK1
2775 : #endif
2776 : use pm_kind, only: SKC => SK1
2777 : character(*,SKC) , intent(in) , contiguous :: array(:)
2778 : procedure(logical(LK)) :: isSorted
2779 : logical(LK) :: sorted
2780 : end function
2781 : #endif
2782 :
2783 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2784 :
2785 : #if IK5_ENABLED
2786 : module function isSortedCusCom_D1_IK5(array, isSorted) result(sorted)
2787 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2788 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK5
2789 : #endif
2790 : use pm_kind, only: IKC => IK5
2791 : integer(IKC) , intent(in) , contiguous :: array(:)
2792 : procedure(logical(LK)) :: isSorted
2793 : logical(LK) :: sorted
2794 : end function
2795 : #endif
2796 :
2797 : #if IK4_ENABLED
2798 : module function isSortedCusCom_D1_IK4(array, isSorted) result(sorted)
2799 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2800 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK4
2801 : #endif
2802 : use pm_kind, only: IKC => IK4
2803 : integer(IKC) , intent(in) , contiguous :: array(:)
2804 : procedure(logical(LK)) :: isSorted
2805 : logical(LK) :: sorted
2806 : end function
2807 : #endif
2808 :
2809 : #if IK3_ENABLED
2810 : module function isSortedCusCom_D1_IK3(array, isSorted) result(sorted)
2811 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2812 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK3
2813 : #endif
2814 : use pm_kind, only: IKC => IK3
2815 : integer(IKC) , intent(in) , contiguous :: array(:)
2816 : procedure(logical(LK)) :: isSorted
2817 : logical(LK) :: sorted
2818 : end function
2819 : #endif
2820 :
2821 : #if IK2_ENABLED
2822 : module function isSortedCusCom_D1_IK2(array, isSorted) result(sorted)
2823 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2824 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK2
2825 : #endif
2826 : use pm_kind, only: IKC => IK2
2827 : integer(IKC) , intent(in) , contiguous :: array(:)
2828 : procedure(logical(LK)) :: isSorted
2829 : logical(LK) :: sorted
2830 : end function
2831 : #endif
2832 :
2833 : #if IK1_ENABLED
2834 : module function isSortedCusCom_D1_IK1(array, isSorted) result(sorted)
2835 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2836 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK1
2837 : #endif
2838 : use pm_kind, only: IKC => IK1
2839 : integer(IKC) , intent(in) , contiguous :: array(:)
2840 : procedure(logical(LK)) :: isSorted
2841 : logical(LK) :: sorted
2842 : end function
2843 : #endif
2844 :
2845 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2846 :
2847 : #if LK5_ENABLED
2848 : module function isSortedCusCom_D1_LK5(array, isSorted) result(sorted)
2849 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2850 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK5
2851 : #endif
2852 : use pm_kind, only: LKC => LK5
2853 : logical(LKC) , intent(in) , contiguous :: array(:)
2854 : procedure(logical(LK)) :: isSorted
2855 : logical(LK) :: sorted
2856 : end function
2857 : #endif
2858 :
2859 : #if LK4_ENABLED
2860 : module function isSortedCusCom_D1_LK4(array, isSorted) result(sorted)
2861 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2862 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK4
2863 : #endif
2864 : use pm_kind, only: LKC => LK4
2865 : logical(LKC) , intent(in) , contiguous :: array(:)
2866 : procedure(logical(LK)) :: isSorted
2867 : logical(LK) :: sorted
2868 : end function
2869 : #endif
2870 :
2871 : #if LK3_ENABLED
2872 : module function isSortedCusCom_D1_LK3(array, isSorted) result(sorted)
2873 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2874 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK3
2875 : #endif
2876 : use pm_kind, only: LKC => LK3
2877 : logical(LKC) , intent(in) , contiguous :: array(:)
2878 : procedure(logical(LK)) :: isSorted
2879 : logical(LK) :: sorted
2880 : end function
2881 : #endif
2882 :
2883 : #if LK2_ENABLED
2884 : module function isSortedCusCom_D1_LK2(array, isSorted) result(sorted)
2885 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2886 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK2
2887 : #endif
2888 : use pm_kind, only: LKC => LK2
2889 : logical(LKC) , intent(in) , contiguous :: array(:)
2890 : procedure(logical(LK)) :: isSorted
2891 : logical(LK) :: sorted
2892 : end function
2893 : #endif
2894 :
2895 : #if LK1_ENABLED
2896 : module function isSortedCusCom_D1_LK1(array, isSorted) result(sorted)
2897 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2898 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK1
2899 : #endif
2900 : use pm_kind, only: LKC => LK1
2901 : logical(LKC) , intent(in) , contiguous :: array(:)
2902 : procedure(logical(LK)) :: isSorted
2903 : logical(LK) :: sorted
2904 : end function
2905 : #endif
2906 :
2907 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2908 :
2909 : #if RK5_ENABLED
2910 : module function isSortedCusCom_D1_RK5(array, isSorted) result(sorted)
2911 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2912 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK5
2913 : #endif
2914 : use pm_kind, only: RKC => RK5
2915 : real(RKC) , intent(in) , contiguous :: array(:)
2916 : procedure(logical(LK)) :: isSorted
2917 : logical(LK) :: sorted
2918 : end function
2919 : #endif
2920 :
2921 : #if RK4_ENABLED
2922 : module function isSortedCusCom_D1_RK4(array, isSorted) result(sorted)
2923 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2924 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK4
2925 : #endif
2926 : use pm_kind, only: RKC => RK4
2927 : real(RKC) , intent(in) , contiguous :: array(:)
2928 : procedure(logical(LK)) :: isSorted
2929 : logical(LK) :: sorted
2930 : end function
2931 : #endif
2932 :
2933 : #if RK3_ENABLED
2934 : module function isSortedCusCom_D1_RK3(array, isSorted) result(sorted)
2935 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2936 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK3
2937 : #endif
2938 : use pm_kind, only: RKC => RK3
2939 : real(RKC) , intent(in) , contiguous :: array(:)
2940 : procedure(logical(LK)) :: isSorted
2941 : logical(LK) :: sorted
2942 : end function
2943 : #endif
2944 :
2945 : #if RK2_ENABLED
2946 : module function isSortedCusCom_D1_RK2(array, isSorted) result(sorted)
2947 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2948 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK2
2949 : #endif
2950 : use pm_kind, only: RKC => RK2
2951 : real(RKC) , intent(in) , contiguous :: array(:)
2952 : procedure(logical(LK)) :: isSorted
2953 : logical(LK) :: sorted
2954 : end function
2955 : #endif
2956 :
2957 : #if RK1_ENABLED
2958 : module function isSortedCusCom_D1_RK1(array, isSorted) result(sorted)
2959 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2960 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK1
2961 : #endif
2962 : use pm_kind, only: RKC => RK1
2963 : real(RKC) , intent(in) , contiguous :: array(:)
2964 : procedure(logical(LK)) :: isSorted
2965 : logical(LK) :: sorted
2966 : end function
2967 : #endif
2968 :
2969 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2970 :
2971 : #if CK5_ENABLED
2972 : module function isSortedCusCom_D1_CK5(array, isSorted) result(sorted)
2973 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2974 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK5
2975 : #endif
2976 : use pm_kind, only: CKC => CK5
2977 : complex(CKC) , intent(in) , contiguous :: array(:)
2978 : procedure(logical(LK)) :: isSorted
2979 : logical(LK) :: sorted
2980 : end function
2981 : #endif
2982 :
2983 : #if CK4_ENABLED
2984 : module function isSortedCusCom_D1_CK4(array, isSorted) result(sorted)
2985 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2986 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK4
2987 : #endif
2988 : use pm_kind, only: CKC => CK4
2989 : complex(CKC) , intent(in) , contiguous :: array(:)
2990 : procedure(logical(LK)) :: isSorted
2991 : logical(LK) :: sorted
2992 : end function
2993 : #endif
2994 :
2995 : #if CK3_ENABLED
2996 : module function isSortedCusCom_D1_CK3(array, isSorted) result(sorted)
2997 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2998 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK3
2999 : #endif
3000 : use pm_kind, only: CKC => CK3
3001 : complex(CKC) , intent(in) , contiguous :: array(:)
3002 : procedure(logical(LK)) :: isSorted
3003 : logical(LK) :: sorted
3004 : end function
3005 : #endif
3006 :
3007 : #if CK2_ENABLED
3008 : module function isSortedCusCom_D1_CK2(array, isSorted) result(sorted)
3009 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3010 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK2
3011 : #endif
3012 : use pm_kind, only: CKC => CK2
3013 : complex(CKC) , intent(in) , contiguous :: array(:)
3014 : procedure(logical(LK)) :: isSorted
3015 : logical(LK) :: sorted
3016 : end function
3017 : #endif
3018 :
3019 : #if CK1_ENABLED
3020 : module function isSortedCusCom_D1_CK1(array, isSorted) result(sorted)
3021 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3022 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK1
3023 : #endif
3024 : use pm_kind, only: CKC => CK1
3025 : complex(CKC) , intent(in) , contiguous :: array(:)
3026 : procedure(logical(LK)) :: isSorted
3027 : logical(LK) :: sorted
3028 : end function
3029 : #endif
3030 :
3031 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3032 :
3033 : #if SK5_ENABLED
3034 : module function isSortedCusCom_D1_PSSK5(array, isSorted) result(sorted)
3035 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3036 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK5
3037 : #endif
3038 : use pm_kind, only: SKC => SK5
3039 : use pm_container, only: css_pdt
3040 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3041 : procedure(logical(LK)) :: isSorted
3042 : logical(LK) :: sorted
3043 : end function
3044 : #endif
3045 :
3046 : #if SK4_ENABLED
3047 : module function isSortedCusCom_D1_PSSK4(array, isSorted) result(sorted)
3048 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3049 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK4
3050 : #endif
3051 : use pm_kind, only: SKC => SK4
3052 : use pm_container, only: css_pdt
3053 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3054 : procedure(logical(LK)) :: isSorted
3055 : logical(LK) :: sorted
3056 : end function
3057 : #endif
3058 :
3059 : #if SK3_ENABLED
3060 : module function isSortedCusCom_D1_PSSK3(array, isSorted) result(sorted)
3061 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3062 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK3
3063 : #endif
3064 : use pm_kind, only: SKC => SK3
3065 : use pm_container, only: css_pdt
3066 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3067 : procedure(logical(LK)) :: isSorted
3068 : logical(LK) :: sorted
3069 : end function
3070 : #endif
3071 :
3072 : #if SK2_ENABLED
3073 : module function isSortedCusCom_D1_PSSK2(array, isSorted) result(sorted)
3074 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3075 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK2
3076 : #endif
3077 : use pm_kind, only: SKC => SK2
3078 : use pm_container, only: css_pdt
3079 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3080 : procedure(logical(LK)) :: isSorted
3081 : logical(LK) :: sorted
3082 : end function
3083 : #endif
3084 :
3085 : #if SK1_ENABLED
3086 : module function isSortedCusCom_D1_PSSK1(array, isSorted) result(sorted)
3087 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3088 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK1
3089 : #endif
3090 : use pm_kind, only: SKC => SK1
3091 : use pm_container, only: css_pdt
3092 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3093 : procedure(logical(LK)) :: isSorted
3094 : logical(LK) :: sorted
3095 : end function
3096 : #endif
3097 :
3098 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3099 :
3100 : module function isSortedCusCom_D1_BSSK(array, isSorted) result(sorted)
3101 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3102 : !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_BSSK
3103 : #endif
3104 : use pm_kind, only: SKC => SK
3105 : use pm_container, only: css_type
3106 : type(css_type) , intent(in) , contiguous :: array(:)
3107 : procedure(logical(LK)) :: isSorted
3108 : logical(LK) :: sorted
3109 : end function
3110 :
3111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3112 :
3113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3114 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3115 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3116 :
3117 : end interface
3118 :
3119 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3120 :
3121 : !> \brief
3122 : !> Generate and return the sorted elements of the input scalar string or `contiguous` vector in ascending order, or
3123 : !> the **sorted indices** of the input scalar string or `contiguous` `array` of rank `1` in **ascending order**
3124 : !> or in the user-specified order.
3125 : !>
3126 : !> \details
3127 : !> This generic interface either sorts the contents of an array or its indices in ascending order or via the
3128 : !> user-specified custom input procedure `isSorted()`.<br>
3129 : !>
3130 : !> The resulting output array or its `sorting` will be in ascending order (or in the requested order as specified by `isSorted()`.<br>
3131 : !>
3132 : !> \note
3133 : !> This generic interface is merely a convenient functional wrapper for the
3134 : !> lower-level subroutine interface [setSorted](@ref pm_arraySort::setSorted).<br>
3135 : !>
3136 : !> \param[in] array : The `contiguous` array of rank `1` of either<br>
3137 : !> <ol>
3138 : !> <li> type [css_pdt](@ref pm_container::css_pdt) (string container) or,<br>
3139 : !> <li> type [css_type](@ref pm_container::css_type) (string container of default kind) or,<br>
3140 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,
3141 : !> <li> type `integer` of kind \IKALL or,<br>
3142 : !> <li> type `logical` of kind \LKALL or,<br>
3143 : !> <li> type `complex` of kind \CKALL or,<br>
3144 : !> <li> type `real` of kind \RKALL,<br>
3145 : !> </ol>
3146 : !> or,
3147 : !> <ol>
3148 : !> <li> a **scalar** of type `character` of kind \SKALL of arbitrary length type parameter.<br>
3149 : !> </ol>
3150 : !> \param isSorted : The `external` user-specified function that takes two input **scalar** arguments of the same type and kind as the input `array`.<br>
3151 : !> It returns a scalar `logical` of default kind \LK that is `.true.` if the first
3152 : !> input scalar argument is sorted with respect to the second input argument according to the user-defined condition
3153 : !> within `isSorted`, otherwise, it is `.false.`.<br>
3154 : !> If `array` is a scalar string (i.e., an assumed-length scalar `character`),
3155 : !> then both input arguments to `isSorted()` are scalar characters of length `1` of kind \SKALL.<br>
3156 : !> The following illustrates the generic interface of `isSorted()`,
3157 : !> \code{.F90}
3158 : !> function isSorted(lhs, rhs) result(sorted)
3159 : !> use pm_kind, only: LK
3160 : !> TYPE(KIND) , intent(in) :: lhs, rhs
3161 : !> logical(LK) :: sorted
3162 : !> end function
3163 : !> \endcode
3164 : !> where `TYPE(KIND)` is the same as the type and kind of the input argument `array`, which can be one of the following.
3165 : !> \code{.F90}
3166 : !> use pm_container, only: css_type, css_pdt
3167 : !> character(*, SK), intent(in) :: lhs, rhs
3168 : !> character(1, SK), intent(in) :: lhs, rhs
3169 : !> type(css_type) , intent(in) :: lhs, rhs
3170 : !> type(css_pdt) , intent(in) :: lhs, rhs
3171 : !> integer(IK) , intent(in) :: lhs, rhs
3172 : !> logical(LK) , intent(in) :: lhs, rhs
3173 : !> complex(CK) , intent(in) :: lhs, rhs
3174 : !> real(RK) , intent(in) :: lhs, rhs
3175 : !> \endcode
3176 : !> where the specified kind type parameters (`SK`, `IK`, `LK`, `CK`, `RK`) can refer to any of the supported kinds by the processor.<br>
3177 : !> This user-defined equivalence check is extremely useful where a user-defined sorting criterion other than simple ascending order
3178 : !> is needed, for example, when the case-sensitivity of an input string or array of strings is irrelevant or when sorting of
3179 : !> the absolute values matters excluding the signs of the numbers, or when descending order is desired.<br>
3180 : !> In such cases, user can define a custom sorting condition within the user-defined external function `isSorted` to achieve the goal.<br>
3181 : !> (**optional**, the default sorting condition is ascending order, that is `a < b`.)
3182 : !> \param method : The input scalar constant that can be any of the following:<br>
3183 : !> <ol>
3184 : !> <li> The constant [isort](@ref pm_arraySort::isort) or equivalently, an object of type [isort_type](@ref pm_arraySort::isort_type),
3185 : !> implying that the **sorted indices** of the input array must be returned (instead of the sorted elements of array).<br>
3186 : !> <li> The constant [qsorti](@ref pm_arraySort::qsorti) or equivalently, an object of type [qsorti_type](@ref pm_arraySort::qsorti_type),
3187 : !> implying that the **iterative** version of the **QuickSort** sorting algorithm should be used.<br>
3188 : !> This method sorts the input array by a mixture of Quicksort and Selection sorting methods.<br>
3189 : !> When the size the array to be sorted reaches `30` or less, the algorithm switches from Quicksort to Selection sorting.<br>
3190 : !> This algorithm is typically of order \f$ N \log_2 N\f$, and the worst-case order of \f$N^2\f$.<br>
3191 : !> The worst case performance occurs for completely sorted input arrays.<br>
3192 : !> <li> The constant [qsortr](@ref pm_arraySort::qsortr) or equivalently, an object of type [qsortr_type](@ref pm_arraySort::qsortr_type),
3193 : !> implying that the **recursive** version of the **QuickSort** sorting algorithm should be used.<br>
3194 : !> <li> The constant [qsortrdp](@ref pm_arraySort::qsortrdp) or equivalently, an object of type [qsortrdp_type](@ref pm_arraySort::qsortrdp_type),
3195 : !> implying that the **recursive** version of the **Dual-Pivot QuickSort** sorting algorithm should be used.<br>
3196 : !> The Dual-Pivot Quicksort algorithm can be slightly faster than the default Quicksort algorithms above.<br>
3197 : !> However, [performance benchmarks](@ref pm_arraySort) indicate that the efficiency gain is marginal and insignificant.<br>
3198 : !> This algorithm is typically of order \f$ N \log_2 N\f$, and the worst-case order of \f$N^2\f$.
3199 : !> The worst case performance occurs for completely sorted input arrays.<br>
3200 : !> <li> The constant [bubble](@ref pm_arraySort::bubble) or equivalently, an object of type [bubble_type](@ref pm_arraySort::bubble_type),
3201 : !> implying that the **Bubble** sorting algorithm should be used.<br>
3202 : !> This algorithm is of order \f$N^2\f$.<br>
3203 : !> <li> The constant [heapi](@ref pm_arraySort::heapi) or equivalently, an object of type [heapi_type](@ref pm_arraySort::heapi_type),
3204 : !> implying that the **iterative** version of the **Heap** sorting algorithm should be used.<br>
3205 : !> This algorithm is typically of order \f$ N \log_2 N\f$.<br>
3206 : !> <li> The constant [heapr](@ref pm_arraySort::heapr) or equivalently, an object of type [heapr_type](@ref pm_arraySort::heapr_type),
3207 : !> implying that the **recursive** version of the **Heap** sorting algorithm should be used.<br>
3208 : !> This algorithm is typically of order \f$ N \log_2 N\f$.<br>
3209 : !> <li> The constant [insertionl](@ref pm_arraySort::insertionl) or equivalently, an object of type [insertionl_type](@ref pm_arraySort::insertionl_type),
3210 : !> implying that the **linear-search** version of the **insertion** sorting algorithm should be used.<br>
3211 : !> The complexity of this algorithm is typically of order \f$N^2\f$.<br>
3212 : !> <li> The constant [insertionb](@ref pm_arraySort::insertionb) or equivalently, an object of type [insertionb_type](@ref pm_arraySort::insertionb_type),
3213 : !> implying that the **binary-search** version of the **insertion** sorting algorithm should be used.<br>
3214 : !> The complexity of this algorithm is typically of order \f$N^2\f$.<br>
3215 : !> <li> The constant [merger](@ref pm_arraySort::merger) or equivalently, an object of type [merger_type](@ref pm_arraySort::merger_type),
3216 : !> implying that the **recursive** version of the **Merge** sorting algorithm should be used.<br>
3217 : !> This algorithm is typically of order \f$ N \log_2 N\f$.<br>
3218 : !> <li> The constant [selection](@ref pm_arraySort::selection) or equivalently, an object of type [selection_type](@ref pm_arraySort::selection_type),
3219 : !> implying that the **Selection** sorting algorithm should be used.<br>
3220 : !> This algorithm is of order \f$N^2\f$.<br>
3221 : !> <li> The constant [shell](@ref pm_arraySort::shell) or equivalently, an object of type [shell_type](@ref pm_arraySort::shell_type),
3222 : !> implying that the **Shell** sorting algorithm should be used.<br>
3223 : !> This algorithm is of order \f$N\log(N)\f$.<br>
3224 : !> </ol>
3225 : !> The presence of this argument is merely for compile-time resolution of the procedures of this generic interface.<br>
3226 : !> (**optional**. default = [qsorti](@ref pm_arraySort::qsorti). It can be present only if the input argument `sorting` is missing.)
3227 : !>
3228 : !> \return
3229 : !> `sorting` : The output object whose type and kind depends on the specified input `method`:<br>
3230 : !> <ol>
3231 : !> <li> If `method` is set to [isort](@ref pm_arraySort::isort) or
3232 : !> an object of type set to [isort_type](@ref pm_arraySort::isort_type),
3233 : !> then the output `sorting` is of type `integer` of default kind \IK of rank `1`
3234 : !> of the same size as the number of elements in the input `array` containing the
3235 : !> **sorted indices** of the elements of the input array`.<br>
3236 : !> **Read `sorting(i)` as the index of the element of `array` that contains the `i`th smallest (or ranked) value in the `array`.**<br>
3237 : !> This kind of sorting of indices is also widely known as **ordinal ranking**.<br>
3238 : !> In ordinal ranking, all items receive distinct ordinal numbers, including items that compare equal.<br>
3239 : !> The assignment of distinct ordinal numbers to items that compare equal can be done at random, or arbitrarily.<br>
3240 : !> But it is generally preferable to use a system that is arbitrary but consistent,
3241 : !> as this gives stable results if the ranking is done multiple times.<br>
3242 : !> In computer data processing, ordinal ranking is also referred to as **row numbering**.<br>
3243 : !> <li> If `method` is missing or set to any other value than the above,
3244 : !> then the output `sorting` is of the same type, kind, rank, and shape as
3245 : !> the input `array`, containing the **sorted elements** of the input array.<br>
3246 : !> </ol>
3247 : !>
3248 : !> \interface{getSorted}
3249 : !> \code{.F90}
3250 : !>
3251 : !> use pm_arraySort, only: getSorted
3252 : !>
3253 : !> ! Sorting the indices of an array.
3254 : !>
3255 : !> sorting(1:len(array)) = getSorted(array, isort, isSorted = isSorted) ! scalar characer `array`.
3256 : !> sorting(1:size(array)) = getSorted(array(:), isort, isSorted = isSorted) ! all other intrinsic data types.
3257 : !>
3258 : !> ! Sorting the contents of an array.
3259 : !>
3260 : !> sorting(1:len(array)) = getSorted(array, method = method, isSorted = isSorted) ! scalar characer `array`.
3261 : !> sorting(1:size(array)) = getSorted(array(:), method = method, isSorted = isSorted) ! all other intrinsic data types.
3262 : !>
3263 : !> \endcode
3264 : !>
3265 : !> \warnpure
3266 : !> The procedures under this generic interface are always `impure` when the input argument `isSorted()` is present.<br>
3267 : !>
3268 : !> \devnote
3269 : !> The use of the Fortran intrinsic `minloc` in the sorting routines appears to lead a slightly better performance than the manual search.<br>
3270 : !>
3271 : !> \note
3272 : !> To rank the input array in descending order using the output `sorting` indices,
3273 : !> simply call the output `sorting` indices from the end to the beginning or,
3274 : !> rewrite the array with `array = array(sorting(ubound(array, dim = 1) : lbound(array, dim = 1) : -1) )`.<br>
3275 : !>
3276 : !> \note
3277 : !> To sort the input array in descending order, simply call the output array elements from the end to the beginning or,
3278 : !> rewrite the array with `array = array(ubound(array, dim = 1) : lbound(array, dim = 1) : -1)`.<br>
3279 : !> Alternatively, supply an external comparison function `isSorted()` with the appropriate comparison.<br>
3280 : !>
3281 : !> \note
3282 : !> A rooter array can be sorted along with a leader array with the help of [getSorted](@ref pm_arraySort::getSorted).<br>
3283 : !>
3284 : !> \see
3285 : !> [getLoc](@ref pm_arrayFind::getLoc)<br>
3286 : !> [setLoc](@ref pm_arrayFind::setLoc)<br>
3287 : !> [getBin](@ref pm_arraySearch::getBin)<br>
3288 : !> [getSorted](@ref pm_arraySort::getSorted)<br>
3289 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
3290 : !> [getRankDense](@ref pm_arrayRank::getRankDense)<br>
3291 : !> [setRankDense](@ref pm_arrayRank::setRankDense)<br>
3292 : !> [getRankOrdinal](@ref pm_arrayRank::getRankOrdinal)<br>
3293 : !> [setRankOrdinal](@ref pm_arrayRank::setRankOrdinal)<br>
3294 : !> [getRankModified](@ref pm_arrayRank::getRankModified)<br>
3295 : !> [setRankModified](@ref pm_arrayRank::setRankModified)<br>
3296 : !> [getRankStandard](@ref pm_arrayRank::getRankStandard)<br>
3297 : !> [setRankStandard](@ref pm_arrayRank::setRankStandard)<br>
3298 : !> [getRankFractional](@ref pm_arrayRank::getRankFractional)<br>
3299 : !> [setRankFractional](@ref pm_arrayRank::setRankFractional)<br>
3300 : !> [getSelected](@ref pm_arraySelect::getSelected)<br>
3301 : !> [setSelected](@ref pm_arraySelect::setSelected)<br>
3302 : !>
3303 : !> \example{getSorted}
3304 : !> \include{lineno} example/pm_arraySort/getSorted/main.F90
3305 : !> \compilef{getSorted}
3306 : !> \output{getSorted}
3307 : !> \include{lineno} example/pm_arraySort/getSorted/main.out.F90
3308 : !>
3309 : !> \test
3310 : !> [test_pm_arraySort](@ref test_pm_arraySort)
3311 : !>
3312 : !> \finmain{getSorted}
3313 : !>
3314 : !> \author
3315 : !> \AmirShahmoradi, April 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
3316 :
3317 : ! getSortedIndCusComDef
3318 :
3319 : interface getSorted
3320 :
3321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3322 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3324 :
3325 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3326 :
3327 : #if SK5_ENABLED
3328 : module function getSortedIndCusComDef_D0_SK5(array, isSorted, method) result(sorting)
3329 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3330 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK5
3331 : #endif
3332 : use pm_kind, only: SKC => SK5
3333 : character(*,SKC) , intent(in) :: array
3334 : procedure(logical(LK)) :: isSorted
3335 : integer(IK) :: sorting(len(array, IK))
3336 : type(isort_type) , intent(in) :: method
3337 : end function
3338 : #endif
3339 :
3340 : #if SK4_ENABLED
3341 : module function getSortedIndCusComDef_D0_SK4(array, isSorted, method) result(sorting)
3342 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3343 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK4
3344 : #endif
3345 : use pm_kind, only: SKC => SK4
3346 : character(*,SKC) , intent(in) :: array
3347 : procedure(logical(LK)) :: isSorted
3348 : integer(IK) :: sorting(len(array, IK))
3349 : type(isort_type) , intent(in) :: method
3350 : end function
3351 : #endif
3352 :
3353 : #if SK3_ENABLED
3354 : module function getSortedIndCusComDef_D0_SK3(array, isSorted, method) result(sorting)
3355 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3356 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK3
3357 : #endif
3358 : use pm_kind, only: SKC => SK3
3359 : character(*,SKC) , intent(in) :: array
3360 : procedure(logical(LK)) :: isSorted
3361 : integer(IK) :: sorting(len(array, IK))
3362 : type(isort_type) , intent(in) :: method
3363 : end function
3364 : #endif
3365 :
3366 : #if SK2_ENABLED
3367 : module function getSortedIndCusComDef_D0_SK2(array, isSorted, method) result(sorting)
3368 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3369 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK2
3370 : #endif
3371 : use pm_kind, only: SKC => SK2
3372 : character(*,SKC) , intent(in) :: array
3373 : procedure(logical(LK)) :: isSorted
3374 : integer(IK) :: sorting(len(array, IK))
3375 : type(isort_type) , intent(in) :: method
3376 : end function
3377 : #endif
3378 :
3379 : #if SK1_ENABLED
3380 : module function getSortedIndCusComDef_D0_SK1(array, isSorted, method) result(sorting)
3381 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3382 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK1
3383 : #endif
3384 : use pm_kind, only: SKC => SK1
3385 : character(*,SKC) , intent(in) :: array
3386 : procedure(logical(LK)) :: isSorted
3387 : integer(IK) :: sorting(len(array, IK))
3388 : type(isort_type) , intent(in) :: method
3389 : end function
3390 : #endif
3391 :
3392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3393 :
3394 : #if SK5_ENABLED
3395 : module function getSortedIndCusComDef_D1_SK5(array, isSorted, method) result(sorting)
3396 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3397 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK5
3398 : #endif
3399 : use pm_kind, only: SKC => SK5
3400 : character(*,SKC) , intent(in) , contiguous :: array(:)
3401 : procedure(logical(LK)) :: isSorted
3402 : integer(IK) :: sorting(size(array, 1, IK))
3403 : type(isort_type) , intent(in) :: method
3404 : end function
3405 : #endif
3406 :
3407 : #if SK4_ENABLED
3408 : module function getSortedIndCusComDef_D1_SK4(array, isSorted, method) result(sorting)
3409 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3410 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK4
3411 : #endif
3412 : use pm_kind, only: SKC => SK4
3413 : character(*,SKC) , intent(in) , contiguous :: array(:)
3414 : procedure(logical(LK)) :: isSorted
3415 : integer(IK) :: sorting(size(array, 1, IK))
3416 : type(isort_type) , intent(in) :: method
3417 : end function
3418 : #endif
3419 :
3420 : #if SK3_ENABLED
3421 : module function getSortedIndCusComDef_D1_SK3(array, isSorted, method) result(sorting)
3422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3423 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK3
3424 : #endif
3425 : use pm_kind, only: SKC => SK3
3426 : character(*,SKC) , intent(in) , contiguous :: array(:)
3427 : procedure(logical(LK)) :: isSorted
3428 : integer(IK) :: sorting(size(array, 1, IK))
3429 : type(isort_type) , intent(in) :: method
3430 : end function
3431 : #endif
3432 :
3433 : #if SK2_ENABLED
3434 : module function getSortedIndCusComDef_D1_SK2(array, isSorted, method) result(sorting)
3435 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3436 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK2
3437 : #endif
3438 : use pm_kind, only: SKC => SK2
3439 : character(*,SKC) , intent(in) , contiguous :: array(:)
3440 : procedure(logical(LK)) :: isSorted
3441 : integer(IK) :: sorting(size(array, 1, IK))
3442 : type(isort_type) , intent(in) :: method
3443 : end function
3444 : #endif
3445 :
3446 : #if SK1_ENABLED
3447 : module function getSortedIndCusComDef_D1_SK1(array, isSorted, method) result(sorting)
3448 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3449 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK1
3450 : #endif
3451 : use pm_kind, only: SKC => SK1
3452 : character(*,SKC) , intent(in) , contiguous :: array(:)
3453 : procedure(logical(LK)) :: isSorted
3454 : integer(IK) :: sorting(size(array, 1, IK))
3455 : type(isort_type) , intent(in) :: method
3456 : end function
3457 : #endif
3458 :
3459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3460 :
3461 : #if IK5_ENABLED
3462 : module function getSortedIndCusComDef_D1_IK5(array, isSorted, method) result(sorting)
3463 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3464 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK5
3465 : #endif
3466 : use pm_kind, only: IKC => IK5
3467 : integer(IKC) , intent(in) , contiguous :: array(:)
3468 : procedure(logical(LK)) :: isSorted
3469 : integer(IK) :: sorting(size(array, 1, IK))
3470 : type(isort_type) , intent(in) :: method
3471 : end function
3472 : #endif
3473 :
3474 : #if IK4_ENABLED
3475 : module function getSortedIndCusComDef_D1_IK4(array, isSorted, method) result(sorting)
3476 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3477 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK4
3478 : #endif
3479 : use pm_kind, only: IKC => IK4
3480 : integer(IKC) , intent(in) , contiguous :: array(:)
3481 : procedure(logical(LK)) :: isSorted
3482 : integer(IK) :: sorting(size(array, 1, IK))
3483 : type(isort_type) , intent(in) :: method
3484 : end function
3485 : #endif
3486 :
3487 : #if IK3_ENABLED
3488 : module function getSortedIndCusComDef_D1_IK3(array, isSorted, method) result(sorting)
3489 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3490 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK3
3491 : #endif
3492 : use pm_kind, only: IKC => IK3
3493 : integer(IKC) , intent(in) , contiguous :: array(:)
3494 : procedure(logical(LK)) :: isSorted
3495 : integer(IK) :: sorting(size(array, 1, IK))
3496 : type(isort_type) , intent(in) :: method
3497 : end function
3498 : #endif
3499 :
3500 : #if IK2_ENABLED
3501 : module function getSortedIndCusComDef_D1_IK2(array, isSorted, method) result(sorting)
3502 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3503 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK2
3504 : #endif
3505 : use pm_kind, only: IKC => IK2
3506 : integer(IKC) , intent(in) , contiguous :: array(:)
3507 : procedure(logical(LK)) :: isSorted
3508 : integer(IK) :: sorting(size(array, 1, IK))
3509 : type(isort_type) , intent(in) :: method
3510 : end function
3511 : #endif
3512 :
3513 : #if IK1_ENABLED
3514 : module function getSortedIndCusComDef_D1_IK1(array, isSorted, method) result(sorting)
3515 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3516 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK1
3517 : #endif
3518 : use pm_kind, only: IKC => IK1
3519 : integer(IKC) , intent(in) , contiguous :: array(:)
3520 : procedure(logical(LK)) :: isSorted
3521 : integer(IK) :: sorting(size(array, 1, IK))
3522 : type(isort_type) , intent(in) :: method
3523 : end function
3524 : #endif
3525 :
3526 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3527 :
3528 : #if LK5_ENABLED
3529 : module function getSortedIndCusComDef_D1_LK5(array, isSorted, method) result(sorting)
3530 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3531 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK5
3532 : #endif
3533 : use pm_kind, only: LKC => LK5
3534 : logical(LKC) , intent(in) , contiguous :: array(:)
3535 : procedure(logical(LK)) :: isSorted
3536 : integer(IK) :: sorting(size(array, 1, IK))
3537 : type(isort_type) , intent(in) :: method
3538 : end function
3539 : #endif
3540 :
3541 : #if LK4_ENABLED
3542 : module function getSortedIndCusComDef_D1_LK4(array, isSorted, method) result(sorting)
3543 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3544 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK4
3545 : #endif
3546 : use pm_kind, only: LKC => LK4
3547 : logical(LKC) , intent(in) , contiguous :: array(:)
3548 : procedure(logical(LK)) :: isSorted
3549 : integer(IK) :: sorting(size(array, 1, IK))
3550 : type(isort_type) , intent(in) :: method
3551 : end function
3552 : #endif
3553 :
3554 : #if LK3_ENABLED
3555 : module function getSortedIndCusComDef_D1_LK3(array, isSorted, method) result(sorting)
3556 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3557 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK3
3558 : #endif
3559 : use pm_kind, only: LKC => LK3
3560 : logical(LKC) , intent(in) , contiguous :: array(:)
3561 : procedure(logical(LK)) :: isSorted
3562 : integer(IK) :: sorting(size(array, 1, IK))
3563 : type(isort_type) , intent(in) :: method
3564 : end function
3565 : #endif
3566 :
3567 : #if LK2_ENABLED
3568 : module function getSortedIndCusComDef_D1_LK2(array, isSorted, method) result(sorting)
3569 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3570 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK2
3571 : #endif
3572 : use pm_kind, only: LKC => LK2
3573 : logical(LKC) , intent(in) , contiguous :: array(:)
3574 : procedure(logical(LK)) :: isSorted
3575 : integer(IK) :: sorting(size(array, 1, IK))
3576 : type(isort_type) , intent(in) :: method
3577 : end function
3578 : #endif
3579 :
3580 : #if LK1_ENABLED
3581 : module function getSortedIndCusComDef_D1_LK1(array, isSorted, method) result(sorting)
3582 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3583 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK1
3584 : #endif
3585 : use pm_kind, only: LKC => LK1
3586 : logical(LKC) , intent(in) , contiguous :: array(:)
3587 : procedure(logical(LK)) :: isSorted
3588 : integer(IK) :: sorting(size(array, 1, IK))
3589 : type(isort_type) , intent(in) :: method
3590 : end function
3591 : #endif
3592 :
3593 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3594 :
3595 : #if CK5_ENABLED
3596 : module function getSortedIndCusComDef_D1_CK5(array, isSorted, method) result(sorting)
3597 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3598 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK5
3599 : #endif
3600 : use pm_kind, only: CKC => CK5
3601 : complex(CKC) , intent(in) , contiguous :: array(:)
3602 : procedure(logical(LK)) :: isSorted
3603 : integer(IK) :: sorting(size(array, 1, IK))
3604 : type(isort_type) , intent(in) :: method
3605 : end function
3606 : #endif
3607 :
3608 : #if CK4_ENABLED
3609 : module function getSortedIndCusComDef_D1_CK4(array, isSorted, method) result(sorting)
3610 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3611 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK4
3612 : #endif
3613 : use pm_kind, only: CKC => CK4
3614 : complex(CKC) , intent(in) , contiguous :: array(:)
3615 : procedure(logical(LK)) :: isSorted
3616 : integer(IK) :: sorting(size(array, 1, IK))
3617 : type(isort_type) , intent(in) :: method
3618 : end function
3619 : #endif
3620 :
3621 : #if CK3_ENABLED
3622 : module function getSortedIndCusComDef_D1_CK3(array, isSorted, method) result(sorting)
3623 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3624 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK3
3625 : #endif
3626 : use pm_kind, only: CKC => CK3
3627 : complex(CKC) , intent(in) , contiguous :: array(:)
3628 : procedure(logical(LK)) :: isSorted
3629 : integer(IK) :: sorting(size(array, 1, IK))
3630 : type(isort_type) , intent(in) :: method
3631 : end function
3632 : #endif
3633 :
3634 : #if CK2_ENABLED
3635 : module function getSortedIndCusComDef_D1_CK2(array, isSorted, method) result(sorting)
3636 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3637 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK2
3638 : #endif
3639 : use pm_kind, only: CKC => CK2
3640 : complex(CKC) , intent(in) , contiguous :: array(:)
3641 : procedure(logical(LK)) :: isSorted
3642 : integer(IK) :: sorting(size(array, 1, IK))
3643 : type(isort_type) , intent(in) :: method
3644 : end function
3645 : #endif
3646 :
3647 : #if CK1_ENABLED
3648 : module function getSortedIndCusComDef_D1_CK1(array, isSorted, method) result(sorting)
3649 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3650 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK1
3651 : #endif
3652 : use pm_kind, only: CKC => CK1
3653 : complex(CKC) , intent(in) , contiguous :: array(:)
3654 : procedure(logical(LK)) :: isSorted
3655 : integer(IK) :: sorting(size(array, 1, IK))
3656 : type(isort_type) , intent(in) :: method
3657 : end function
3658 : #endif
3659 :
3660 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3661 :
3662 : #if RK5_ENABLED
3663 : module function getSortedIndCusComDef_D1_RK5(array, isSorted, method) result(sorting)
3664 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3665 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK5
3666 : #endif
3667 : use pm_kind, only: RKC => RK5
3668 : real(RKC) , intent(in) , contiguous :: array(:)
3669 : procedure(logical(LK)) :: isSorted
3670 : integer(IK) :: sorting(size(array, 1, IK))
3671 : type(isort_type) , intent(in) :: method
3672 : end function
3673 : #endif
3674 :
3675 : #if RK4_ENABLED
3676 : module function getSortedIndCusComDef_D1_RK4(array, isSorted, method) result(sorting)
3677 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3678 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK4
3679 : #endif
3680 : use pm_kind, only: RKC => RK4
3681 : real(RKC) , intent(in) , contiguous :: array(:)
3682 : procedure(logical(LK)) :: isSorted
3683 : integer(IK) :: sorting(size(array, 1, IK))
3684 : type(isort_type) , intent(in) :: method
3685 : end function
3686 : #endif
3687 :
3688 : #if RK3_ENABLED
3689 : module function getSortedIndCusComDef_D1_RK3(array, isSorted, method) result(sorting)
3690 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3691 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK3
3692 : #endif
3693 : use pm_kind, only: RKC => RK3
3694 : real(RKC) , intent(in) , contiguous :: array(:)
3695 : procedure(logical(LK)) :: isSorted
3696 : integer(IK) :: sorting(size(array, 1, IK))
3697 : type(isort_type) , intent(in) :: method
3698 : end function
3699 : #endif
3700 :
3701 : #if RK2_ENABLED
3702 : module function getSortedIndCusComDef_D1_RK2(array, isSorted, method) result(sorting)
3703 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3704 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK2
3705 : #endif
3706 : use pm_kind, only: RKC => RK2
3707 : real(RKC) , intent(in) , contiguous :: array(:)
3708 : procedure(logical(LK)) :: isSorted
3709 : integer(IK) :: sorting(size(array, 1, IK))
3710 : type(isort_type) , intent(in) :: method
3711 : end function
3712 : #endif
3713 :
3714 : #if RK1_ENABLED
3715 : module function getSortedIndCusComDef_D1_RK1(array, isSorted, method) result(sorting)
3716 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3717 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK1
3718 : #endif
3719 : use pm_kind, only: RKC => RK1
3720 : real(RKC) , intent(in) , contiguous :: array(:)
3721 : procedure(logical(LK)) :: isSorted
3722 : integer(IK) :: sorting(size(array, 1, IK))
3723 : type(isort_type) , intent(in) :: method
3724 : end function
3725 : #endif
3726 :
3727 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3728 :
3729 : #if SK5_ENABLED
3730 : module function getSortedIndCusComDef_D1_PSSK5(array, isSorted, method) result(sorting)
3731 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3732 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK5
3733 : #endif
3734 : use pm_kind, only: SKC => SK5
3735 : use pm_container, only: css_pdt
3736 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3737 : procedure(logical(LK)) :: isSorted
3738 : integer(IK) :: sorting(size(array, 1, IK))
3739 : type(isort_type) , intent(in) :: method
3740 : end function
3741 : #endif
3742 :
3743 : #if SK4_ENABLED
3744 : module function getSortedIndCusComDef_D1_PSSK4(array, isSorted, method) result(sorting)
3745 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3746 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK4
3747 : #endif
3748 : use pm_kind, only: SKC => SK4
3749 : use pm_container, only: css_pdt
3750 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3751 : procedure(logical(LK)) :: isSorted
3752 : integer(IK) :: sorting(size(array, 1, IK))
3753 : type(isort_type) , intent(in) :: method
3754 : end function
3755 : #endif
3756 :
3757 : #if SK3_ENABLED
3758 : module function getSortedIndCusComDef_D1_PSSK3(array, isSorted, method) result(sorting)
3759 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3760 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK3
3761 : #endif
3762 : use pm_kind, only: SKC => SK3
3763 : use pm_container, only: css_pdt
3764 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3765 : procedure(logical(LK)) :: isSorted
3766 : integer(IK) :: sorting(size(array, 1, IK))
3767 : type(isort_type) , intent(in) :: method
3768 : end function
3769 : #endif
3770 :
3771 : #if SK2_ENABLED
3772 : module function getSortedIndCusComDef_D1_PSSK2(array, isSorted, method) result(sorting)
3773 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3774 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK2
3775 : #endif
3776 : use pm_kind, only: SKC => SK2
3777 : use pm_container, only: css_pdt
3778 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3779 : procedure(logical(LK)) :: isSorted
3780 : integer(IK) :: sorting(size(array, 1, IK))
3781 : type(isort_type) , intent(in) :: method
3782 : end function
3783 : #endif
3784 :
3785 : #if SK1_ENABLED
3786 : module function getSortedIndCusComDef_D1_PSSK1(array, isSorted, method) result(sorting)
3787 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3788 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK1
3789 : #endif
3790 : use pm_kind, only: SKC => SK1
3791 : use pm_container, only: css_pdt
3792 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
3793 : procedure(logical(LK)) :: isSorted
3794 : integer(IK) :: sorting(size(array, 1, IK))
3795 : type(isort_type) , intent(in) :: method
3796 : end function
3797 : #endif
3798 :
3799 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3800 :
3801 : module function getSortedIndCusComDef_D1_BSSK(array, isSorted, method) result(sorting)
3802 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3803 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_BSSK
3804 : #endif
3805 : use pm_kind, only: SKC => SK
3806 : use pm_container, only: css_type
3807 : type(css_type) , intent(in) , contiguous :: array(:)
3808 : procedure(logical(LK)) :: isSorted
3809 : integer(IK) :: sorting(size(array, 1, IK))
3810 : type(isort_type) , intent(in) :: method
3811 : end function
3812 :
3813 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3814 :
3815 : end interface
3816 :
3817 : ! getSortedArrCusComDef
3818 :
3819 : interface getSorted
3820 :
3821 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3822 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3823 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3824 :
3825 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3826 :
3827 : #if SK5_ENABLED
3828 : module function getSortedArrCusComDef_D0_SK5(array, isSorted, method) result(sorting)
3829 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3830 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK5
3831 : #endif
3832 : use pm_kind, only: SKC => SK5
3833 : character(*,SKC) , intent(in) :: array
3834 : character(len(array, IK),SKC) :: sorting
3835 : procedure(logical(LK)) :: isSorted
3836 : class(sort_type) , intent(in) , optional :: method
3837 : end function
3838 : #endif
3839 :
3840 : #if SK4_ENABLED
3841 : module function getSortedArrCusComDef_D0_SK4(array, isSorted, method) result(sorting)
3842 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3843 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK4
3844 : #endif
3845 : use pm_kind, only: SKC => SK4
3846 : character(*,SKC) , intent(in) :: array
3847 : character(len(array, IK),SKC) :: sorting
3848 : procedure(logical(LK)) :: isSorted
3849 : class(sort_type) , intent(in) , optional :: method
3850 : end function
3851 : #endif
3852 :
3853 : #if SK3_ENABLED
3854 : module function getSortedArrCusComDef_D0_SK3(array, isSorted, method) result(sorting)
3855 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3856 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK3
3857 : #endif
3858 : use pm_kind, only: SKC => SK3
3859 : character(*,SKC) , intent(in) :: array
3860 : character(len(array, IK),SKC) :: sorting
3861 : procedure(logical(LK)) :: isSorted
3862 : class(sort_type) , intent(in) , optional :: method
3863 : end function
3864 : #endif
3865 :
3866 : #if SK2_ENABLED
3867 : module function getSortedArrCusComDef_D0_SK2(array, isSorted, method) result(sorting)
3868 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3869 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK2
3870 : #endif
3871 : use pm_kind, only: SKC => SK2
3872 : character(*,SKC) , intent(in) :: array
3873 : character(len(array, IK),SKC) :: sorting
3874 : procedure(logical(LK)) :: isSorted
3875 : class(sort_type) , intent(in) , optional :: method
3876 : end function
3877 : #endif
3878 :
3879 : #if SK1_ENABLED
3880 : module function getSortedArrCusComDef_D0_SK1(array, isSorted, method) result(sorting)
3881 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3882 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK1
3883 : #endif
3884 : use pm_kind, only: SKC => SK1
3885 : character(*,SKC) , intent(in) :: array
3886 : character(len(array, IK),SKC) :: sorting
3887 : procedure(logical(LK)) :: isSorted
3888 : class(sort_type) , intent(in) , optional :: method
3889 : end function
3890 : #endif
3891 :
3892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3893 :
3894 : #if SK5_ENABLED
3895 : module function getSortedArrCusComDef_D1_SK5(array, isSorted, method) result(sorting)
3896 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3897 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK5
3898 : #endif
3899 : use pm_kind, only: SKC => SK5
3900 : character(*,SKC) , intent(in) , contiguous :: array(:)
3901 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
3902 : procedure(logical(LK)) :: isSorted
3903 : class(sort_type) , intent(in) , optional :: method
3904 : end function
3905 : #endif
3906 :
3907 : #if SK4_ENABLED
3908 : module function getSortedArrCusComDef_D1_SK4(array, isSorted, method) result(sorting)
3909 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3910 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK4
3911 : #endif
3912 : use pm_kind, only: SKC => SK4
3913 : character(*,SKC) , intent(in) , contiguous :: array(:)
3914 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
3915 : procedure(logical(LK)) :: isSorted
3916 : class(sort_type) , intent(in) , optional :: method
3917 : end function
3918 : #endif
3919 :
3920 : #if SK3_ENABLED
3921 : module function getSortedArrCusComDef_D1_SK3(array, isSorted, method) result(sorting)
3922 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3923 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK3
3924 : #endif
3925 : use pm_kind, only: SKC => SK3
3926 : character(*,SKC) , intent(in) , contiguous :: array(:)
3927 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
3928 : procedure(logical(LK)) :: isSorted
3929 : class(sort_type) , intent(in) , optional :: method
3930 : end function
3931 : #endif
3932 :
3933 : #if SK2_ENABLED
3934 : module function getSortedArrCusComDef_D1_SK2(array, isSorted, method) result(sorting)
3935 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3936 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK2
3937 : #endif
3938 : use pm_kind, only: SKC => SK2
3939 : character(*,SKC) , intent(in) , contiguous :: array(:)
3940 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
3941 : procedure(logical(LK)) :: isSorted
3942 : class(sort_type) , intent(in) , optional :: method
3943 : end function
3944 : #endif
3945 :
3946 : #if SK1_ENABLED
3947 : module function getSortedArrCusComDef_D1_SK1(array, isSorted, method) result(sorting)
3948 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3949 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK1
3950 : #endif
3951 : use pm_kind, only: SKC => SK1
3952 : character(*,SKC) , intent(in) , contiguous :: array(:)
3953 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
3954 : procedure(logical(LK)) :: isSorted
3955 : class(sort_type) , intent(in) , optional :: method
3956 : end function
3957 : #endif
3958 :
3959 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3960 :
3961 : #if IK5_ENABLED
3962 : module function getSortedArrCusComDef_D1_IK5(array, isSorted, method) result(sorting)
3963 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3964 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK5
3965 : #endif
3966 : use pm_kind, only: IKC => IK5
3967 : integer(IKC) , intent(in) , contiguous :: array(:)
3968 : integer(IKC) :: sorting(size(array, 1, IK))
3969 : procedure(logical(LK)) :: isSorted
3970 : class(sort_type) , intent(in) , optional :: method
3971 : end function
3972 : #endif
3973 :
3974 : #if IK4_ENABLED
3975 : module function getSortedArrCusComDef_D1_IK4(array, isSorted, method) result(sorting)
3976 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3977 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK4
3978 : #endif
3979 : use pm_kind, only: IKC => IK4
3980 : integer(IKC) , intent(in) , contiguous :: array(:)
3981 : integer(IKC) :: sorting(size(array, 1, IK))
3982 : procedure(logical(LK)) :: isSorted
3983 : class(sort_type) , intent(in) , optional :: method
3984 : end function
3985 : #endif
3986 :
3987 : #if IK3_ENABLED
3988 : module function getSortedArrCusComDef_D1_IK3(array, isSorted, method) result(sorting)
3989 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3990 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK3
3991 : #endif
3992 : use pm_kind, only: IKC => IK3
3993 : integer(IKC) , intent(in) , contiguous :: array(:)
3994 : integer(IKC) :: sorting(size(array, 1, IK))
3995 : procedure(logical(LK)) :: isSorted
3996 : class(sort_type) , intent(in) , optional :: method
3997 : end function
3998 : #endif
3999 :
4000 : #if IK2_ENABLED
4001 : module function getSortedArrCusComDef_D1_IK2(array, isSorted, method) result(sorting)
4002 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4003 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK2
4004 : #endif
4005 : use pm_kind, only: IKC => IK2
4006 : integer(IKC) , intent(in) , contiguous :: array(:)
4007 : integer(IKC) :: sorting(size(array, 1, IK))
4008 : procedure(logical(LK)) :: isSorted
4009 : class(sort_type) , intent(in) , optional :: method
4010 : end function
4011 : #endif
4012 :
4013 : #if IK1_ENABLED
4014 : module function getSortedArrCusComDef_D1_IK1(array, isSorted, method) result(sorting)
4015 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4016 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK1
4017 : #endif
4018 : use pm_kind, only: IKC => IK1
4019 : integer(IKC) , intent(in) , contiguous :: array(:)
4020 : integer(IKC) :: sorting(size(array, 1, IK))
4021 : procedure(logical(LK)) :: isSorted
4022 : class(sort_type) , intent(in) , optional :: method
4023 : end function
4024 : #endif
4025 :
4026 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4027 :
4028 : #if LK5_ENABLED
4029 : module function getSortedArrCusComDef_D1_LK5(array, isSorted, method) result(sorting)
4030 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4031 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK5
4032 : #endif
4033 : use pm_kind, only: LKC => LK5
4034 : logical(LKC) , intent(in) , contiguous :: array(:)
4035 : logical(LKC) :: sorting(size(array, 1, IK))
4036 : procedure(logical(LK)) :: isSorted
4037 : class(sort_type) , intent(in) , optional :: method
4038 : end function
4039 : #endif
4040 :
4041 : #if LK4_ENABLED
4042 : module function getSortedArrCusComDef_D1_LK4(array, isSorted, method) result(sorting)
4043 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4044 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK4
4045 : #endif
4046 : use pm_kind, only: LKC => LK4
4047 : logical(LKC) , intent(in) , contiguous :: array(:)
4048 : logical(LKC) :: sorting(size(array, 1, IK))
4049 : procedure(logical(LK)) :: isSorted
4050 : class(sort_type) , intent(in) , optional :: method
4051 : end function
4052 : #endif
4053 :
4054 : #if LK3_ENABLED
4055 : module function getSortedArrCusComDef_D1_LK3(array, isSorted, method) result(sorting)
4056 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4057 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK3
4058 : #endif
4059 : use pm_kind, only: LKC => LK3
4060 : logical(LKC) , intent(in) , contiguous :: array(:)
4061 : logical(LKC) :: sorting(size(array, 1, IK))
4062 : procedure(logical(LK)) :: isSorted
4063 : class(sort_type) , intent(in) , optional :: method
4064 : end function
4065 : #endif
4066 :
4067 : #if LK2_ENABLED
4068 : module function getSortedArrCusComDef_D1_LK2(array, isSorted, method) result(sorting)
4069 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4070 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK2
4071 : #endif
4072 : use pm_kind, only: LKC => LK2
4073 : logical(LKC) , intent(in) , contiguous :: array(:)
4074 : logical(LKC) :: sorting(size(array, 1, IK))
4075 : procedure(logical(LK)) :: isSorted
4076 : class(sort_type) , intent(in) , optional :: method
4077 : end function
4078 : #endif
4079 :
4080 : #if LK1_ENABLED
4081 : module function getSortedArrCusComDef_D1_LK1(array, isSorted, method) result(sorting)
4082 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4083 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK1
4084 : #endif
4085 : use pm_kind, only: LKC => LK1
4086 : logical(LKC) , intent(in) , contiguous :: array(:)
4087 : logical(LKC) :: sorting(size(array, 1, IK))
4088 : procedure(logical(LK)) :: isSorted
4089 : class(sort_type) , intent(in) , optional :: method
4090 : end function
4091 : #endif
4092 :
4093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4094 :
4095 : #if CK5_ENABLED
4096 : module function getSortedArrCusComDef_D1_CK5(array, isSorted, method) result(sorting)
4097 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4098 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK5
4099 : #endif
4100 : use pm_kind, only: CKC => CK5
4101 : complex(CKC) , intent(in) , contiguous :: array(:)
4102 : complex(CKC) :: sorting(size(array, 1, IK))
4103 : procedure(logical(LK)) :: isSorted
4104 : class(sort_type) , intent(in) , optional :: method
4105 : end function
4106 : #endif
4107 :
4108 : #if CK4_ENABLED
4109 : module function getSortedArrCusComDef_D1_CK4(array, isSorted, method) result(sorting)
4110 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4111 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK4
4112 : #endif
4113 : use pm_kind, only: CKC => CK4
4114 : complex(CKC) , intent(in) , contiguous :: array(:)
4115 : complex(CKC) :: sorting(size(array, 1, IK))
4116 : procedure(logical(LK)) :: isSorted
4117 : class(sort_type) , intent(in) , optional :: method
4118 : end function
4119 : #endif
4120 :
4121 : #if CK3_ENABLED
4122 : module function getSortedArrCusComDef_D1_CK3(array, isSorted, method) result(sorting)
4123 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4124 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK3
4125 : #endif
4126 : use pm_kind, only: CKC => CK3
4127 : complex(CKC) , intent(in) , contiguous :: array(:)
4128 : complex(CKC) :: sorting(size(array, 1, IK))
4129 : procedure(logical(LK)) :: isSorted
4130 : class(sort_type) , intent(in) , optional :: method
4131 : end function
4132 : #endif
4133 :
4134 : #if CK2_ENABLED
4135 : module function getSortedArrCusComDef_D1_CK2(array, isSorted, method) result(sorting)
4136 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4137 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK2
4138 : #endif
4139 : use pm_kind, only: CKC => CK2
4140 : complex(CKC) , intent(in) , contiguous :: array(:)
4141 : complex(CKC) :: sorting(size(array, 1, IK))
4142 : procedure(logical(LK)) :: isSorted
4143 : class(sort_type) , intent(in) , optional :: method
4144 : end function
4145 : #endif
4146 :
4147 : #if CK1_ENABLED
4148 : module function getSortedArrCusComDef_D1_CK1(array, isSorted, method) result(sorting)
4149 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4150 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK1
4151 : #endif
4152 : use pm_kind, only: CKC => CK1
4153 : complex(CKC) , intent(in) , contiguous :: array(:)
4154 : complex(CKC) :: sorting(size(array, 1, IK))
4155 : procedure(logical(LK)) :: isSorted
4156 : class(sort_type) , intent(in) , optional :: method
4157 : end function
4158 : #endif
4159 :
4160 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4161 :
4162 : #if RK5_ENABLED
4163 : module function getSortedArrCusComDef_D1_RK5(array, isSorted, method) result(sorting)
4164 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4165 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK5
4166 : #endif
4167 : use pm_kind, only: RKC => RK5
4168 : real(RKC) , intent(in) , contiguous :: array(:)
4169 : real(RKC) :: sorting(size(array, 1, IK))
4170 : procedure(logical(LK)) :: isSorted
4171 : class(sort_type) , intent(in) , optional :: method
4172 : end function
4173 : #endif
4174 :
4175 : #if RK4_ENABLED
4176 : module function getSortedArrCusComDef_D1_RK4(array, isSorted, method) result(sorting)
4177 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4178 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK4
4179 : #endif
4180 : use pm_kind, only: RKC => RK4
4181 : real(RKC) , intent(in) , contiguous :: array(:)
4182 : real(RKC) :: sorting(size(array, 1, IK))
4183 : procedure(logical(LK)) :: isSorted
4184 : class(sort_type) , intent(in) , optional :: method
4185 : end function
4186 : #endif
4187 :
4188 : #if RK3_ENABLED
4189 : module function getSortedArrCusComDef_D1_RK3(array, isSorted, method) result(sorting)
4190 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4191 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK3
4192 : #endif
4193 : use pm_kind, only: RKC => RK3
4194 : real(RKC) , intent(in) , contiguous :: array(:)
4195 : real(RKC) :: sorting(size(array, 1, IK))
4196 : procedure(logical(LK)) :: isSorted
4197 : class(sort_type) , intent(in) , optional :: method
4198 : end function
4199 : #endif
4200 :
4201 : #if RK2_ENABLED
4202 : module function getSortedArrCusComDef_D1_RK2(array, isSorted, method) result(sorting)
4203 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4204 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK2
4205 : #endif
4206 : use pm_kind, only: RKC => RK2
4207 : real(RKC) , intent(in) , contiguous :: array(:)
4208 : real(RKC) :: sorting(size(array, 1, IK))
4209 : procedure(logical(LK)) :: isSorted
4210 : class(sort_type) , intent(in) , optional :: method
4211 : end function
4212 : #endif
4213 :
4214 : #if RK1_ENABLED
4215 : module function getSortedArrCusComDef_D1_RK1(array, isSorted, method) result(sorting)
4216 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4217 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK1
4218 : #endif
4219 : use pm_kind, only: RKC => RK1
4220 : real(RKC) , intent(in) , contiguous :: array(:)
4221 : real(RKC) :: sorting(size(array, 1, IK))
4222 : procedure(logical(LK)) :: isSorted
4223 : class(sort_type) , intent(in) , optional :: method
4224 : end function
4225 : #endif
4226 :
4227 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4228 :
4229 : #if SK5_ENABLED
4230 : module function getSortedArrCusComDef_D1_PSSK5(array, isSorted, method) result(sorting)
4231 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4232 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK5
4233 : #endif
4234 : use pm_kind, only: SKC => SK5
4235 : use pm_container, only: css_pdt
4236 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4237 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
4238 : procedure(logical(LK)) :: isSorted
4239 : class(sort_type) , intent(in) , optional :: method
4240 : end function
4241 : #endif
4242 :
4243 : #if SK4_ENABLED
4244 : module function getSortedArrCusComDef_D1_PSSK4(array, isSorted, method) result(sorting)
4245 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4246 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK4
4247 : #endif
4248 : use pm_kind, only: SKC => SK4
4249 : use pm_container, only: css_pdt
4250 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4251 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
4252 : procedure(logical(LK)) :: isSorted
4253 : class(sort_type) , intent(in) , optional :: method
4254 : end function
4255 : #endif
4256 :
4257 : #if SK3_ENABLED
4258 : module function getSortedArrCusComDef_D1_PSSK3(array, isSorted, method) result(sorting)
4259 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4260 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK3
4261 : #endif
4262 : use pm_kind, only: SKC => SK3
4263 : use pm_container, only: css_pdt
4264 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4265 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
4266 : procedure(logical(LK)) :: isSorted
4267 : class(sort_type) , intent(in) , optional :: method
4268 : end function
4269 : #endif
4270 :
4271 : #if SK2_ENABLED
4272 : module function getSortedArrCusComDef_D1_PSSK2(array, isSorted, method) result(sorting)
4273 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4274 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK2
4275 : #endif
4276 : use pm_kind, only: SKC => SK2
4277 : use pm_container, only: css_pdt
4278 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4279 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
4280 : procedure(logical(LK)) :: isSorted
4281 : class(sort_type) , intent(in) , optional :: method
4282 : end function
4283 : #endif
4284 :
4285 : #if SK1_ENABLED
4286 : module function getSortedArrCusComDef_D1_PSSK1(array, isSorted, method) result(sorting)
4287 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4288 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK1
4289 : #endif
4290 : use pm_kind, only: SKC => SK1
4291 : use pm_container, only: css_pdt
4292 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4293 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
4294 : procedure(logical(LK)) :: isSorted
4295 : class(sort_type) , intent(in) , optional :: method
4296 : end function
4297 : #endif
4298 :
4299 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4300 :
4301 : module function getSortedArrCusComDef_D1_BSSK(array, isSorted, method) result(sorting)
4302 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4303 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_BSSK
4304 : #endif
4305 : use pm_kind, only: SKC => SK
4306 : use pm_container, only: css_type
4307 : type(css_type) , intent(in) , contiguous :: array(:)
4308 : type(css_type) :: sorting(size(array, 1, IK))
4309 : procedure(logical(LK)) :: isSorted
4310 : class(sort_type) , intent(in) , optional :: method
4311 : end function
4312 :
4313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4314 :
4315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4316 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4318 :
4319 : end interface
4320 :
4321 : ! getSortedIndDefComDef
4322 :
4323 : interface getSorted
4324 :
4325 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4326 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4328 :
4329 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4330 :
4331 : #if SK5_ENABLED
4332 : module function getSortedIndDefComDef_D0_SK5(array, method) result(sorting)
4333 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4334 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK5
4335 : #endif
4336 : use pm_kind, only: SKC => SK5
4337 : character(*,SKC) , intent(in) :: array
4338 : integer(IK) :: sorting(len(array, IK))
4339 : type(isort_type) , intent(in) :: method
4340 : end function
4341 : #endif
4342 :
4343 : #if SK4_ENABLED
4344 : module function getSortedIndDefComDef_D0_SK4(array, method) result(sorting)
4345 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4346 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK4
4347 : #endif
4348 : use pm_kind, only: SKC => SK4
4349 : character(*,SKC) , intent(in) :: array
4350 : integer(IK) :: sorting(len(array, IK))
4351 : type(isort_type) , intent(in) :: method
4352 : end function
4353 : #endif
4354 :
4355 : #if SK3_ENABLED
4356 : module function getSortedIndDefComDef_D0_SK3(array, method) result(sorting)
4357 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4358 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK3
4359 : #endif
4360 : use pm_kind, only: SKC => SK3
4361 : character(*,SKC) , intent(in) :: array
4362 : integer(IK) :: sorting(len(array, IK))
4363 : type(isort_type) , intent(in) :: method
4364 : end function
4365 : #endif
4366 :
4367 : #if SK2_ENABLED
4368 : module function getSortedIndDefComDef_D0_SK2(array, method) result(sorting)
4369 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4370 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK2
4371 : #endif
4372 : use pm_kind, only: SKC => SK2
4373 : character(*,SKC) , intent(in) :: array
4374 : integer(IK) :: sorting(len(array, IK))
4375 : type(isort_type) , intent(in) :: method
4376 : end function
4377 : #endif
4378 :
4379 : #if SK1_ENABLED
4380 : module function getSortedIndDefComDef_D0_SK1(array, method) result(sorting)
4381 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4382 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK1
4383 : #endif
4384 : use pm_kind, only: SKC => SK1
4385 : character(*,SKC) , intent(in) :: array
4386 : integer(IK) :: sorting(len(array, IK))
4387 : type(isort_type) , intent(in) :: method
4388 : end function
4389 : #endif
4390 :
4391 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4392 :
4393 : #if SK5_ENABLED
4394 : module function getSortedIndDefComDef_D1_SK5(array, method) result(sorting)
4395 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4396 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK5
4397 : #endif
4398 : use pm_kind, only: SKC => SK5
4399 : character(*,SKC) , intent(in) , contiguous :: array(:)
4400 : integer(IK) :: sorting(size(array, 1, IK))
4401 : type(isort_type) , intent(in) :: method
4402 : end function
4403 : #endif
4404 :
4405 : #if SK4_ENABLED
4406 : module function getSortedIndDefComDef_D1_SK4(array, method) result(sorting)
4407 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4408 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK4
4409 : #endif
4410 : use pm_kind, only: SKC => SK4
4411 : character(*,SKC) , intent(in) , contiguous :: array(:)
4412 : integer(IK) :: sorting(size(array, 1, IK))
4413 : type(isort_type) , intent(in) :: method
4414 : end function
4415 : #endif
4416 :
4417 : #if SK3_ENABLED
4418 : module function getSortedIndDefComDef_D1_SK3(array, method) result(sorting)
4419 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4420 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK3
4421 : #endif
4422 : use pm_kind, only: SKC => SK3
4423 : character(*,SKC) , intent(in) , contiguous :: array(:)
4424 : integer(IK) :: sorting(size(array, 1, IK))
4425 : type(isort_type) , intent(in) :: method
4426 : end function
4427 : #endif
4428 :
4429 : #if SK2_ENABLED
4430 : module function getSortedIndDefComDef_D1_SK2(array, method) result(sorting)
4431 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4432 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK2
4433 : #endif
4434 : use pm_kind, only: SKC => SK2
4435 : character(*,SKC) , intent(in) , contiguous :: array(:)
4436 : integer(IK) :: sorting(size(array, 1, IK))
4437 : type(isort_type) , intent(in) :: method
4438 : end function
4439 : #endif
4440 :
4441 : #if SK1_ENABLED
4442 : module function getSortedIndDefComDef_D1_SK1(array, method) result(sorting)
4443 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4444 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK1
4445 : #endif
4446 : use pm_kind, only: SKC => SK1
4447 : character(*,SKC) , intent(in) , contiguous :: array(:)
4448 : integer(IK) :: sorting(size(array, 1, IK))
4449 : type(isort_type) , intent(in) :: method
4450 : end function
4451 : #endif
4452 :
4453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4454 :
4455 : #if IK5_ENABLED
4456 : module function getSortedIndDefComDef_D1_IK5(array, method) result(sorting)
4457 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4458 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK5
4459 : #endif
4460 : use pm_kind, only: IKC => IK5
4461 : integer(IKC) , intent(in) , contiguous :: array(:)
4462 : integer(IK) :: sorting(size(array, 1, IK))
4463 : type(isort_type) , intent(in) :: method
4464 : end function
4465 : #endif
4466 :
4467 : #if IK4_ENABLED
4468 : module function getSortedIndDefComDef_D1_IK4(array, method) result(sorting)
4469 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4470 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK4
4471 : #endif
4472 : use pm_kind, only: IKC => IK4
4473 : integer(IKC) , intent(in) , contiguous :: array(:)
4474 : integer(IK) :: sorting(size(array, 1, IK))
4475 : type(isort_type) , intent(in) :: method
4476 : end function
4477 : #endif
4478 :
4479 : #if IK3_ENABLED
4480 : module function getSortedIndDefComDef_D1_IK3(array, method) result(sorting)
4481 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4482 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK3
4483 : #endif
4484 : use pm_kind, only: IKC => IK3
4485 : integer(IKC) , intent(in) , contiguous :: array(:)
4486 : integer(IK) :: sorting(size(array, 1, IK))
4487 : type(isort_type) , intent(in) :: method
4488 : end function
4489 : #endif
4490 :
4491 : #if IK2_ENABLED
4492 : module function getSortedIndDefComDef_D1_IK2(array, method) result(sorting)
4493 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4494 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK2
4495 : #endif
4496 : use pm_kind, only: IKC => IK2
4497 : integer(IKC) , intent(in) , contiguous :: array(:)
4498 : integer(IK) :: sorting(size(array, 1, IK))
4499 : type(isort_type) , intent(in) :: method
4500 : end function
4501 : #endif
4502 :
4503 : #if IK1_ENABLED
4504 : module function getSortedIndDefComDef_D1_IK1(array, method) result(sorting)
4505 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4506 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK1
4507 : #endif
4508 : use pm_kind, only: IKC => IK1
4509 : integer(IKC) , intent(in) , contiguous :: array(:)
4510 : integer(IK) :: sorting(size(array, 1, IK))
4511 : type(isort_type) , intent(in) :: method
4512 : end function
4513 : #endif
4514 :
4515 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4516 :
4517 : #if LK5_ENABLED
4518 : module function getSortedIndDefComDef_D1_LK5(array, method) result(sorting)
4519 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4520 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK5
4521 : #endif
4522 : use pm_kind, only: LKC => LK5
4523 : logical(LKC) , intent(in) , contiguous :: array(:)
4524 : integer(IK) :: sorting(size(array, 1, IK))
4525 : type(isort_type) , intent(in) :: method
4526 : end function
4527 : #endif
4528 :
4529 : #if LK4_ENABLED
4530 : module function getSortedIndDefComDef_D1_LK4(array, method) result(sorting)
4531 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4532 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK4
4533 : #endif
4534 : use pm_kind, only: LKC => LK4
4535 : logical(LKC) , intent(in) , contiguous :: array(:)
4536 : integer(IK) :: sorting(size(array, 1, IK))
4537 : type(isort_type) , intent(in) :: method
4538 : end function
4539 : #endif
4540 :
4541 : #if LK3_ENABLED
4542 : module function getSortedIndDefComDef_D1_LK3(array, method) result(sorting)
4543 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4544 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK3
4545 : #endif
4546 : use pm_kind, only: LKC => LK3
4547 : logical(LKC) , intent(in) , contiguous :: array(:)
4548 : integer(IK) :: sorting(size(array, 1, IK))
4549 : type(isort_type) , intent(in) :: method
4550 : end function
4551 : #endif
4552 :
4553 : #if LK2_ENABLED
4554 : module function getSortedIndDefComDef_D1_LK2(array, method) result(sorting)
4555 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4556 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK2
4557 : #endif
4558 : use pm_kind, only: LKC => LK2
4559 : logical(LKC) , intent(in) , contiguous :: array(:)
4560 : integer(IK) :: sorting(size(array, 1, IK))
4561 : type(isort_type) , intent(in) :: method
4562 : end function
4563 : #endif
4564 :
4565 : #if LK1_ENABLED
4566 : module function getSortedIndDefComDef_D1_LK1(array, method) result(sorting)
4567 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4568 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK1
4569 : #endif
4570 : use pm_kind, only: LKC => LK1
4571 : logical(LKC) , intent(in) , contiguous :: array(:)
4572 : integer(IK) :: sorting(size(array, 1, IK))
4573 : type(isort_type) , intent(in) :: method
4574 : end function
4575 : #endif
4576 :
4577 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4578 :
4579 : #if CK5_ENABLED
4580 : module function getSortedIndDefComDef_D1_CK5(array, method) result(sorting)
4581 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4582 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK5
4583 : #endif
4584 : use pm_kind, only: CKC => CK5
4585 : complex(CKC) , intent(in) , contiguous :: array(:)
4586 : integer(IK) :: sorting(size(array, 1, IK))
4587 : type(isort_type) , intent(in) :: method
4588 : end function
4589 : #endif
4590 :
4591 : #if CK4_ENABLED
4592 : module function getSortedIndDefComDef_D1_CK4(array, method) result(sorting)
4593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4594 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK4
4595 : #endif
4596 : use pm_kind, only: CKC => CK4
4597 : complex(CKC) , intent(in) , contiguous :: array(:)
4598 : integer(IK) :: sorting(size(array, 1, IK))
4599 : type(isort_type) , intent(in) :: method
4600 : end function
4601 : #endif
4602 :
4603 : #if CK3_ENABLED
4604 : module function getSortedIndDefComDef_D1_CK3(array, method) result(sorting)
4605 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4606 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK3
4607 : #endif
4608 : use pm_kind, only: CKC => CK3
4609 : complex(CKC) , intent(in) , contiguous :: array(:)
4610 : integer(IK) :: sorting(size(array, 1, IK))
4611 : type(isort_type) , intent(in) :: method
4612 : end function
4613 : #endif
4614 :
4615 : #if CK2_ENABLED
4616 : module function getSortedIndDefComDef_D1_CK2(array, method) result(sorting)
4617 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4618 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK2
4619 : #endif
4620 : use pm_kind, only: CKC => CK2
4621 : complex(CKC) , intent(in) , contiguous :: array(:)
4622 : integer(IK) :: sorting(size(array, 1, IK))
4623 : type(isort_type) , intent(in) :: method
4624 : end function
4625 : #endif
4626 :
4627 : #if CK1_ENABLED
4628 : module function getSortedIndDefComDef_D1_CK1(array, method) result(sorting)
4629 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4630 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK1
4631 : #endif
4632 : use pm_kind, only: CKC => CK1
4633 : complex(CKC) , intent(in) , contiguous :: array(:)
4634 : integer(IK) :: sorting(size(array, 1, IK))
4635 : type(isort_type) , intent(in) :: method
4636 : end function
4637 : #endif
4638 :
4639 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4640 :
4641 : #if RK5_ENABLED
4642 : module function getSortedIndDefComDef_D1_RK5(array, method) result(sorting)
4643 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4644 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK5
4645 : #endif
4646 : use pm_kind, only: RKC => RK5
4647 : real(RKC) , intent(in) , contiguous :: array(:)
4648 : integer(IK) :: sorting(size(array, 1, IK))
4649 : type(isort_type) , intent(in) :: method
4650 : end function
4651 : #endif
4652 :
4653 : #if RK4_ENABLED
4654 : module function getSortedIndDefComDef_D1_RK4(array, method) result(sorting)
4655 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4656 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK4
4657 : #endif
4658 : use pm_kind, only: RKC => RK4
4659 : real(RKC) , intent(in) , contiguous :: array(:)
4660 : integer(IK) :: sorting(size(array, 1, IK))
4661 : type(isort_type) , intent(in) :: method
4662 : end function
4663 : #endif
4664 :
4665 : #if RK3_ENABLED
4666 : module function getSortedIndDefComDef_D1_RK3(array, method) result(sorting)
4667 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4668 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK3
4669 : #endif
4670 : use pm_kind, only: RKC => RK3
4671 : real(RKC) , intent(in) , contiguous :: array(:)
4672 : integer(IK) :: sorting(size(array, 1, IK))
4673 : type(isort_type) , intent(in) :: method
4674 : end function
4675 : #endif
4676 :
4677 : #if RK2_ENABLED
4678 : module function getSortedIndDefComDef_D1_RK2(array, method) result(sorting)
4679 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4680 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK2
4681 : #endif
4682 : use pm_kind, only: RKC => RK2
4683 : real(RKC) , intent(in) , contiguous :: array(:)
4684 : integer(IK) :: sorting(size(array, 1, IK))
4685 : type(isort_type) , intent(in) :: method
4686 : end function
4687 : #endif
4688 :
4689 : #if RK1_ENABLED
4690 : module function getSortedIndDefComDef_D1_RK1(array, method) result(sorting)
4691 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4692 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK1
4693 : #endif
4694 : use pm_kind, only: RKC => RK1
4695 : real(RKC) , intent(in) , contiguous :: array(:)
4696 : integer(IK) :: sorting(size(array, 1, IK))
4697 : type(isort_type) , intent(in) :: method
4698 : end function
4699 : #endif
4700 :
4701 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4702 :
4703 : #if SK5_ENABLED
4704 : module function getSortedIndDefComDef_D1_PSSK5(array, method) result(sorting)
4705 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4706 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK5
4707 : #endif
4708 : use pm_kind, only: SKC => SK5
4709 : use pm_container, only: css_pdt
4710 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4711 : integer(IK) :: sorting(size(array, 1, IK))
4712 : type(isort_type) , intent(in) :: method
4713 : end function
4714 : #endif
4715 :
4716 : #if SK4_ENABLED
4717 : module function getSortedIndDefComDef_D1_PSSK4(array, method) result(sorting)
4718 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4719 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK4
4720 : #endif
4721 : use pm_kind, only: SKC => SK4
4722 : use pm_container, only: css_pdt
4723 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4724 : integer(IK) :: sorting(size(array, 1, IK))
4725 : type(isort_type) , intent(in) :: method
4726 : end function
4727 : #endif
4728 :
4729 : #if SK3_ENABLED
4730 : module function getSortedIndDefComDef_D1_PSSK3(array, method) result(sorting)
4731 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4732 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK3
4733 : #endif
4734 : use pm_kind, only: SKC => SK3
4735 : use pm_container, only: css_pdt
4736 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4737 : integer(IK) :: sorting(size(array, 1, IK))
4738 : type(isort_type) , intent(in) :: method
4739 : end function
4740 : #endif
4741 :
4742 : #if SK2_ENABLED
4743 : module function getSortedIndDefComDef_D1_PSSK2(array, method) result(sorting)
4744 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4745 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK2
4746 : #endif
4747 : use pm_kind, only: SKC => SK2
4748 : use pm_container, only: css_pdt
4749 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4750 : integer(IK) :: sorting(size(array, 1, IK))
4751 : type(isort_type) , intent(in) :: method
4752 : end function
4753 : #endif
4754 :
4755 : #if SK1_ENABLED
4756 : module function getSortedIndDefComDef_D1_PSSK1(array, method) result(sorting)
4757 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4758 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK1
4759 : #endif
4760 : use pm_kind, only: SKC => SK1
4761 : use pm_container, only: css_pdt
4762 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
4763 : integer(IK) :: sorting(size(array, 1, IK))
4764 : type(isort_type) , intent(in) :: method
4765 : end function
4766 : #endif
4767 :
4768 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4769 :
4770 : module function getSortedIndDefComDef_D1_BSSK(array, method) result(sorting)
4771 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4772 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_BSSK
4773 : #endif
4774 : use pm_kind, only: SKC => SK
4775 : use pm_container, only: css_type
4776 : type(css_type) , intent(in) , contiguous :: array(:)
4777 : integer(IK) :: sorting(size(array, 1, IK))
4778 : type(isort_type) , intent(in) :: method
4779 : end function
4780 :
4781 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4782 :
4783 : end interface
4784 :
4785 : ! getSortedArrDefComDef
4786 :
4787 : interface getSorted
4788 :
4789 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4790 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4791 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4792 :
4793 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4794 :
4795 : #if SK5_ENABLED
4796 : module function getSortedArrDefComDef_D0_SK5(array, method) result(sorting)
4797 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4798 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK5
4799 : #endif
4800 : use pm_kind, only: SKC => SK5
4801 : character(*,SKC) , intent(in) :: array
4802 : character(len(array, IK),SKC) :: sorting
4803 : class(sort_type) , intent(in) , optional :: method
4804 : end function
4805 : #endif
4806 :
4807 : #if SK4_ENABLED
4808 : module function getSortedArrDefComDef_D0_SK4(array, method) result(sorting)
4809 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4810 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK4
4811 : #endif
4812 : use pm_kind, only: SKC => SK4
4813 : character(*,SKC) , intent(in) :: array
4814 : character(len(array, IK),SKC) :: sorting
4815 : class(sort_type) , intent(in) , optional :: method
4816 : end function
4817 : #endif
4818 :
4819 : #if SK3_ENABLED
4820 : module function getSortedArrDefComDef_D0_SK3(array, method) result(sorting)
4821 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4822 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK3
4823 : #endif
4824 : use pm_kind, only: SKC => SK3
4825 : character(*,SKC) , intent(in) :: array
4826 : character(len(array, IK),SKC) :: sorting
4827 : class(sort_type) , intent(in) , optional :: method
4828 : end function
4829 : #endif
4830 :
4831 : #if SK2_ENABLED
4832 : module function getSortedArrDefComDef_D0_SK2(array, method) result(sorting)
4833 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4834 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK2
4835 : #endif
4836 : use pm_kind, only: SKC => SK2
4837 : character(*,SKC) , intent(in) :: array
4838 : character(len(array, IK),SKC) :: sorting
4839 : class(sort_type) , intent(in) , optional :: method
4840 : end function
4841 : #endif
4842 :
4843 : #if SK1_ENABLED
4844 : module function getSortedArrDefComDef_D0_SK1(array, method) result(sorting)
4845 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4846 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK1
4847 : #endif
4848 : use pm_kind, only: SKC => SK1
4849 : character(*,SKC) , intent(in) :: array
4850 : character(len(array, IK),SKC) :: sorting
4851 : class(sort_type) , intent(in) , optional :: method
4852 : end function
4853 : #endif
4854 :
4855 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4856 :
4857 : #if SK5_ENABLED
4858 : module function getSortedArrDefComDef_D1_SK5(array, method) result(sorting)
4859 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4860 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK5
4861 : #endif
4862 : use pm_kind, only: SKC => SK5
4863 : character(*,SKC) , intent(in) , contiguous :: array(:)
4864 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
4865 : class(sort_type) , intent(in) , optional :: method
4866 : end function
4867 : #endif
4868 :
4869 : #if SK4_ENABLED
4870 : module function getSortedArrDefComDef_D1_SK4(array, method) result(sorting)
4871 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4872 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK4
4873 : #endif
4874 : use pm_kind, only: SKC => SK4
4875 : character(*,SKC) , intent(in) , contiguous :: array(:)
4876 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
4877 : class(sort_type) , intent(in) , optional :: method
4878 : end function
4879 : #endif
4880 :
4881 : #if SK3_ENABLED
4882 : module function getSortedArrDefComDef_D1_SK3(array, method) result(sorting)
4883 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4884 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK3
4885 : #endif
4886 : use pm_kind, only: SKC => SK3
4887 : character(*,SKC) , intent(in) , contiguous :: array(:)
4888 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
4889 : class(sort_type) , intent(in) , optional :: method
4890 : end function
4891 : #endif
4892 :
4893 : #if SK2_ENABLED
4894 : module function getSortedArrDefComDef_D1_SK2(array, method) result(sorting)
4895 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4896 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK2
4897 : #endif
4898 : use pm_kind, only: SKC => SK2
4899 : character(*,SKC) , intent(in) , contiguous :: array(:)
4900 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
4901 : class(sort_type) , intent(in) , optional :: method
4902 : end function
4903 : #endif
4904 :
4905 : #if SK1_ENABLED
4906 : module function getSortedArrDefComDef_D1_SK1(array, method) result(sorting)
4907 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4908 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK1
4909 : #endif
4910 : use pm_kind, only: SKC => SK1
4911 : character(*,SKC) , intent(in) , contiguous :: array(:)
4912 : character(len(array, IK),SKC) :: sorting(size(array, 1, IK))
4913 : class(sort_type) , intent(in) , optional :: method
4914 : end function
4915 : #endif
4916 :
4917 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4918 :
4919 : #if IK5_ENABLED
4920 : module function getSortedArrDefComDef_D1_IK5(array, method) result(sorting)
4921 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4922 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK5
4923 : #endif
4924 : use pm_kind, only: IKC => IK5
4925 : integer(IKC) , intent(in) , contiguous :: array(:)
4926 : integer(IKC) :: sorting(size(array, 1, IK))
4927 : class(sort_type) , intent(in) , optional :: method
4928 : end function
4929 : #endif
4930 :
4931 : #if IK4_ENABLED
4932 : module function getSortedArrDefComDef_D1_IK4(array, method) result(sorting)
4933 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4934 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK4
4935 : #endif
4936 : use pm_kind, only: IKC => IK4
4937 : integer(IKC) , intent(in) , contiguous :: array(:)
4938 : integer(IKC) :: sorting(size(array, 1, IK))
4939 : class(sort_type) , intent(in) , optional :: method
4940 : end function
4941 : #endif
4942 :
4943 : #if IK3_ENABLED
4944 : module function getSortedArrDefComDef_D1_IK3(array, method) result(sorting)
4945 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4946 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK3
4947 : #endif
4948 : use pm_kind, only: IKC => IK3
4949 : integer(IKC) , intent(in) , contiguous :: array(:)
4950 : integer(IKC) :: sorting(size(array, 1, IK))
4951 : class(sort_type) , intent(in) , optional :: method
4952 : end function
4953 : #endif
4954 :
4955 : #if IK2_ENABLED
4956 : module function getSortedArrDefComDef_D1_IK2(array, method) result(sorting)
4957 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4958 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK2
4959 : #endif
4960 : use pm_kind, only: IKC => IK2
4961 : integer(IKC) , intent(in) , contiguous :: array(:)
4962 : integer(IKC) :: sorting(size(array, 1, IK))
4963 : class(sort_type) , intent(in) , optional :: method
4964 : end function
4965 : #endif
4966 :
4967 : #if IK1_ENABLED
4968 : module function getSortedArrDefComDef_D1_IK1(array, method) result(sorting)
4969 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4970 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK1
4971 : #endif
4972 : use pm_kind, only: IKC => IK1
4973 : integer(IKC) , intent(in) , contiguous :: array(:)
4974 : integer(IKC) :: sorting(size(array, 1, IK))
4975 : class(sort_type) , intent(in) , optional :: method
4976 : end function
4977 : #endif
4978 :
4979 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4980 :
4981 : #if LK5_ENABLED
4982 : module function getSortedArrDefComDef_D1_LK5(array, method) result(sorting)
4983 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4984 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK5
4985 : #endif
4986 : use pm_kind, only: LKC => LK5
4987 : logical(LKC) , intent(in) , contiguous :: array(:)
4988 : logical(LKC) :: sorting(size(array, 1, IK))
4989 : class(sort_type) , intent(in) , optional :: method
4990 : end function
4991 : #endif
4992 :
4993 : #if LK4_ENABLED
4994 : module function getSortedArrDefComDef_D1_LK4(array, method) result(sorting)
4995 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4996 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK4
4997 : #endif
4998 : use pm_kind, only: LKC => LK4
4999 : logical(LKC) , intent(in) , contiguous :: array(:)
5000 : logical(LKC) :: sorting(size(array, 1, IK))
5001 : class(sort_type) , intent(in) , optional :: method
5002 : end function
5003 : #endif
5004 :
5005 : #if LK3_ENABLED
5006 : module function getSortedArrDefComDef_D1_LK3(array, method) result(sorting)
5007 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5008 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK3
5009 : #endif
5010 : use pm_kind, only: LKC => LK3
5011 : logical(LKC) , intent(in) , contiguous :: array(:)
5012 : logical(LKC) :: sorting(size(array, 1, IK))
5013 : class(sort_type) , intent(in) , optional :: method
5014 : end function
5015 : #endif
5016 :
5017 : #if LK2_ENABLED
5018 : module function getSortedArrDefComDef_D1_LK2(array, method) result(sorting)
5019 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5020 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK2
5021 : #endif
5022 : use pm_kind, only: LKC => LK2
5023 : logical(LKC) , intent(in) , contiguous :: array(:)
5024 : logical(LKC) :: sorting(size(array, 1, IK))
5025 : class(sort_type) , intent(in) , optional :: method
5026 : end function
5027 : #endif
5028 :
5029 : #if LK1_ENABLED
5030 : module function getSortedArrDefComDef_D1_LK1(array, method) result(sorting)
5031 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5032 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK1
5033 : #endif
5034 : use pm_kind, only: LKC => LK1
5035 : logical(LKC) , intent(in) , contiguous :: array(:)
5036 : logical(LKC) :: sorting(size(array, 1, IK))
5037 : class(sort_type) , intent(in) , optional :: method
5038 : end function
5039 : #endif
5040 :
5041 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5042 :
5043 : #if CK5_ENABLED
5044 : module function getSortedArrDefComDef_D1_CK5(array, method) result(sorting)
5045 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5046 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK5
5047 : #endif
5048 : use pm_kind, only: CKC => CK5
5049 : complex(CKC) , intent(in) , contiguous :: array(:)
5050 : complex(CKC) :: sorting(size(array, 1, IK))
5051 : class(sort_type) , intent(in) , optional :: method
5052 : end function
5053 : #endif
5054 :
5055 : #if CK4_ENABLED
5056 : module function getSortedArrDefComDef_D1_CK4(array, method) result(sorting)
5057 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5058 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK4
5059 : #endif
5060 : use pm_kind, only: CKC => CK4
5061 : complex(CKC) , intent(in) , contiguous :: array(:)
5062 : complex(CKC) :: sorting(size(array, 1, IK))
5063 : class(sort_type) , intent(in) , optional :: method
5064 : end function
5065 : #endif
5066 :
5067 : #if CK3_ENABLED
5068 : module function getSortedArrDefComDef_D1_CK3(array, method) result(sorting)
5069 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5070 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK3
5071 : #endif
5072 : use pm_kind, only: CKC => CK3
5073 : complex(CKC) , intent(in) , contiguous :: array(:)
5074 : complex(CKC) :: sorting(size(array, 1, IK))
5075 : class(sort_type) , intent(in) , optional :: method
5076 : end function
5077 : #endif
5078 :
5079 : #if CK2_ENABLED
5080 : module function getSortedArrDefComDef_D1_CK2(array, method) result(sorting)
5081 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5082 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK2
5083 : #endif
5084 : use pm_kind, only: CKC => CK2
5085 : complex(CKC) , intent(in) , contiguous :: array(:)
5086 : complex(CKC) :: sorting(size(array, 1, IK))
5087 : class(sort_type) , intent(in) , optional :: method
5088 : end function
5089 : #endif
5090 :
5091 : #if CK1_ENABLED
5092 : module function getSortedArrDefComDef_D1_CK1(array, method) result(sorting)
5093 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5094 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK1
5095 : #endif
5096 : use pm_kind, only: CKC => CK1
5097 : complex(CKC) , intent(in) , contiguous :: array(:)
5098 : complex(CKC) :: sorting(size(array, 1, IK))
5099 : class(sort_type) , intent(in) , optional :: method
5100 : end function
5101 : #endif
5102 :
5103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5104 :
5105 : #if RK5_ENABLED
5106 : module function getSortedArrDefComDef_D1_RK5(array, method) result(sorting)
5107 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5108 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK5
5109 : #endif
5110 : use pm_kind, only: RKC => RK5
5111 : real(RKC) , intent(in) , contiguous :: array(:)
5112 : real(RKC) :: sorting(size(array, 1, IK))
5113 : class(sort_type) , intent(in) , optional :: method
5114 : end function
5115 : #endif
5116 :
5117 : #if RK4_ENABLED
5118 : module function getSortedArrDefComDef_D1_RK4(array, method) result(sorting)
5119 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5120 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK4
5121 : #endif
5122 : use pm_kind, only: RKC => RK4
5123 : real(RKC) , intent(in) , contiguous :: array(:)
5124 : real(RKC) :: sorting(size(array, 1, IK))
5125 : class(sort_type) , intent(in) , optional :: method
5126 : end function
5127 : #endif
5128 :
5129 : #if RK3_ENABLED
5130 : module function getSortedArrDefComDef_D1_RK3(array, method) result(sorting)
5131 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5132 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK3
5133 : #endif
5134 : use pm_kind, only: RKC => RK3
5135 : real(RKC) , intent(in) , contiguous :: array(:)
5136 : real(RKC) :: sorting(size(array, 1, IK))
5137 : class(sort_type) , intent(in) , optional :: method
5138 : end function
5139 : #endif
5140 :
5141 : #if RK2_ENABLED
5142 : module function getSortedArrDefComDef_D1_RK2(array, method) result(sorting)
5143 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5144 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK2
5145 : #endif
5146 : use pm_kind, only: RKC => RK2
5147 : real(RKC) , intent(in) , contiguous :: array(:)
5148 : real(RKC) :: sorting(size(array, 1, IK))
5149 : class(sort_type) , intent(in) , optional :: method
5150 : end function
5151 : #endif
5152 :
5153 : #if RK1_ENABLED
5154 : module function getSortedArrDefComDef_D1_RK1(array, method) result(sorting)
5155 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5156 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK1
5157 : #endif
5158 : use pm_kind, only: RKC => RK1
5159 : real(RKC) , intent(in) , contiguous :: array(:)
5160 : real(RKC) :: sorting(size(array, 1, IK))
5161 : class(sort_type) , intent(in) , optional :: method
5162 : end function
5163 : #endif
5164 :
5165 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5166 :
5167 : #if SK5_ENABLED
5168 : module function getSortedArrDefComDef_D1_PSSK5(array, method) result(sorting)
5169 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5170 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK5
5171 : #endif
5172 : use pm_kind, only: SKC => SK5
5173 : use pm_container, only: css_pdt
5174 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5175 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
5176 : class(sort_type) , intent(in) , optional :: method
5177 : end function
5178 : #endif
5179 :
5180 : #if SK4_ENABLED
5181 : module function getSortedArrDefComDef_D1_PSSK4(array, method) result(sorting)
5182 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5183 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK4
5184 : #endif
5185 : use pm_kind, only: SKC => SK4
5186 : use pm_container, only: css_pdt
5187 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5188 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
5189 : class(sort_type) , intent(in) , optional :: method
5190 : end function
5191 : #endif
5192 :
5193 : #if SK3_ENABLED
5194 : module function getSortedArrDefComDef_D1_PSSK3(array, method) result(sorting)
5195 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5196 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK3
5197 : #endif
5198 : use pm_kind, only: SKC => SK3
5199 : use pm_container, only: css_pdt
5200 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5201 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
5202 : class(sort_type) , intent(in) , optional :: method
5203 : end function
5204 : #endif
5205 :
5206 : #if SK2_ENABLED
5207 : module function getSortedArrDefComDef_D1_PSSK2(array, method) result(sorting)
5208 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5209 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK2
5210 : #endif
5211 : use pm_kind, only: SKC => SK2
5212 : use pm_container, only: css_pdt
5213 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5214 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
5215 : class(sort_type) , intent(in) , optional :: method
5216 : end function
5217 : #endif
5218 :
5219 : #if SK1_ENABLED
5220 : module function getSortedArrDefComDef_D1_PSSK1(array, method) result(sorting)
5221 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5222 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK1
5223 : #endif
5224 : use pm_kind, only: SKC => SK1
5225 : use pm_container, only: css_pdt
5226 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5227 : type(css_pdt(SKC)) :: sorting(size(array, 1, IK))
5228 : class(sort_type) , intent(in) , optional :: method
5229 : end function
5230 : #endif
5231 :
5232 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5233 :
5234 : module function getSortedArrDefComDef_D1_BSSK(array, method) result(sorting)
5235 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5236 : !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_BSSK
5237 : #endif
5238 : use pm_kind, only: SKC => SK
5239 : use pm_container, only: css_type
5240 : type(css_type) , intent(in) , contiguous :: array(:)
5241 : type(css_type) :: sorting(size(array, 1, IK))
5242 : class(sort_type) , intent(in) , optional :: method
5243 : end function
5244 :
5245 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5246 :
5247 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5249 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5250 :
5251 : end interface
5252 :
5253 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5254 :
5255 : !> \brief
5256 : !> Sort the input scalar string or `contiguous` vector in ascending order, or
5257 : !> return the **sorted indices** of the input scalar string or `contiguous` `array` of rank `1` in **ascending order**
5258 : !> or in the user-specified order.
5259 : !>
5260 : !> \details
5261 : !> This generic interface either sorts the contents of an array or its indices in ascending order or via the
5262 : !> user-specified custom input procedure `isSorted()`.<br>
5263 : !>
5264 : !> The resulting output array or its `index` will be in ascending order (or in the requested order as specified by `isSorted()`.<br>
5265 : !> There are currently twelve sorting algorithms implemented in this generic interface.<br>
5266 : !> Only the default sorting method can be used for sorting the indices of an array.<br>
5267 : !> However, all sorting methods can be used to sort the elements of the array.<br>
5268 : !> The default algorithm is generally the fastest sorting method.<br>
5269 : !>
5270 : !> \param[inout] array : The `contiguous` array of rank `1` of either<br>
5271 : !> <ol>
5272 : !> <li> type [css_pdt](@ref pm_container::css_pdt) (string container) or,<br>
5273 : !> <li> type [css_type](@ref pm_container::css_type) (string container of default kind) or,<br>
5274 : !> <li> type `character` of kind \SKALL of arbitrary length type parameter or,
5275 : !> <li> type `integer` of kind \IKALL or,<br>
5276 : !> <li> type `logical` of kind \LKALL or,<br>
5277 : !> <li> type `complex` of kind \CKALL or,<br>
5278 : !> <li> type `real` of kind \RKALL,<br>
5279 : !> </ol>
5280 : !> or,
5281 : !> <ol>
5282 : !> <li> a **scalar** of type `character` of kind \SKALL of arbitrary length type parameter.<br>
5283 : !> </ol>
5284 : !> On output,
5285 : !> <ol>
5286 : !> <li> If the input argument `index` is present, then `array` has `intent(in)` and its contents remain intact upon return.<br>
5287 : !> <li> If the input argument `index` is missing, then `array` has `intent(inout)` and its contents will be in ascending order upon return.<br>
5288 : !> </ol>
5289 : !> \param[out] index : The output `contiguous` array of rank `1` of type `integer` of kind \IKALL of the same length as the input argument `array`
5290 : !> containing the rank (i.e., sorted indices) of `array` such that `array(index(:))` is sorted in ascending order on return.<br>
5291 : !> The size of `index` must match that of `array` (or its length type parameter if `array` is a scalar string).<br>
5292 : !> **Read `index(i)` as the index of the element of `array` that contains the `i`th smallest (or ranked) value in the `array`.**<br>
5293 : !> This kind of ranking of values is widely known as **ordinal ranking**.<br>
5294 : !> In ordinal ranking, all items receive distinct ordinal numbers, including items that compare equal.<br>
5295 : !> The assignment of distinct ordinal numbers to items that compare equal can be done at random, or arbitrarily.<br>
5296 : !> But it is generally preferable to use a system that is arbitrary but consistent,
5297 : !> as this gives stable results if the ranking is done multiple times.<br>
5298 : !> In computer data processing, ordinal ranking is also referred to as **row numbering**.<br>
5299 : !> (**optional**. If missing, the contents of the input `array` will be sorted in ascending order and returned instead.
5300 : !> It can be present only if the input argument `method` is missing.)
5301 : !> \param isSorted : The `external` user-specified function that takes two input **scalar** arguments of the same type and kind as the input `array`.<br>
5302 : !> It returns a scalar `logical` of default kind \LK that is `.true.` if the first
5303 : !> input scalar argument is sorted with respect to the second input argument according to the user-defined condition
5304 : !> within `isSorted`, otherwise, it is `.false.`.<br>
5305 : !> If `array` is a scalar string (i.e., an assumed-length scalar `character`),
5306 : !> then both input arguments to `isSorted()` are scalar characters of length `1` of kind \SKALL.<br>
5307 : !> The following illustrates the generic interface of `isSorted()`,
5308 : !> \code{.F90}
5309 : !> function isSorted(lhs, rhs) result(sorted)
5310 : !> use pm_kind, only: LK
5311 : !> TYPE(KIND) , intent(in) :: lhs, rhs
5312 : !> logical(LK) :: sorted
5313 : !> end function
5314 : !> \endcode
5315 : !> where `TYPE(KIND)` is the same as the type and kind of the input argument `array`, which can be one of the following.
5316 : !> \code{.F90}
5317 : !> use pm_container, only: css_type, css_pdt
5318 : !> character(*, SK), intent(in) :: lhs, rhs
5319 : !> character(1, SK), intent(in) :: lhs, rhs
5320 : !> type(css_type) , intent(in) :: lhs, rhs
5321 : !> type(css_pdt) , intent(in) :: lhs, rhs
5322 : !> integer(IK) , intent(in) :: lhs, rhs
5323 : !> logical(LK) , intent(in) :: lhs, rhs
5324 : !> complex(CK) , intent(in) :: lhs, rhs
5325 : !> real(RK) , intent(in) :: lhs, rhs
5326 : !> \endcode
5327 : !> where the specified kind type parameters (`SK`, `IK`, `LK`, `CK`, `RK`) can refer to any of the supported kinds by the processor.<br>
5328 : !> This user-defined equivalence check is extremely useful where a user-defined sorting criterion other than simple ascending order
5329 : !> is needed, for example, when the case-sensitivity of an input string or array of strings is irrelevant or when sorting of
5330 : !> the absolute values matters excluding the signs of the numbers, or when descending order is desired.<br>
5331 : !> In such cases, user can define a custom sorting condition within the user-defined external function `isSorted` to achieve the goal.<br>
5332 : !> (**optional**, the default sorting condition is ascending order, that is `a < b`.)
5333 : !> \param method : The input scalar constant that can be any of the following:<br>
5334 : !> <ol>
5335 : !> <li> The constant [qsorti](@ref pm_arraySort::qsorti) or equivalently, an object of type [qsorti_type](@ref pm_arraySort::qsorti_type),
5336 : !> implying that the **iterative** version of the **QuickSort** sorting algorithm should be used.<br>
5337 : !> This method sorts the input array by a mixture of Quicksort and Selection sorting methods.<br>
5338 : !> When the size the array to be sorted reaches `30` or less, the algorithm switches from Quicksort to Selection sorting.<br>
5339 : !> This algorithm is typically of order \f$ N \log_2 N\f$, and the worst-case order of \f$N^2\f$.<br>
5340 : !> The worst case performance occurs for completely sorted input arrays.<br>
5341 : !> <li> The constant [qsortr](@ref pm_arraySort::qsortr) or equivalently, an object of type [qsortr_type](@ref pm_arraySort::qsortr_type),
5342 : !> implying that the **recursive** version of the **QuickSort** sorting algorithm should be used.<br>
5343 : !> <li> The constant [qsortrdp](@ref pm_arraySort::qsortrdp) or equivalently, an object of type [qsortrdp_type](@ref pm_arraySort::qsortrdp_type),
5344 : !> implying that the **recursive** version of the **Dual-Pivot QuickSort** sorting algorithm should be used.<br>
5345 : !> The Dual-Pivot Quicksort algorithm can be slightly faster than the default Quicksort algorithms above.<br>
5346 : !> However, [performance benchmarks](@ref pm_arraySort) indicate that the efficiency gain is marginal and insignificant.<br>
5347 : !> This algorithm is typically of order \f$ N \log_2 N\f$, and the worst-case order of \f$N^2\f$.
5348 : !> The worst case performance occurs for completely sorted input arrays.<br>
5349 : !> <li> The constant [bubble](@ref pm_arraySort::bubble) or equivalently, an object of type [bubble_type](@ref pm_arraySort::bubble_type),
5350 : !> implying that the **Bubble** sorting algorithm should be used.<br>
5351 : !> This algorithm is of order \f$N^2\f$.<br>
5352 : !> <li> The constant [heapi](@ref pm_arraySort::heapi) or equivalently, an object of type [heapi_type](@ref pm_arraySort::heapi_type),
5353 : !> implying that the **iterative** version of the **Heap** sorting algorithm should be used.<br>
5354 : !> This algorithm is typically of order \f$ N \log_2 N\f$.<br>
5355 : !> <li> The constant [heapr](@ref pm_arraySort::heapr) or equivalently, an object of type [heapr_type](@ref pm_arraySort::heapr_type),
5356 : !> implying that the **recursive** version of the **Heap** sorting algorithm should be used.<br>
5357 : !> This algorithm is typically of order \f$ N \log_2 N\f$.<br>
5358 : !> <li> The constant [insertionl](@ref pm_arraySort::insertionl) or equivalently, an object of type [insertionl_type](@ref pm_arraySort::insertionl_type),
5359 : !> implying that the **linear-search** version of the **insertion** sorting algorithm should be used.<br>
5360 : !> The complexity of this algorithm is typically of order \f$N^2\f$.<br>
5361 : !> <li> The constant [insertionb](@ref pm_arraySort::insertionb) or equivalently, an object of type [insertionb_type](@ref pm_arraySort::insertionb_type),
5362 : !> implying that the **binary-search** version of the **insertion** sorting algorithm should be used.<br>
5363 : !> The complexity of this algorithm is typically of order \f$N^2\f$.<br>
5364 : !> <li> The constant [merger](@ref pm_arraySort::merger) or equivalently, an object of type [merger_type](@ref pm_arraySort::merger_type),
5365 : !> implying that the **recursive** version of the **Merge** sorting algorithm should be used.<br>
5366 : !> This algorithm is typically of order \f$ N \log_2 N\f$.<br>
5367 : !> <li> The constant [selection](@ref pm_arraySort::selection) or equivalently, an object of type [selection_type](@ref pm_arraySort::selection_type),
5368 : !> implying that the **Selection** sorting algorithm should be used.<br>
5369 : !> This algorithm is of order \f$N^2\f$.<br>
5370 : !> <li> The constant [shell](@ref pm_arraySort::shell) or equivalently, an object of type [shell_type](@ref pm_arraySort::shell_type),
5371 : !> implying that the **Shell** sorting algorithm should be used.<br>
5372 : !> This algorithm is of order \f$N\log(N)\f$.<br>
5373 : !> </ol>
5374 : !> The presence of this argument is merely for compile-time resolution of the procedures of this generic interface.<br>
5375 : !> (**optional**. default = [qsorti](@ref pm_arraySort::qsorti). It can be present only if the input argument `index` is missing.)
5376 : !>
5377 : !> \interface{setSorted}
5378 : !> \code{.F90}
5379 : !>
5380 : !> use pm_arraySort, only: setSorted
5381 : !>
5382 : !> ! Sorting the indices of an array.
5383 : !>
5384 : !> call setSorted(array, index(:))
5385 : !> call setSorted(array, index(:), isSorted)
5386 : !>
5387 : !> ! Sorting the contents of an array.
5388 : !>
5389 : !> call setSorted(array)
5390 : !> call setSorted(array, method)
5391 : !> call setSorted(array, isSorted)
5392 : !> call setSorted(array, isSorted, method)
5393 : !>
5394 : !> \endcode
5395 : !>
5396 : !> \warning
5397 : !> The sizes of the input `array` and `index` must be equal.<br>
5398 : !> \vericon
5399 : !>
5400 : !> \pure
5401 : !> The procedures under this generic interface are always `impure` when the input argument `isSorted()` is present.<br>
5402 : !>
5403 : !> \recursive
5404 : !> The procedures are explicitly `recursive` <b>only if</b> the input argument `method`is set to any of the `recursive` sorting algorithms.<br>
5405 : !>
5406 : !> \devnote
5407 : !> The use of the Fortran intrinsic `minloc` in the sorting routines appears to lead a slightly better performance than the manual search.<br>
5408 : !>
5409 : !> \note
5410 : !> To rank the input array in descending order, simply call the output `index` elements from the end to the beginning or,
5411 : !> rewrite the array with `array = array( index(ubound(array, dim = 1) : lbound(array, dim = 1) : -1) )`.<br>
5412 : !>
5413 : !> \note
5414 : !> To sort the input array in descending order, simply call the output array elements from the end to the beginning or,
5415 : !> rewrite the array with `array = array(ubound(array, dim = 1) : lbound(array, dim = 1) : -1)`.<br>
5416 : !> Alternatively, supply an external comparison function `isSorted()` with the appropriate comparison.<br>
5417 : !>
5418 : !> \note
5419 : !> A rooter array can be sorted along with a leader array with the help of [setSorted](@ref pm_arraySort::setSorted).<br>
5420 : !>
5421 : !> \see
5422 : !> [getLoc](@ref pm_arrayFind::getLoc)<br>
5423 : !> [setLoc](@ref pm_arrayFind::setLoc)<br>
5424 : !> [getBin](@ref pm_arraySearch::getBin)<br>
5425 : !> [getSorted](@ref pm_arraySort::getSorted)<br>
5426 : !> [setSorted](@ref pm_arraySort::setSorted)<br>
5427 : !> [isAscending](@ref pm_arraySort::isAscending)<br>
5428 : !> [isDescending](@ref pm_arraySort::isDescending)<br>
5429 : !> [isAscendingAll](@ref pm_arraySort::isAscendingAll)<br>
5430 : !> [isDescendingAll](@ref pm_arraySort::isDescendingAll)<br>
5431 : !> [isSorted](@ref pm_arraySort::isSorted)<br>
5432 : !> [getRankDense](@ref pm_arrayRank::getRankDense)<br>
5433 : !> [setRankDense](@ref pm_arrayRank::setRankDense)<br>
5434 : !> [getRankOrdinal](@ref pm_arrayRank::getRankOrdinal)<br>
5435 : !> [setRankOrdinal](@ref pm_arrayRank::setRankOrdinal)<br>
5436 : !> [getRankModified](@ref pm_arrayRank::getRankModified)<br>
5437 : !> [setRankModified](@ref pm_arrayRank::setRankModified)<br>
5438 : !> [getRankStandard](@ref pm_arrayRank::getRankStandard)<br>
5439 : !> [setRankStandard](@ref pm_arrayRank::setRankStandard)<br>
5440 : !> [getRankFractional](@ref pm_arrayRank::getRankFractional)<br>
5441 : !> [setRankFractional](@ref pm_arrayRank::setRankFractional)<br>
5442 : !> [getSelected](@ref pm_arraySelect::getSelected)<br>
5443 : !> [setSelected](@ref pm_arraySelect::setSelected)<br>
5444 : !>
5445 : !> \example{setSorted}
5446 : !> \include{lineno} example/pm_arraySort/setSorted/main.F90
5447 : !> \compilef{setSorted}
5448 : !> \output{setSorted}
5449 : !> \include{lineno} example/pm_arraySort/setSorted/main.out.F90
5450 : !>
5451 : !> \test
5452 : !> [test_pm_arraySort](@ref test_pm_arraySort)
5453 : !>
5454 : !> \bug
5455 : !> \status \unresolved
5456 : !> \source \ifort{2021.5}
5457 : !> \desc
5458 : !> See [pm_arraySplit](@ref pm_arraySplit) for the description of a relevant bug in PDT
5459 : !> name aliasing when compiled with \ifort{2021.5} that also applies to this module.
5460 : !> \remedy
5461 : !> See [pm_arraySplit](@ref pm_arraySplit) for the remedy.<br>
5462 : !>
5463 : !> \bug
5464 : !> \status \unresolved
5465 : !> \source \gfortran{10.3}
5466 : !> \desc
5467 : !> The \gfortran{10.3} cannot not compile the allocation of PDT string container object `temp` within the implementation of the corresponding procedures.<br>
5468 : !> \code{.sh}
5469 : !>
5470 : !> 99 | deallocate(Temp)
5471 : !> | ^
5472 : !> internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:2834
5473 : !> Please submit a full bug report...
5474 : !>
5475 : !> \endcode
5476 : !> \remedy
5477 : !> For now, all allocatable `Temp` objects are converted to automatic arrays.
5478 : !>
5479 : !> \todo
5480 : !> \pmed
5481 : !> \plow The current bypass for the PDT name aliasing bug should be reverted back to PDT name aliasing once the ifort bug is resolved.
5482 : !>
5483 : !> \finmain{setSorted}
5484 : !>
5485 : !> \author
5486 : !> \AmirShahmoradi, April 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
5487 :
5488 : ! setSortedIndDefComDef
5489 :
5490 : interface setSorted
5491 :
5492 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5493 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5494 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5495 :
5496 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5497 :
5498 : #if SK5_ENABLED
5499 : PURE module subroutine setSortedIndDefComDef_D0_SK5(array, index)
5500 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5501 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D0_SK5
5502 : #endif
5503 : use pm_kind, only: SKC => SK5
5504 : character(*,SKC) , intent(in) :: array
5505 : integer(IK) , intent(out) , contiguous :: index(:)
5506 : end subroutine
5507 : #endif
5508 :
5509 : #if SK4_ENABLED
5510 : PURE module subroutine setSortedIndDefComDef_D0_SK4(array, index)
5511 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5512 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D0_SK4
5513 : #endif
5514 : use pm_kind, only: SKC => SK4
5515 : character(*,SKC) , intent(in) :: array
5516 : integer(IK) , intent(out) , contiguous :: index(:)
5517 : end subroutine
5518 : #endif
5519 :
5520 : #if SK3_ENABLED
5521 : PURE module subroutine setSortedIndDefComDef_D0_SK3(array, index)
5522 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5523 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D0_SK3
5524 : #endif
5525 : use pm_kind, only: SKC => SK3
5526 : character(*,SKC) , intent(in) :: array
5527 : integer(IK) , intent(out) , contiguous :: index(:)
5528 : end subroutine
5529 : #endif
5530 :
5531 : #if SK2_ENABLED
5532 : PURE module subroutine setSortedIndDefComDef_D0_SK2(array, index)
5533 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5534 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D0_SK2
5535 : #endif
5536 : use pm_kind, only: SKC => SK2
5537 : character(*,SKC) , intent(in) :: array
5538 : integer(IK) , intent(out) , contiguous :: index(:)
5539 : end subroutine
5540 : #endif
5541 :
5542 : #if SK1_ENABLED
5543 : PURE module subroutine setSortedIndDefComDef_D0_SK1(array, index)
5544 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5545 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D0_SK1
5546 : #endif
5547 : use pm_kind, only: SKC => SK1
5548 : character(*,SKC) , intent(in) :: array
5549 : integer(IK) , intent(out) , contiguous :: index(:)
5550 : end subroutine
5551 : #endif
5552 :
5553 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5554 :
5555 : #if SK5_ENABLED
5556 : PURE module subroutine setSortedIndDefComDef_D1_SK5(array, index)
5557 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5558 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_SK5
5559 : #endif
5560 : use pm_kind, only: SKC => SK5
5561 : character(*,SKC) , intent(in) , contiguous :: array(:)
5562 : integer(IK) , intent(out) , contiguous :: index(:)
5563 : end subroutine
5564 : #endif
5565 :
5566 : #if SK4_ENABLED
5567 : PURE module subroutine setSortedIndDefComDef_D1_SK4(array, index)
5568 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5569 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_SK4
5570 : #endif
5571 : use pm_kind, only: SKC => SK4
5572 : character(*,SKC) , intent(in) , contiguous :: array(:)
5573 : integer(IK) , intent(out) , contiguous :: index(:)
5574 : end subroutine
5575 : #endif
5576 :
5577 : #if SK3_ENABLED
5578 : PURE module subroutine setSortedIndDefComDef_D1_SK3(array, index)
5579 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5580 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_SK3
5581 : #endif
5582 : use pm_kind, only: SKC => SK3
5583 : character(*,SKC) , intent(in) , contiguous :: array(:)
5584 : integer(IK) , intent(out) , contiguous :: index(:)
5585 : end subroutine
5586 : #endif
5587 :
5588 : #if SK2_ENABLED
5589 : PURE module subroutine setSortedIndDefComDef_D1_SK2(array, index)
5590 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5591 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_SK2
5592 : #endif
5593 : use pm_kind, only: SKC => SK2
5594 : character(*,SKC) , intent(in) , contiguous :: array(:)
5595 : integer(IK) , intent(out) , contiguous :: index(:)
5596 : end subroutine
5597 : #endif
5598 :
5599 : #if SK1_ENABLED
5600 : PURE module subroutine setSortedIndDefComDef_D1_SK1(array, index)
5601 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5602 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_SK1
5603 : #endif
5604 : use pm_kind, only: SKC => SK1
5605 : character(*,SKC) , intent(in) , contiguous :: array(:)
5606 : integer(IK) , intent(out) , contiguous :: index(:)
5607 : end subroutine
5608 : #endif
5609 :
5610 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5611 :
5612 : #if IK5_ENABLED
5613 : PURE module subroutine setSortedIndDefComDef_D1_IK5(array, index)
5614 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5615 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_IK5
5616 : #endif
5617 : use pm_kind, only: IKC => IK5
5618 : integer(IKC) , intent(in) , contiguous :: array(:)
5619 : integer(IK) , intent(out) , contiguous :: index(:)
5620 : end subroutine
5621 : #endif
5622 :
5623 : #if IK4_ENABLED
5624 : PURE module subroutine setSortedIndDefComDef_D1_IK4(array, index)
5625 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5626 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_IK4
5627 : #endif
5628 : use pm_kind, only: IKC => IK4
5629 : integer(IKC) , intent(in) , contiguous :: array(:)
5630 : integer(IK) , intent(out) , contiguous :: index(:)
5631 : end subroutine
5632 : #endif
5633 :
5634 : #if IK3_ENABLED
5635 : PURE module subroutine setSortedIndDefComDef_D1_IK3(array, index)
5636 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5637 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_IK3
5638 : #endif
5639 : use pm_kind, only: IKC => IK3
5640 : integer(IKC) , intent(in) , contiguous :: array(:)
5641 : integer(IK) , intent(out) , contiguous :: index(:)
5642 : end subroutine
5643 : #endif
5644 :
5645 : #if IK2_ENABLED
5646 : PURE module subroutine setSortedIndDefComDef_D1_IK2(array, index)
5647 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5648 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_IK2
5649 : #endif
5650 : use pm_kind, only: IKC => IK2
5651 : integer(IKC) , intent(in) , contiguous :: array(:)
5652 : integer(IK) , intent(out) , contiguous :: index(:)
5653 : end subroutine
5654 : #endif
5655 :
5656 : #if IK1_ENABLED
5657 : PURE module subroutine setSortedIndDefComDef_D1_IK1(array, index)
5658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5659 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_IK1
5660 : #endif
5661 : use pm_kind, only: IKC => IK1
5662 : integer(IKC) , intent(in) , contiguous :: array(:)
5663 : integer(IK) , intent(out) , contiguous :: index(:)
5664 : end subroutine
5665 : #endif
5666 :
5667 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5668 :
5669 : #if LK5_ENABLED
5670 : PURE module subroutine setSortedIndDefComDef_D1_LK5(array, index)
5671 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5672 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_LK5
5673 : #endif
5674 : use pm_kind, only: LKC => LK5
5675 : logical(LKC) , intent(in) , contiguous :: array(:)
5676 : integer(IK) , intent(out) , contiguous :: index(:)
5677 : end subroutine
5678 : #endif
5679 :
5680 : #if LK4_ENABLED
5681 : PURE module subroutine setSortedIndDefComDef_D1_LK4(array, index)
5682 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5683 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_LK4
5684 : #endif
5685 : use pm_kind, only: LKC => LK4
5686 : logical(LKC) , intent(in) , contiguous :: array(:)
5687 : integer(IK) , intent(out) , contiguous :: index(:)
5688 : end subroutine
5689 : #endif
5690 :
5691 : #if LK3_ENABLED
5692 : PURE module subroutine setSortedIndDefComDef_D1_LK3(array, index)
5693 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5694 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_LK3
5695 : #endif
5696 : use pm_kind, only: LKC => LK3
5697 : logical(LKC) , intent(in) , contiguous :: array(:)
5698 : integer(IK) , intent(out) , contiguous :: index(:)
5699 : end subroutine
5700 : #endif
5701 :
5702 : #if LK2_ENABLED
5703 : PURE module subroutine setSortedIndDefComDef_D1_LK2(array, index)
5704 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5705 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_LK2
5706 : #endif
5707 : use pm_kind, only: LKC => LK2
5708 : logical(LKC) , intent(in) , contiguous :: array(:)
5709 : integer(IK) , intent(out) , contiguous :: index(:)
5710 : end subroutine
5711 : #endif
5712 :
5713 : #if LK1_ENABLED
5714 : PURE module subroutine setSortedIndDefComDef_D1_LK1(array, index)
5715 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5716 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_LK1
5717 : #endif
5718 : use pm_kind, only: LKC => LK1
5719 : logical(LKC) , intent(in) , contiguous :: array(:)
5720 : integer(IK) , intent(out) , contiguous :: index(:)
5721 : end subroutine
5722 : #endif
5723 :
5724 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5725 :
5726 : #if CK5_ENABLED
5727 : PURE module subroutine setSortedIndDefComDef_D1_CK5(array, index)
5728 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5729 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_CK5
5730 : #endif
5731 : use pm_kind, only: CKC => CK5
5732 : complex(CKC) , intent(in) , contiguous :: array(:)
5733 : integer(IK) , intent(out) , contiguous :: index(:)
5734 : end subroutine
5735 : #endif
5736 :
5737 : #if CK4_ENABLED
5738 : PURE module subroutine setSortedIndDefComDef_D1_CK4(array, index)
5739 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5740 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_CK4
5741 : #endif
5742 : use pm_kind, only: CKC => CK4
5743 : complex(CKC) , intent(in) , contiguous :: array(:)
5744 : integer(IK) , intent(out) , contiguous :: index(:)
5745 : end subroutine
5746 : #endif
5747 :
5748 : #if CK3_ENABLED
5749 : PURE module subroutine setSortedIndDefComDef_D1_CK3(array, index)
5750 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5751 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_CK3
5752 : #endif
5753 : use pm_kind, only: CKC => CK3
5754 : complex(CKC) , intent(in) , contiguous :: array(:)
5755 : integer(IK) , intent(out) , contiguous :: index(:)
5756 : end subroutine
5757 : #endif
5758 :
5759 : #if CK2_ENABLED
5760 : PURE module subroutine setSortedIndDefComDef_D1_CK2(array, index)
5761 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5762 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_CK2
5763 : #endif
5764 : use pm_kind, only: CKC => CK2
5765 : complex(CKC) , intent(in) , contiguous :: array(:)
5766 : integer(IK) , intent(out) , contiguous :: index(:)
5767 : end subroutine
5768 : #endif
5769 :
5770 : #if CK1_ENABLED
5771 : PURE module subroutine setSortedIndDefComDef_D1_CK1(array, index)
5772 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5773 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_CK1
5774 : #endif
5775 : use pm_kind, only: CKC => CK1
5776 : complex(CKC) , intent(in) , contiguous :: array(:)
5777 : integer(IK) , intent(out) , contiguous :: index(:)
5778 : end subroutine
5779 : #endif
5780 :
5781 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5782 :
5783 : #if RK5_ENABLED
5784 : PURE module subroutine setSortedIndDefComDef_D1_RK5(array, index)
5785 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5786 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_RK5
5787 : #endif
5788 : use pm_kind, only: RKC => RK5
5789 : real(RKC) , intent(in) , contiguous :: array(:)
5790 : integer(IK) , intent(out) , contiguous :: index(:)
5791 : end subroutine
5792 : #endif
5793 :
5794 : #if RK4_ENABLED
5795 : PURE module subroutine setSortedIndDefComDef_D1_RK4(array, index)
5796 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5797 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_RK4
5798 : #endif
5799 : use pm_kind, only: RKC => RK4
5800 : real(RKC) , intent(in) , contiguous :: array(:)
5801 : integer(IK) , intent(out) , contiguous :: index(:)
5802 : end subroutine
5803 : #endif
5804 :
5805 : #if RK3_ENABLED
5806 : PURE module subroutine setSortedIndDefComDef_D1_RK3(array, index)
5807 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5808 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_RK3
5809 : #endif
5810 : use pm_kind, only: RKC => RK3
5811 : real(RKC) , intent(in) , contiguous :: array(:)
5812 : integer(IK) , intent(out) , contiguous :: index(:)
5813 : end subroutine
5814 : #endif
5815 :
5816 : #if RK2_ENABLED
5817 : PURE module subroutine setSortedIndDefComDef_D1_RK2(array, index)
5818 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5819 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_RK2
5820 : #endif
5821 : use pm_kind, only: RKC => RK2
5822 : real(RKC) , intent(in) , contiguous :: array(:)
5823 : integer(IK) , intent(out) , contiguous :: index(:)
5824 : end subroutine
5825 : #endif
5826 :
5827 : #if RK1_ENABLED
5828 : PURE module subroutine setSortedIndDefComDef_D1_RK1(array, index)
5829 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5830 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_RK1
5831 : #endif
5832 : use pm_kind, only: RKC => RK1
5833 : real(RKC) , intent(in) , contiguous :: array(:)
5834 : integer(IK) , intent(out) , contiguous :: index(:)
5835 : end subroutine
5836 : #endif
5837 :
5838 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5839 :
5840 : #if SK5_ENABLED
5841 : PURE module subroutine setSortedIndDefComDef_D1_PSSK5(array, index)
5842 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5843 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_PSSK5
5844 : #endif
5845 : use pm_kind, only: SKC => SK5
5846 : use pm_container, only: css_pdt
5847 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5848 : integer(IK) , intent(out) , contiguous :: index(:)
5849 : end subroutine
5850 : #endif
5851 :
5852 : #if SK4_ENABLED
5853 : PURE module subroutine setSortedIndDefComDef_D1_PSSK4(array, index)
5854 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5855 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_PSSK4
5856 : #endif
5857 : use pm_kind, only: SKC => SK4
5858 : use pm_container, only: css_pdt
5859 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5860 : integer(IK) , intent(out) , contiguous :: index(:)
5861 : end subroutine
5862 : #endif
5863 :
5864 : #if SK3_ENABLED
5865 : PURE module subroutine setSortedIndDefComDef_D1_PSSK3(array, index)
5866 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5867 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_PSSK3
5868 : #endif
5869 : use pm_kind, only: SKC => SK3
5870 : use pm_container, only: css_pdt
5871 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5872 : integer(IK) , intent(out) , contiguous :: index(:)
5873 : end subroutine
5874 : #endif
5875 :
5876 : #if SK2_ENABLED
5877 : PURE module subroutine setSortedIndDefComDef_D1_PSSK2(array, index)
5878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5879 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_PSSK2
5880 : #endif
5881 : use pm_kind, only: SKC => SK2
5882 : use pm_container, only: css_pdt
5883 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5884 : integer(IK) , intent(out) , contiguous :: index(:)
5885 : end subroutine
5886 : #endif
5887 :
5888 : #if SK1_ENABLED
5889 : PURE module subroutine setSortedIndDefComDef_D1_PSSK1(array, index)
5890 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5891 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_PSSK1
5892 : #endif
5893 : use pm_kind, only: SKC => SK1
5894 : use pm_container, only: css_pdt
5895 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
5896 : integer(IK) , intent(out) , contiguous :: index(:)
5897 : end subroutine
5898 : #endif
5899 :
5900 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5901 :
5902 : PURE module subroutine setSortedIndDefComDef_D1_BSSK(array, index)
5903 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5904 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndDefComDef_D1_BSSK
5905 : #endif
5906 : use pm_kind, only: SKC => SK
5907 : use pm_container, only: css_type
5908 : type(css_type) , intent(in) , contiguous :: array(:)
5909 : integer(IK) , intent(out) , contiguous :: index(:)
5910 : end subroutine
5911 :
5912 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5913 :
5914 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5915 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5916 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5917 :
5918 : end interface
5919 :
5920 : ! setSortedIndCusComDef
5921 :
5922 : interface setSorted
5923 :
5924 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5925 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5926 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5927 :
5928 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5929 :
5930 : #if SK5_ENABLED
5931 : module subroutine setSortedIndCusComDef_D0_SK5(array, index, isSorted)
5932 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5933 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D0_SK5
5934 : #endif
5935 : use pm_kind, only: SKC => SK5
5936 : character(*,SKC) , intent(in) :: array
5937 : integer(IK) , intent(out) , contiguous :: index(:)
5938 : procedure(logical(LK)) :: isSorted
5939 : end subroutine
5940 : #endif
5941 :
5942 : #if SK4_ENABLED
5943 : module subroutine setSortedIndCusComDef_D0_SK4(array, index, isSorted)
5944 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5945 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D0_SK4
5946 : #endif
5947 : use pm_kind, only: SKC => SK4
5948 : character(*,SKC) , intent(in) :: array
5949 : integer(IK) , intent(out) , contiguous :: index(:)
5950 : procedure(logical(LK)) :: isSorted
5951 : end subroutine
5952 : #endif
5953 :
5954 : #if SK3_ENABLED
5955 : module subroutine setSortedIndCusComDef_D0_SK3(array, index, isSorted)
5956 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5957 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D0_SK3
5958 : #endif
5959 : use pm_kind, only: SKC => SK3
5960 : character(*,SKC) , intent(in) :: array
5961 : integer(IK) , intent(out) , contiguous :: index(:)
5962 : procedure(logical(LK)) :: isSorted
5963 : end subroutine
5964 : #endif
5965 :
5966 : #if SK2_ENABLED
5967 : module subroutine setSortedIndCusComDef_D0_SK2(array, index, isSorted)
5968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5969 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D0_SK2
5970 : #endif
5971 : use pm_kind, only: SKC => SK2
5972 : character(*,SKC) , intent(in) :: array
5973 : integer(IK) , intent(out) , contiguous :: index(:)
5974 : procedure(logical(LK)) :: isSorted
5975 : end subroutine
5976 : #endif
5977 :
5978 : #if SK1_ENABLED
5979 : module subroutine setSortedIndCusComDef_D0_SK1(array, index, isSorted)
5980 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5981 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D0_SK1
5982 : #endif
5983 : use pm_kind, only: SKC => SK1
5984 : character(*,SKC) , intent(in) :: array
5985 : integer(IK) , intent(out) , contiguous :: index(:)
5986 : procedure(logical(LK)) :: isSorted
5987 : end subroutine
5988 : #endif
5989 :
5990 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5991 :
5992 : #if SK5_ENABLED
5993 : module subroutine setSortedIndCusComDef_D1_SK5(array, index, isSorted)
5994 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5995 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_SK5
5996 : #endif
5997 : use pm_kind, only: SKC => SK5
5998 : character(*,SKC) , intent(in) , contiguous :: array(:)
5999 : integer(IK) , intent(out) , contiguous :: index(:)
6000 : procedure(logical(LK)) :: isSorted
6001 : end subroutine
6002 : #endif
6003 :
6004 : #if SK4_ENABLED
6005 : module subroutine setSortedIndCusComDef_D1_SK4(array, index, isSorted)
6006 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6007 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_SK4
6008 : #endif
6009 : use pm_kind, only: SKC => SK4
6010 : character(*,SKC) , intent(in) , contiguous :: array(:)
6011 : integer(IK) , intent(out) , contiguous :: index(:)
6012 : procedure(logical(LK)) :: isSorted
6013 : end subroutine
6014 : #endif
6015 :
6016 : #if SK3_ENABLED
6017 : module subroutine setSortedIndCusComDef_D1_SK3(array, index, isSorted)
6018 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6019 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_SK3
6020 : #endif
6021 : use pm_kind, only: SKC => SK3
6022 : character(*,SKC) , intent(in) , contiguous :: array(:)
6023 : integer(IK) , intent(out) , contiguous :: index(:)
6024 : procedure(logical(LK)) :: isSorted
6025 : end subroutine
6026 : #endif
6027 :
6028 : #if SK2_ENABLED
6029 : module subroutine setSortedIndCusComDef_D1_SK2(array, index, isSorted)
6030 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6031 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_SK2
6032 : #endif
6033 : use pm_kind, only: SKC => SK2
6034 : character(*,SKC) , intent(in) , contiguous :: array(:)
6035 : integer(IK) , intent(out) , contiguous :: index(:)
6036 : procedure(logical(LK)) :: isSorted
6037 : end subroutine
6038 : #endif
6039 :
6040 : #if SK1_ENABLED
6041 : module subroutine setSortedIndCusComDef_D1_SK1(array, index, isSorted)
6042 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6043 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_SK1
6044 : #endif
6045 : use pm_kind, only: SKC => SK1
6046 : character(*,SKC) , intent(in) , contiguous :: array(:)
6047 : integer(IK) , intent(out) , contiguous :: index(:)
6048 : procedure(logical(LK)) :: isSorted
6049 : end subroutine
6050 : #endif
6051 :
6052 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6053 :
6054 : #if IK5_ENABLED
6055 : module subroutine setSortedIndCusComDef_D1_IK5(array, index, isSorted)
6056 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6057 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_IK5
6058 : #endif
6059 : use pm_kind, only: IKC => IK5
6060 : integer(IKC) , intent(in) , contiguous :: array(:)
6061 : integer(IK) , intent(out) , contiguous :: index(:)
6062 : procedure(logical(LK)) :: isSorted
6063 : end subroutine
6064 : #endif
6065 :
6066 : #if IK4_ENABLED
6067 : module subroutine setSortedIndCusComDef_D1_IK4(array, index, isSorted)
6068 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6069 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_IK4
6070 : #endif
6071 : use pm_kind, only: IKC => IK4
6072 : integer(IKC) , intent(in) , contiguous :: array(:)
6073 : integer(IK) , intent(out) , contiguous :: index(:)
6074 : procedure(logical(LK)) :: isSorted
6075 : end subroutine
6076 : #endif
6077 :
6078 : #if IK3_ENABLED
6079 : module subroutine setSortedIndCusComDef_D1_IK3(array, index, isSorted)
6080 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6081 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_IK3
6082 : #endif
6083 : use pm_kind, only: IKC => IK3
6084 : integer(IKC) , intent(in) , contiguous :: array(:)
6085 : integer(IK) , intent(out) , contiguous :: index(:)
6086 : procedure(logical(LK)) :: isSorted
6087 : end subroutine
6088 : #endif
6089 :
6090 : #if IK2_ENABLED
6091 : module subroutine setSortedIndCusComDef_D1_IK2(array, index, isSorted)
6092 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6093 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_IK2
6094 : #endif
6095 : use pm_kind, only: IKC => IK2
6096 : integer(IKC) , intent(in) , contiguous :: array(:)
6097 : integer(IK) , intent(out) , contiguous :: index(:)
6098 : procedure(logical(LK)) :: isSorted
6099 : end subroutine
6100 : #endif
6101 :
6102 : #if IK1_ENABLED
6103 : module subroutine setSortedIndCusComDef_D1_IK1(array, index, isSorted)
6104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_IK1
6106 : #endif
6107 : use pm_kind, only: IKC => IK1
6108 : integer(IKC) , intent(in) , contiguous :: array(:)
6109 : integer(IK) , intent(out) , contiguous :: index(:)
6110 : procedure(logical(LK)) :: isSorted
6111 : end subroutine
6112 : #endif
6113 :
6114 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6115 :
6116 : #if LK5_ENABLED
6117 : module subroutine setSortedIndCusComDef_D1_LK5(array, index, isSorted)
6118 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6119 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_LK5
6120 : #endif
6121 : use pm_kind, only: LKC => LK5
6122 : logical(LKC) , intent(in) , contiguous :: array(:)
6123 : integer(IK) , intent(out) , contiguous :: index(:)
6124 : procedure(logical(LK)) :: isSorted
6125 : end subroutine
6126 : #endif
6127 :
6128 : #if LK4_ENABLED
6129 : module subroutine setSortedIndCusComDef_D1_LK4(array, index, isSorted)
6130 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6131 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_LK4
6132 : #endif
6133 : use pm_kind, only: LKC => LK4
6134 : logical(LKC) , intent(in) , contiguous :: array(:)
6135 : integer(IK) , intent(out) , contiguous :: index(:)
6136 : procedure(logical(LK)) :: isSorted
6137 : end subroutine
6138 : #endif
6139 :
6140 : #if LK3_ENABLED
6141 : module subroutine setSortedIndCusComDef_D1_LK3(array, index, isSorted)
6142 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6143 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_LK3
6144 : #endif
6145 : use pm_kind, only: LKC => LK3
6146 : logical(LKC) , intent(in) , contiguous :: array(:)
6147 : integer(IK) , intent(out) , contiguous :: index(:)
6148 : procedure(logical(LK)) :: isSorted
6149 : end subroutine
6150 : #endif
6151 :
6152 : #if LK2_ENABLED
6153 : module subroutine setSortedIndCusComDef_D1_LK2(array, index, isSorted)
6154 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6155 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_LK2
6156 : #endif
6157 : use pm_kind, only: LKC => LK2
6158 : logical(LKC) , intent(in) , contiguous :: array(:)
6159 : integer(IK) , intent(out) , contiguous :: index(:)
6160 : procedure(logical(LK)) :: isSorted
6161 : end subroutine
6162 : #endif
6163 :
6164 : #if LK1_ENABLED
6165 : module subroutine setSortedIndCusComDef_D1_LK1(array, index, isSorted)
6166 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6167 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_LK1
6168 : #endif
6169 : use pm_kind, only: LKC => LK1
6170 : logical(LKC) , intent(in) , contiguous :: array(:)
6171 : integer(IK) , intent(out) , contiguous :: index(:)
6172 : procedure(logical(LK)) :: isSorted
6173 : end subroutine
6174 : #endif
6175 :
6176 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6177 :
6178 : #if CK5_ENABLED
6179 : module subroutine setSortedIndCusComDef_D1_CK5(array, index, isSorted)
6180 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6181 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_CK5
6182 : #endif
6183 : use pm_kind, only: CKC => CK5
6184 : complex(CKC) , intent(in) , contiguous :: array(:)
6185 : integer(IK) , intent(out) , contiguous :: index(:)
6186 : procedure(logical(LK)) :: isSorted
6187 : end subroutine
6188 : #endif
6189 :
6190 : #if CK4_ENABLED
6191 : module subroutine setSortedIndCusComDef_D1_CK4(array, index, isSorted)
6192 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6193 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_CK4
6194 : #endif
6195 : use pm_kind, only: CKC => CK4
6196 : complex(CKC) , intent(in) , contiguous :: array(:)
6197 : integer(IK) , intent(out) , contiguous :: index(:)
6198 : procedure(logical(LK)) :: isSorted
6199 : end subroutine
6200 : #endif
6201 :
6202 : #if CK3_ENABLED
6203 : module subroutine setSortedIndCusComDef_D1_CK3(array, index, isSorted)
6204 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6205 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_CK3
6206 : #endif
6207 : use pm_kind, only: CKC => CK3
6208 : complex(CKC) , intent(in) , contiguous :: array(:)
6209 : integer(IK) , intent(out) , contiguous :: index(:)
6210 : procedure(logical(LK)) :: isSorted
6211 : end subroutine
6212 : #endif
6213 :
6214 : #if CK2_ENABLED
6215 : module subroutine setSortedIndCusComDef_D1_CK2(array, index, isSorted)
6216 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6217 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_CK2
6218 : #endif
6219 : use pm_kind, only: CKC => CK2
6220 : complex(CKC) , intent(in) , contiguous :: array(:)
6221 : integer(IK) , intent(out) , contiguous :: index(:)
6222 : procedure(logical(LK)) :: isSorted
6223 : end subroutine
6224 : #endif
6225 :
6226 : #if CK1_ENABLED
6227 : module subroutine setSortedIndCusComDef_D1_CK1(array, index, isSorted)
6228 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6229 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_CK1
6230 : #endif
6231 : use pm_kind, only: CKC => CK1
6232 : complex(CKC) , intent(in) , contiguous :: array(:)
6233 : integer(IK) , intent(out) , contiguous :: index(:)
6234 : procedure(logical(LK)) :: isSorted
6235 : end subroutine
6236 : #endif
6237 :
6238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6239 :
6240 : #if RK5_ENABLED
6241 : module subroutine setSortedIndCusComDef_D1_RK5(array, index, isSorted)
6242 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6243 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_RK5
6244 : #endif
6245 : use pm_kind, only: RKC => RK5
6246 : real(RKC) , intent(in) , contiguous :: array(:)
6247 : integer(IK) , intent(out) , contiguous :: index(:)
6248 : procedure(logical(LK)) :: isSorted
6249 : end subroutine
6250 : #endif
6251 :
6252 : #if RK4_ENABLED
6253 : module subroutine setSortedIndCusComDef_D1_RK4(array, index, isSorted)
6254 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6255 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_RK4
6256 : #endif
6257 : use pm_kind, only: RKC => RK4
6258 : real(RKC) , intent(in) , contiguous :: array(:)
6259 : integer(IK) , intent(out) , contiguous :: index(:)
6260 : procedure(logical(LK)) :: isSorted
6261 : end subroutine
6262 : #endif
6263 :
6264 : #if RK3_ENABLED
6265 : module subroutine setSortedIndCusComDef_D1_RK3(array, index, isSorted)
6266 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6267 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_RK3
6268 : #endif
6269 : use pm_kind, only: RKC => RK3
6270 : real(RKC) , intent(in) , contiguous :: array(:)
6271 : integer(IK) , intent(out) , contiguous :: index(:)
6272 : procedure(logical(LK)) :: isSorted
6273 : end subroutine
6274 : #endif
6275 :
6276 : #if RK2_ENABLED
6277 : module subroutine setSortedIndCusComDef_D1_RK2(array, index, isSorted)
6278 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6279 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_RK2
6280 : #endif
6281 : use pm_kind, only: RKC => RK2
6282 : real(RKC) , intent(in) , contiguous :: array(:)
6283 : integer(IK) , intent(out) , contiguous :: index(:)
6284 : procedure(logical(LK)) :: isSorted
6285 : end subroutine
6286 : #endif
6287 :
6288 : #if RK1_ENABLED
6289 : module subroutine setSortedIndCusComDef_D1_RK1(array, index, isSorted)
6290 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6291 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_RK1
6292 : #endif
6293 : use pm_kind, only: RKC => RK1
6294 : real(RKC) , intent(in) , contiguous :: array(:)
6295 : integer(IK) , intent(out) , contiguous :: index(:)
6296 : procedure(logical(LK)) :: isSorted
6297 : end subroutine
6298 : #endif
6299 :
6300 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6301 :
6302 : #if SK5_ENABLED
6303 : module subroutine setSortedIndCusComDef_D1_PSSK5(array, index, isSorted)
6304 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6305 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_PSSK5
6306 : #endif
6307 : use pm_kind, only: SKC => SK5
6308 : use pm_container, only: css_pdt
6309 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
6310 : integer(IK) , intent(out) , contiguous :: index(:)
6311 : procedure(logical(LK)) :: isSorted
6312 : end subroutine
6313 : #endif
6314 :
6315 : #if SK4_ENABLED
6316 : module subroutine setSortedIndCusComDef_D1_PSSK4(array, index, isSorted)
6317 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6318 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_PSSK4
6319 : #endif
6320 : use pm_kind, only: SKC => SK4
6321 : use pm_container, only: css_pdt
6322 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
6323 : integer(IK) , intent(out) , contiguous :: index(:)
6324 : procedure(logical(LK)) :: isSorted
6325 : end subroutine
6326 : #endif
6327 :
6328 : #if SK3_ENABLED
6329 : module subroutine setSortedIndCusComDef_D1_PSSK3(array, index, isSorted)
6330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6331 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_PSSK3
6332 : #endif
6333 : use pm_kind, only: SKC => SK3
6334 : use pm_container, only: css_pdt
6335 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
6336 : integer(IK) , intent(out) , contiguous :: index(:)
6337 : procedure(logical(LK)) :: isSorted
6338 : end subroutine
6339 : #endif
6340 :
6341 : #if SK2_ENABLED
6342 : module subroutine setSortedIndCusComDef_D1_PSSK2(array, index, isSorted)
6343 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6344 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_PSSK2
6345 : #endif
6346 : use pm_kind, only: SKC => SK2
6347 : use pm_container, only: css_pdt
6348 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
6349 : integer(IK) , intent(out) , contiguous :: index(:)
6350 : procedure(logical(LK)) :: isSorted
6351 : end subroutine
6352 : #endif
6353 :
6354 : #if SK1_ENABLED
6355 : module subroutine setSortedIndCusComDef_D1_PSSK1(array, index, isSorted)
6356 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6357 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_PSSK1
6358 : #endif
6359 : use pm_kind, only: SKC => SK1
6360 : use pm_container, only: css_pdt
6361 : type(css_pdt(SKC)) , intent(in) , contiguous :: array(:)
6362 : integer(IK) , intent(out) , contiguous :: index(:)
6363 : procedure(logical(LK)) :: isSorted
6364 : end subroutine
6365 : #endif
6366 :
6367 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6368 :
6369 : module subroutine setSortedIndCusComDef_D1_BSSK(array, index, isSorted)
6370 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6371 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedIndCusComDef_D1_BSSK
6372 : #endif
6373 : use pm_kind, only: SKC => SK
6374 : use pm_container, only: css_type
6375 : type(css_type) , intent(in) , contiguous :: array(:)
6376 : integer(IK) , intent(out) , contiguous :: index(:)
6377 : procedure(logical(LK)) :: isSorted
6378 : end subroutine
6379 :
6380 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6381 :
6382 : end interface
6383 :
6384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6385 :
6386 : ! setSortedArrCusComDef
6387 :
6388 : interface setSorted
6389 :
6390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6391 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6393 :
6394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6395 :
6396 : #if SK5_ENABLED
6397 : module subroutine setSortedArrCusComDef_D0_SK5(array, isSorted)
6398 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6399 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D0_SK5
6400 : #endif
6401 : use pm_kind, only: SKC => SK5
6402 : character(*,SKC) , intent(inout) :: array
6403 : procedure(logical(LK)) :: isSorted
6404 : end subroutine
6405 : #endif
6406 :
6407 : #if SK4_ENABLED
6408 : module subroutine setSortedArrCusComDef_D0_SK4(array, isSorted)
6409 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6410 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D0_SK4
6411 : #endif
6412 : use pm_kind, only: SKC => SK4
6413 : character(*,SKC) , intent(inout) :: array
6414 : procedure(logical(LK)) :: isSorted
6415 : end subroutine
6416 : #endif
6417 :
6418 : #if SK3_ENABLED
6419 : module subroutine setSortedArrCusComDef_D0_SK3(array, isSorted)
6420 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6421 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D0_SK3
6422 : #endif
6423 : use pm_kind, only: SKC => SK3
6424 : character(*,SKC) , intent(inout) :: array
6425 : procedure(logical(LK)) :: isSorted
6426 : end subroutine
6427 : #endif
6428 :
6429 : #if SK2_ENABLED
6430 : module subroutine setSortedArrCusComDef_D0_SK2(array, isSorted)
6431 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6432 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D0_SK2
6433 : #endif
6434 : use pm_kind, only: SKC => SK2
6435 : character(*,SKC) , intent(inout) :: array
6436 : procedure(logical(LK)) :: isSorted
6437 : end subroutine
6438 : #endif
6439 :
6440 : #if SK1_ENABLED
6441 : module subroutine setSortedArrCusComDef_D0_SK1(array, isSorted)
6442 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6443 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D0_SK1
6444 : #endif
6445 : use pm_kind, only: SKC => SK1
6446 : character(*,SKC) , intent(inout) :: array
6447 : procedure(logical(LK)) :: isSorted
6448 : end subroutine
6449 : #endif
6450 :
6451 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6452 :
6453 : #if SK5_ENABLED
6454 : module subroutine setSortedArrCusComDef_D1_SK5(array, isSorted)
6455 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6456 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_SK5
6457 : #endif
6458 : use pm_kind, only: SKC => SK5
6459 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6460 : procedure(logical(LK)) :: isSorted
6461 : end subroutine
6462 : #endif
6463 :
6464 : #if SK4_ENABLED
6465 : module subroutine setSortedArrCusComDef_D1_SK4(array, isSorted)
6466 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6467 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_SK4
6468 : #endif
6469 : use pm_kind, only: SKC => SK4
6470 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6471 : procedure(logical(LK)) :: isSorted
6472 : end subroutine
6473 : #endif
6474 :
6475 : #if SK3_ENABLED
6476 : module subroutine setSortedArrCusComDef_D1_SK3(array, isSorted)
6477 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6478 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_SK3
6479 : #endif
6480 : use pm_kind, only: SKC => SK3
6481 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6482 : procedure(logical(LK)) :: isSorted
6483 : end subroutine
6484 : #endif
6485 :
6486 : #if SK2_ENABLED
6487 : module subroutine setSortedArrCusComDef_D1_SK2(array, isSorted)
6488 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6489 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_SK2
6490 : #endif
6491 : use pm_kind, only: SKC => SK2
6492 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6493 : procedure(logical(LK)) :: isSorted
6494 : end subroutine
6495 : #endif
6496 :
6497 : #if SK1_ENABLED
6498 : module subroutine setSortedArrCusComDef_D1_SK1(array, isSorted)
6499 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6500 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_SK1
6501 : #endif
6502 : use pm_kind, only: SKC => SK1
6503 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6504 : procedure(logical(LK)) :: isSorted
6505 : end subroutine
6506 : #endif
6507 :
6508 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6509 :
6510 : #if IK5_ENABLED
6511 : module subroutine setSortedArrCusComDef_D1_IK5(array, isSorted)
6512 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6513 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_IK5
6514 : #endif
6515 : use pm_kind, only: IKC => IK5
6516 : integer(IKC) , intent(inout) , contiguous :: array(:)
6517 : procedure(logical(LK)) :: isSorted
6518 : end subroutine
6519 : #endif
6520 :
6521 : #if IK4_ENABLED
6522 : module subroutine setSortedArrCusComDef_D1_IK4(array, isSorted)
6523 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6524 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_IK4
6525 : #endif
6526 : use pm_kind, only: IKC => IK4
6527 : integer(IKC) , intent(inout) , contiguous :: array(:)
6528 : procedure(logical(LK)) :: isSorted
6529 : end subroutine
6530 : #endif
6531 :
6532 : #if IK3_ENABLED
6533 : module subroutine setSortedArrCusComDef_D1_IK3(array, isSorted)
6534 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6535 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_IK3
6536 : #endif
6537 : use pm_kind, only: IKC => IK3
6538 : integer(IKC) , intent(inout) , contiguous :: array(:)
6539 : procedure(logical(LK)) :: isSorted
6540 : end subroutine
6541 : #endif
6542 :
6543 : #if IK2_ENABLED
6544 : module subroutine setSortedArrCusComDef_D1_IK2(array, isSorted)
6545 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6546 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_IK2
6547 : #endif
6548 : use pm_kind, only: IKC => IK2
6549 : integer(IKC) , intent(inout) , contiguous :: array(:)
6550 : procedure(logical(LK)) :: isSorted
6551 : end subroutine
6552 : #endif
6553 :
6554 : #if IK1_ENABLED
6555 : module subroutine setSortedArrCusComDef_D1_IK1(array, isSorted)
6556 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6557 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_IK1
6558 : #endif
6559 : use pm_kind, only: IKC => IK1
6560 : integer(IKC) , intent(inout) , contiguous :: array(:)
6561 : procedure(logical(LK)) :: isSorted
6562 : end subroutine
6563 : #endif
6564 :
6565 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6566 :
6567 : #if LK5_ENABLED
6568 : module subroutine setSortedArrCusComDef_D1_LK5(array, isSorted)
6569 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6570 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_LK5
6571 : #endif
6572 : use pm_kind, only: LKC => LK5
6573 : logical(LKC) , intent(inout) , contiguous :: array(:)
6574 : procedure(logical(LK)) :: isSorted
6575 : end subroutine
6576 : #endif
6577 :
6578 : #if LK4_ENABLED
6579 : module subroutine setSortedArrCusComDef_D1_LK4(array, isSorted)
6580 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6581 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_LK4
6582 : #endif
6583 : use pm_kind, only: LKC => LK4
6584 : logical(LKC) , intent(inout) , contiguous :: array(:)
6585 : procedure(logical(LK)) :: isSorted
6586 : end subroutine
6587 : #endif
6588 :
6589 : #if LK3_ENABLED
6590 : module subroutine setSortedArrCusComDef_D1_LK3(array, isSorted)
6591 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6592 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_LK3
6593 : #endif
6594 : use pm_kind, only: LKC => LK3
6595 : logical(LKC) , intent(inout) , contiguous :: array(:)
6596 : procedure(logical(LK)) :: isSorted
6597 : end subroutine
6598 : #endif
6599 :
6600 : #if LK2_ENABLED
6601 : module subroutine setSortedArrCusComDef_D1_LK2(array, isSorted)
6602 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6603 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_LK2
6604 : #endif
6605 : use pm_kind, only: LKC => LK2
6606 : logical(LKC) , intent(inout) , contiguous :: array(:)
6607 : procedure(logical(LK)) :: isSorted
6608 : end subroutine
6609 : #endif
6610 :
6611 : #if LK1_ENABLED
6612 : module subroutine setSortedArrCusComDef_D1_LK1(array, isSorted)
6613 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6614 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_LK1
6615 : #endif
6616 : use pm_kind, only: LKC => LK1
6617 : logical(LKC) , intent(inout) , contiguous :: array(:)
6618 : procedure(logical(LK)) :: isSorted
6619 : end subroutine
6620 : #endif
6621 :
6622 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6623 :
6624 : #if CK5_ENABLED
6625 : module subroutine setSortedArrCusComDef_D1_CK5(array, isSorted)
6626 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6627 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_CK5
6628 : #endif
6629 : use pm_kind, only: CKC => CK5
6630 : complex(CKC) , intent(inout) , contiguous :: array(:)
6631 : procedure(logical(LK)) :: isSorted
6632 : end subroutine
6633 : #endif
6634 :
6635 : #if CK4_ENABLED
6636 : module subroutine setSortedArrCusComDef_D1_CK4(array, isSorted)
6637 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6638 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_CK4
6639 : #endif
6640 : use pm_kind, only: CKC => CK4
6641 : complex(CKC) , intent(inout) , contiguous :: array(:)
6642 : procedure(logical(LK)) :: isSorted
6643 : end subroutine
6644 : #endif
6645 :
6646 : #if CK3_ENABLED
6647 : module subroutine setSortedArrCusComDef_D1_CK3(array, isSorted)
6648 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6649 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_CK3
6650 : #endif
6651 : use pm_kind, only: CKC => CK3
6652 : complex(CKC) , intent(inout) , contiguous :: array(:)
6653 : procedure(logical(LK)) :: isSorted
6654 : end subroutine
6655 : #endif
6656 :
6657 : #if CK2_ENABLED
6658 : module subroutine setSortedArrCusComDef_D1_CK2(array, isSorted)
6659 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6660 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_CK2
6661 : #endif
6662 : use pm_kind, only: CKC => CK2
6663 : complex(CKC) , intent(inout) , contiguous :: array(:)
6664 : procedure(logical(LK)) :: isSorted
6665 : end subroutine
6666 : #endif
6667 :
6668 : #if CK1_ENABLED
6669 : module subroutine setSortedArrCusComDef_D1_CK1(array, isSorted)
6670 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6671 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_CK1
6672 : #endif
6673 : use pm_kind, only: CKC => CK1
6674 : complex(CKC) , intent(inout) , contiguous :: array(:)
6675 : procedure(logical(LK)) :: isSorted
6676 : end subroutine
6677 : #endif
6678 :
6679 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6680 :
6681 : #if RK5_ENABLED
6682 : module subroutine setSortedArrCusComDef_D1_RK5(array, isSorted)
6683 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6684 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_RK5
6685 : #endif
6686 : use pm_kind, only: RKC => RK5
6687 : real(RKC) , intent(inout) , contiguous :: array(:)
6688 : procedure(logical(LK)) :: isSorted
6689 : end subroutine
6690 : #endif
6691 :
6692 : #if RK4_ENABLED
6693 : module subroutine setSortedArrCusComDef_D1_RK4(array, isSorted)
6694 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6695 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_RK4
6696 : #endif
6697 : use pm_kind, only: RKC => RK4
6698 : real(RKC) , intent(inout) , contiguous :: array(:)
6699 : procedure(logical(LK)) :: isSorted
6700 : end subroutine
6701 : #endif
6702 :
6703 : #if RK3_ENABLED
6704 : module subroutine setSortedArrCusComDef_D1_RK3(array, isSorted)
6705 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6706 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_RK3
6707 : #endif
6708 : use pm_kind, only: RKC => RK3
6709 : real(RKC) , intent(inout) , contiguous :: array(:)
6710 : procedure(logical(LK)) :: isSorted
6711 : end subroutine
6712 : #endif
6713 :
6714 : #if RK2_ENABLED
6715 : module subroutine setSortedArrCusComDef_D1_RK2(array, isSorted)
6716 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6717 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_RK2
6718 : #endif
6719 : use pm_kind, only: RKC => RK2
6720 : real(RKC) , intent(inout) , contiguous :: array(:)
6721 : procedure(logical(LK)) :: isSorted
6722 : end subroutine
6723 : #endif
6724 :
6725 : #if RK1_ENABLED
6726 : module subroutine setSortedArrCusComDef_D1_RK1(array, isSorted)
6727 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6728 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_RK1
6729 : #endif
6730 : use pm_kind, only: RKC => RK1
6731 : real(RKC) , intent(inout) , contiguous :: array(:)
6732 : procedure(logical(LK)) :: isSorted
6733 : end subroutine
6734 : #endif
6735 :
6736 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6737 :
6738 : #if SK5_ENABLED
6739 : module subroutine setSortedArrCusComDef_D1_PSSK5(array, isSorted)
6740 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6741 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_PSSK5
6742 : #endif
6743 : use pm_kind, only: SKC => SK5
6744 : use pm_container, only: css_pdt
6745 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
6746 : procedure(logical(LK)) :: isSorted
6747 : end subroutine
6748 : #endif
6749 :
6750 : #if SK4_ENABLED
6751 : module subroutine setSortedArrCusComDef_D1_PSSK4(array, isSorted)
6752 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6753 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_PSSK4
6754 : #endif
6755 : use pm_kind, only: SKC => SK4
6756 : use pm_container, only: css_pdt
6757 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
6758 : procedure(logical(LK)) :: isSorted
6759 : end subroutine
6760 : #endif
6761 :
6762 : #if SK3_ENABLED
6763 : module subroutine setSortedArrCusComDef_D1_PSSK3(array, isSorted)
6764 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6765 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_PSSK3
6766 : #endif
6767 : use pm_kind, only: SKC => SK3
6768 : use pm_container, only: css_pdt
6769 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
6770 : procedure(logical(LK)) :: isSorted
6771 : end subroutine
6772 : #endif
6773 :
6774 : #if SK2_ENABLED
6775 : module subroutine setSortedArrCusComDef_D1_PSSK2(array, isSorted)
6776 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6777 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_PSSK2
6778 : #endif
6779 : use pm_kind, only: SKC => SK2
6780 : use pm_container, only: css_pdt
6781 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
6782 : procedure(logical(LK)) :: isSorted
6783 : end subroutine
6784 : #endif
6785 :
6786 : #if SK1_ENABLED
6787 : module subroutine setSortedArrCusComDef_D1_PSSK1(array, isSorted)
6788 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6789 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_PSSK1
6790 : #endif
6791 : use pm_kind, only: SKC => SK1
6792 : use pm_container, only: css_pdt
6793 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
6794 : procedure(logical(LK)) :: isSorted
6795 : end subroutine
6796 : #endif
6797 :
6798 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6799 :
6800 : module subroutine setSortedArrCusComDef_D1_BSSK(array, isSorted)
6801 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6802 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComDef_D1_BSSK
6803 : #endif
6804 : use pm_kind, only: SKC => SK
6805 : use pm_container, only: css_type
6806 : type(css_type) , intent(inout) , contiguous :: array(:)
6807 : procedure(logical(LK)) :: isSorted
6808 : end subroutine
6809 :
6810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6811 :
6812 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6813 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6814 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6815 :
6816 : end interface
6817 :
6818 : ! setSortedArrCusComQsorti
6819 :
6820 : interface setSorted
6821 :
6822 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6823 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6824 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6825 :
6826 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6827 :
6828 : #if SK5_ENABLED
6829 : module subroutine setSortedArrCusComQsorti_D0_SK5(array, isSorted, method)
6830 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6831 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D0_SK5
6832 : #endif
6833 : use pm_kind, only: SKC => SK5
6834 : character(*,SKC) , intent(inout) :: array
6835 : procedure(logical(LK)) :: isSorted
6836 : type(qsorti_type) , intent(in) :: method
6837 : end subroutine
6838 : #endif
6839 :
6840 : #if SK4_ENABLED
6841 : module subroutine setSortedArrCusComQsorti_D0_SK4(array, isSorted, method)
6842 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6843 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D0_SK4
6844 : #endif
6845 : use pm_kind, only: SKC => SK4
6846 : character(*,SKC) , intent(inout) :: array
6847 : procedure(logical(LK)) :: isSorted
6848 : type(qsorti_type) , intent(in) :: method
6849 : end subroutine
6850 : #endif
6851 :
6852 : #if SK3_ENABLED
6853 : module subroutine setSortedArrCusComQsorti_D0_SK3(array, isSorted, method)
6854 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6855 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D0_SK3
6856 : #endif
6857 : use pm_kind, only: SKC => SK3
6858 : character(*,SKC) , intent(inout) :: array
6859 : procedure(logical(LK)) :: isSorted
6860 : type(qsorti_type) , intent(in) :: method
6861 : end subroutine
6862 : #endif
6863 :
6864 : #if SK2_ENABLED
6865 : module subroutine setSortedArrCusComQsorti_D0_SK2(array, isSorted, method)
6866 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6867 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D0_SK2
6868 : #endif
6869 : use pm_kind, only: SKC => SK2
6870 : character(*,SKC) , intent(inout) :: array
6871 : procedure(logical(LK)) :: isSorted
6872 : type(qsorti_type) , intent(in) :: method
6873 : end subroutine
6874 : #endif
6875 :
6876 : #if SK1_ENABLED
6877 : module subroutine setSortedArrCusComQsorti_D0_SK1(array, isSorted, method)
6878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6879 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D0_SK1
6880 : #endif
6881 : use pm_kind, only: SKC => SK1
6882 : character(*,SKC) , intent(inout) :: array
6883 : procedure(logical(LK)) :: isSorted
6884 : type(qsorti_type) , intent(in) :: method
6885 : end subroutine
6886 : #endif
6887 :
6888 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6889 :
6890 : #if SK5_ENABLED
6891 : module subroutine setSortedArrCusComQsorti_D1_SK5(array, isSorted, method)
6892 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6893 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_SK5
6894 : #endif
6895 : use pm_kind, only: SKC => SK5
6896 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6897 : procedure(logical(LK)) :: isSorted
6898 : type(qsorti_type) , intent(in) :: method
6899 : end subroutine
6900 : #endif
6901 :
6902 : #if SK4_ENABLED
6903 : module subroutine setSortedArrCusComQsorti_D1_SK4(array, isSorted, method)
6904 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6905 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_SK4
6906 : #endif
6907 : use pm_kind, only: SKC => SK4
6908 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6909 : procedure(logical(LK)) :: isSorted
6910 : type(qsorti_type) , intent(in) :: method
6911 : end subroutine
6912 : #endif
6913 :
6914 : #if SK3_ENABLED
6915 : module subroutine setSortedArrCusComQsorti_D1_SK3(array, isSorted, method)
6916 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6917 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_SK3
6918 : #endif
6919 : use pm_kind, only: SKC => SK3
6920 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6921 : procedure(logical(LK)) :: isSorted
6922 : type(qsorti_type) , intent(in) :: method
6923 : end subroutine
6924 : #endif
6925 :
6926 : #if SK2_ENABLED
6927 : module subroutine setSortedArrCusComQsorti_D1_SK2(array, isSorted, method)
6928 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6929 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_SK2
6930 : #endif
6931 : use pm_kind, only: SKC => SK2
6932 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6933 : procedure(logical(LK)) :: isSorted
6934 : type(qsorti_type) , intent(in) :: method
6935 : end subroutine
6936 : #endif
6937 :
6938 : #if SK1_ENABLED
6939 : module subroutine setSortedArrCusComQsorti_D1_SK1(array, isSorted, method)
6940 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6941 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_SK1
6942 : #endif
6943 : use pm_kind, only: SKC => SK1
6944 : character(*,SKC) , intent(inout) , contiguous :: array(:)
6945 : procedure(logical(LK)) :: isSorted
6946 : type(qsorti_type) , intent(in) :: method
6947 : end subroutine
6948 : #endif
6949 :
6950 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6951 :
6952 : #if IK5_ENABLED
6953 : module subroutine setSortedArrCusComQsorti_D1_IK5(array, isSorted, method)
6954 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6955 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_IK5
6956 : #endif
6957 : use pm_kind, only: IKC => IK5
6958 : integer(IKC) , intent(inout) , contiguous :: array(:)
6959 : procedure(logical(LK)) :: isSorted
6960 : type(qsorti_type) , intent(in) :: method
6961 : end subroutine
6962 : #endif
6963 :
6964 : #if IK4_ENABLED
6965 : module subroutine setSortedArrCusComQsorti_D1_IK4(array, isSorted, method)
6966 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6967 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_IK4
6968 : #endif
6969 : use pm_kind, only: IKC => IK4
6970 : integer(IKC) , intent(inout) , contiguous :: array(:)
6971 : procedure(logical(LK)) :: isSorted
6972 : type(qsorti_type) , intent(in) :: method
6973 : end subroutine
6974 : #endif
6975 :
6976 : #if IK3_ENABLED
6977 : module subroutine setSortedArrCusComQsorti_D1_IK3(array, isSorted, method)
6978 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6979 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_IK3
6980 : #endif
6981 : use pm_kind, only: IKC => IK3
6982 : integer(IKC) , intent(inout) , contiguous :: array(:)
6983 : procedure(logical(LK)) :: isSorted
6984 : type(qsorti_type) , intent(in) :: method
6985 : end subroutine
6986 : #endif
6987 :
6988 : #if IK2_ENABLED
6989 : module subroutine setSortedArrCusComQsorti_D1_IK2(array, isSorted, method)
6990 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6991 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_IK2
6992 : #endif
6993 : use pm_kind, only: IKC => IK2
6994 : integer(IKC) , intent(inout) , contiguous :: array(:)
6995 : procedure(logical(LK)) :: isSorted
6996 : type(qsorti_type) , intent(in) :: method
6997 : end subroutine
6998 : #endif
6999 :
7000 : #if IK1_ENABLED
7001 : module subroutine setSortedArrCusComQsorti_D1_IK1(array, isSorted, method)
7002 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7003 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_IK1
7004 : #endif
7005 : use pm_kind, only: IKC => IK1
7006 : integer(IKC) , intent(inout) , contiguous :: array(:)
7007 : procedure(logical(LK)) :: isSorted
7008 : type(qsorti_type) , intent(in) :: method
7009 : end subroutine
7010 : #endif
7011 :
7012 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7013 :
7014 : #if LK5_ENABLED
7015 : module subroutine setSortedArrCusComQsorti_D1_LK5(array, isSorted, method)
7016 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7017 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_LK5
7018 : #endif
7019 : use pm_kind, only: LKC => LK5
7020 : logical(LKC) , intent(inout) , contiguous :: array(:)
7021 : procedure(logical(LK)) :: isSorted
7022 : type(qsorti_type) , intent(in) :: method
7023 : end subroutine
7024 : #endif
7025 :
7026 : #if LK4_ENABLED
7027 : module subroutine setSortedArrCusComQsorti_D1_LK4(array, isSorted, method)
7028 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7029 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_LK4
7030 : #endif
7031 : use pm_kind, only: LKC => LK4
7032 : logical(LKC) , intent(inout) , contiguous :: array(:)
7033 : procedure(logical(LK)) :: isSorted
7034 : type(qsorti_type) , intent(in) :: method
7035 : end subroutine
7036 : #endif
7037 :
7038 : #if LK3_ENABLED
7039 : module subroutine setSortedArrCusComQsorti_D1_LK3(array, isSorted, method)
7040 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7041 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_LK3
7042 : #endif
7043 : use pm_kind, only: LKC => LK3
7044 : logical(LKC) , intent(inout) , contiguous :: array(:)
7045 : procedure(logical(LK)) :: isSorted
7046 : type(qsorti_type) , intent(in) :: method
7047 : end subroutine
7048 : #endif
7049 :
7050 : #if LK2_ENABLED
7051 : module subroutine setSortedArrCusComQsorti_D1_LK2(array, isSorted, method)
7052 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7053 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_LK2
7054 : #endif
7055 : use pm_kind, only: LKC => LK2
7056 : logical(LKC) , intent(inout) , contiguous :: array(:)
7057 : procedure(logical(LK)) :: isSorted
7058 : type(qsorti_type) , intent(in) :: method
7059 : end subroutine
7060 : #endif
7061 :
7062 : #if LK1_ENABLED
7063 : module subroutine setSortedArrCusComQsorti_D1_LK1(array, isSorted, method)
7064 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7065 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_LK1
7066 : #endif
7067 : use pm_kind, only: LKC => LK1
7068 : logical(LKC) , intent(inout) , contiguous :: array(:)
7069 : procedure(logical(LK)) :: isSorted
7070 : type(qsorti_type) , intent(in) :: method
7071 : end subroutine
7072 : #endif
7073 :
7074 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7075 :
7076 : #if CK5_ENABLED
7077 : module subroutine setSortedArrCusComQsorti_D1_CK5(array, isSorted, method)
7078 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7079 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_CK5
7080 : #endif
7081 : use pm_kind, only: CKC => CK5
7082 : complex(CKC) , intent(inout) , contiguous :: array(:)
7083 : procedure(logical(LK)) :: isSorted
7084 : type(qsorti_type) , intent(in) :: method
7085 : end subroutine
7086 : #endif
7087 :
7088 : #if CK4_ENABLED
7089 : module subroutine setSortedArrCusComQsorti_D1_CK4(array, isSorted, method)
7090 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7091 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_CK4
7092 : #endif
7093 : use pm_kind, only: CKC => CK4
7094 : complex(CKC) , intent(inout) , contiguous :: array(:)
7095 : procedure(logical(LK)) :: isSorted
7096 : type(qsorti_type) , intent(in) :: method
7097 : end subroutine
7098 : #endif
7099 :
7100 : #if CK3_ENABLED
7101 : module subroutine setSortedArrCusComQsorti_D1_CK3(array, isSorted, method)
7102 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7103 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_CK3
7104 : #endif
7105 : use pm_kind, only: CKC => CK3
7106 : complex(CKC) , intent(inout) , contiguous :: array(:)
7107 : procedure(logical(LK)) :: isSorted
7108 : type(qsorti_type) , intent(in) :: method
7109 : end subroutine
7110 : #endif
7111 :
7112 : #if CK2_ENABLED
7113 : module subroutine setSortedArrCusComQsorti_D1_CK2(array, isSorted, method)
7114 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7115 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_CK2
7116 : #endif
7117 : use pm_kind, only: CKC => CK2
7118 : complex(CKC) , intent(inout) , contiguous :: array(:)
7119 : procedure(logical(LK)) :: isSorted
7120 : type(qsorti_type) , intent(in) :: method
7121 : end subroutine
7122 : #endif
7123 :
7124 : #if CK1_ENABLED
7125 : module subroutine setSortedArrCusComQsorti_D1_CK1(array, isSorted, method)
7126 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7127 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_CK1
7128 : #endif
7129 : use pm_kind, only: CKC => CK1
7130 : complex(CKC) , intent(inout) , contiguous :: array(:)
7131 : procedure(logical(LK)) :: isSorted
7132 : type(qsorti_type) , intent(in) :: method
7133 : end subroutine
7134 : #endif
7135 :
7136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7137 :
7138 : #if RK5_ENABLED
7139 : module subroutine setSortedArrCusComQsorti_D1_RK5(array, isSorted, method)
7140 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7141 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_RK5
7142 : #endif
7143 : use pm_kind, only: RKC => RK5
7144 : real(RKC) , intent(inout) , contiguous :: array(:)
7145 : procedure(logical(LK)) :: isSorted
7146 : type(qsorti_type) , intent(in) :: method
7147 : end subroutine
7148 : #endif
7149 :
7150 : #if RK4_ENABLED
7151 : module subroutine setSortedArrCusComQsorti_D1_RK4(array, isSorted, method)
7152 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7153 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_RK4
7154 : #endif
7155 : use pm_kind, only: RKC => RK4
7156 : real(RKC) , intent(inout) , contiguous :: array(:)
7157 : procedure(logical(LK)) :: isSorted
7158 : type(qsorti_type) , intent(in) :: method
7159 : end subroutine
7160 : #endif
7161 :
7162 : #if RK3_ENABLED
7163 : module subroutine setSortedArrCusComQsorti_D1_RK3(array, isSorted, method)
7164 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7165 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_RK3
7166 : #endif
7167 : use pm_kind, only: RKC => RK3
7168 : real(RKC) , intent(inout) , contiguous :: array(:)
7169 : procedure(logical(LK)) :: isSorted
7170 : type(qsorti_type) , intent(in) :: method
7171 : end subroutine
7172 : #endif
7173 :
7174 : #if RK2_ENABLED
7175 : module subroutine setSortedArrCusComQsorti_D1_RK2(array, isSorted, method)
7176 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7177 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_RK2
7178 : #endif
7179 : use pm_kind, only: RKC => RK2
7180 : real(RKC) , intent(inout) , contiguous :: array(:)
7181 : procedure(logical(LK)) :: isSorted
7182 : type(qsorti_type) , intent(in) :: method
7183 : end subroutine
7184 : #endif
7185 :
7186 : #if RK1_ENABLED
7187 : module subroutine setSortedArrCusComQsorti_D1_RK1(array, isSorted, method)
7188 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7189 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_RK1
7190 : #endif
7191 : use pm_kind, only: RKC => RK1
7192 : real(RKC) , intent(inout) , contiguous :: array(:)
7193 : procedure(logical(LK)) :: isSorted
7194 : type(qsorti_type) , intent(in) :: method
7195 : end subroutine
7196 : #endif
7197 :
7198 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7199 :
7200 : #if SK5_ENABLED
7201 : module subroutine setSortedArrCusComQsorti_D1_PSSK5(array, isSorted, method)
7202 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7203 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_PSSK5
7204 : #endif
7205 : use pm_kind, only: SKC => SK5
7206 : use pm_container, only: css_pdt
7207 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7208 : procedure(logical(LK)) :: isSorted
7209 : type(qsorti_type) , intent(in) :: method
7210 : end subroutine
7211 : #endif
7212 :
7213 : #if SK4_ENABLED
7214 : module subroutine setSortedArrCusComQsorti_D1_PSSK4(array, isSorted, method)
7215 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7216 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_PSSK4
7217 : #endif
7218 : use pm_kind, only: SKC => SK4
7219 : use pm_container, only: css_pdt
7220 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7221 : procedure(logical(LK)) :: isSorted
7222 : type(qsorti_type) , intent(in) :: method
7223 : end subroutine
7224 : #endif
7225 :
7226 : #if SK3_ENABLED
7227 : module subroutine setSortedArrCusComQsorti_D1_PSSK3(array, isSorted, method)
7228 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7229 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_PSSK3
7230 : #endif
7231 : use pm_kind, only: SKC => SK3
7232 : use pm_container, only: css_pdt
7233 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7234 : procedure(logical(LK)) :: isSorted
7235 : type(qsorti_type) , intent(in) :: method
7236 : end subroutine
7237 : #endif
7238 :
7239 : #if SK2_ENABLED
7240 : module subroutine setSortedArrCusComQsorti_D1_PSSK2(array, isSorted, method)
7241 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7242 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_PSSK2
7243 : #endif
7244 : use pm_kind, only: SKC => SK2
7245 : use pm_container, only: css_pdt
7246 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7247 : procedure(logical(LK)) :: isSorted
7248 : type(qsorti_type) , intent(in) :: method
7249 : end subroutine
7250 : #endif
7251 :
7252 : #if SK1_ENABLED
7253 : module subroutine setSortedArrCusComQsorti_D1_PSSK1(array, isSorted, method)
7254 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7255 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_PSSK1
7256 : #endif
7257 : use pm_kind, only: SKC => SK1
7258 : use pm_container, only: css_pdt
7259 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7260 : procedure(logical(LK)) :: isSorted
7261 : type(qsorti_type) , intent(in) :: method
7262 : end subroutine
7263 : #endif
7264 :
7265 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7266 :
7267 : module subroutine setSortedArrCusComQsorti_D1_BSSK(array, isSorted, method)
7268 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7269 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsorti_D1_BSSK
7270 : #endif
7271 : use pm_kind, only: SKC => SK
7272 : use pm_container, only: css_type
7273 : type(css_type) , intent(inout) , contiguous :: array(:)
7274 : procedure(logical(LK)) :: isSorted
7275 : type(qsorti_type) , intent(in) :: method
7276 : end subroutine
7277 :
7278 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7279 :
7280 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7281 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7283 :
7284 : end interface
7285 :
7286 : ! setSortedArrCusComQsortr
7287 :
7288 : interface setSorted
7289 :
7290 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7291 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7292 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7293 :
7294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7295 :
7296 : #if SK5_ENABLED
7297 : recursive module subroutine setSortedArrCusComQsortr_D0_SK5(array, isSorted, method)
7298 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7299 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D0_SK5
7300 : #endif
7301 : use pm_kind, only: SKC => SK5
7302 : character(*,SKC) , intent(inout) :: array
7303 : procedure(logical(LK)) :: isSorted
7304 : type(qsortr_type) , intent(in) :: method
7305 : end subroutine
7306 : #endif
7307 :
7308 : #if SK4_ENABLED
7309 : recursive module subroutine setSortedArrCusComQsortr_D0_SK4(array, isSorted, method)
7310 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7311 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D0_SK4
7312 : #endif
7313 : use pm_kind, only: SKC => SK4
7314 : character(*,SKC) , intent(inout) :: array
7315 : procedure(logical(LK)) :: isSorted
7316 : type(qsortr_type) , intent(in) :: method
7317 : end subroutine
7318 : #endif
7319 :
7320 : #if SK3_ENABLED
7321 : recursive module subroutine setSortedArrCusComQsortr_D0_SK3(array, isSorted, method)
7322 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7323 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D0_SK3
7324 : #endif
7325 : use pm_kind, only: SKC => SK3
7326 : character(*,SKC) , intent(inout) :: array
7327 : procedure(logical(LK)) :: isSorted
7328 : type(qsortr_type) , intent(in) :: method
7329 : end subroutine
7330 : #endif
7331 :
7332 : #if SK2_ENABLED
7333 : recursive module subroutine setSortedArrCusComQsortr_D0_SK2(array, isSorted, method)
7334 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7335 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D0_SK2
7336 : #endif
7337 : use pm_kind, only: SKC => SK2
7338 : character(*,SKC) , intent(inout) :: array
7339 : procedure(logical(LK)) :: isSorted
7340 : type(qsortr_type) , intent(in) :: method
7341 : end subroutine
7342 : #endif
7343 :
7344 : #if SK1_ENABLED
7345 : recursive module subroutine setSortedArrCusComQsortr_D0_SK1(array, isSorted, method)
7346 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7347 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D0_SK1
7348 : #endif
7349 : use pm_kind, only: SKC => SK1
7350 : character(*,SKC) , intent(inout) :: array
7351 : procedure(logical(LK)) :: isSorted
7352 : type(qsortr_type) , intent(in) :: method
7353 : end subroutine
7354 : #endif
7355 :
7356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7357 :
7358 : #if SK5_ENABLED
7359 : recursive module subroutine setSortedArrCusComQsortr_D1_SK5(array, isSorted, method)
7360 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7361 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_SK5
7362 : #endif
7363 : use pm_kind, only: SKC => SK5
7364 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7365 : procedure(logical(LK)) :: isSorted
7366 : type(qsortr_type) , intent(in) :: method
7367 : end subroutine
7368 : #endif
7369 :
7370 : #if SK4_ENABLED
7371 : recursive module subroutine setSortedArrCusComQsortr_D1_SK4(array, isSorted, method)
7372 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7373 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_SK4
7374 : #endif
7375 : use pm_kind, only: SKC => SK4
7376 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7377 : procedure(logical(LK)) :: isSorted
7378 : type(qsortr_type) , intent(in) :: method
7379 : end subroutine
7380 : #endif
7381 :
7382 : #if SK3_ENABLED
7383 : recursive module subroutine setSortedArrCusComQsortr_D1_SK3(array, isSorted, method)
7384 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7385 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_SK3
7386 : #endif
7387 : use pm_kind, only: SKC => SK3
7388 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7389 : procedure(logical(LK)) :: isSorted
7390 : type(qsortr_type) , intent(in) :: method
7391 : end subroutine
7392 : #endif
7393 :
7394 : #if SK2_ENABLED
7395 : recursive module subroutine setSortedArrCusComQsortr_D1_SK2(array, isSorted, method)
7396 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7397 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_SK2
7398 : #endif
7399 : use pm_kind, only: SKC => SK2
7400 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7401 : procedure(logical(LK)) :: isSorted
7402 : type(qsortr_type) , intent(in) :: method
7403 : end subroutine
7404 : #endif
7405 :
7406 : #if SK1_ENABLED
7407 : recursive module subroutine setSortedArrCusComQsortr_D1_SK1(array, isSorted, method)
7408 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7409 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_SK1
7410 : #endif
7411 : use pm_kind, only: SKC => SK1
7412 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7413 : procedure(logical(LK)) :: isSorted
7414 : type(qsortr_type) , intent(in) :: method
7415 : end subroutine
7416 : #endif
7417 :
7418 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7419 :
7420 : #if IK5_ENABLED
7421 : recursive module subroutine setSortedArrCusComQsortr_D1_IK5(array, isSorted, method)
7422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7423 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_IK5
7424 : #endif
7425 : use pm_kind, only: IKC => IK5
7426 : integer(IKC) , intent(inout) , contiguous :: array(:)
7427 : procedure(logical(LK)) :: isSorted
7428 : type(qsortr_type) , intent(in) :: method
7429 : end subroutine
7430 : #endif
7431 :
7432 : #if IK4_ENABLED
7433 : recursive module subroutine setSortedArrCusComQsortr_D1_IK4(array, isSorted, method)
7434 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7435 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_IK4
7436 : #endif
7437 : use pm_kind, only: IKC => IK4
7438 : integer(IKC) , intent(inout) , contiguous :: array(:)
7439 : procedure(logical(LK)) :: isSorted
7440 : type(qsortr_type) , intent(in) :: method
7441 : end subroutine
7442 : #endif
7443 :
7444 : #if IK3_ENABLED
7445 : recursive module subroutine setSortedArrCusComQsortr_D1_IK3(array, isSorted, method)
7446 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7447 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_IK3
7448 : #endif
7449 : use pm_kind, only: IKC => IK3
7450 : integer(IKC) , intent(inout) , contiguous :: array(:)
7451 : procedure(logical(LK)) :: isSorted
7452 : type(qsortr_type) , intent(in) :: method
7453 : end subroutine
7454 : #endif
7455 :
7456 : #if IK2_ENABLED
7457 : recursive module subroutine setSortedArrCusComQsortr_D1_IK2(array, isSorted, method)
7458 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7459 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_IK2
7460 : #endif
7461 : use pm_kind, only: IKC => IK2
7462 : integer(IKC) , intent(inout) , contiguous :: array(:)
7463 : procedure(logical(LK)) :: isSorted
7464 : type(qsortr_type) , intent(in) :: method
7465 : end subroutine
7466 : #endif
7467 :
7468 : #if IK1_ENABLED
7469 : recursive module subroutine setSortedArrCusComQsortr_D1_IK1(array, isSorted, method)
7470 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7471 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_IK1
7472 : #endif
7473 : use pm_kind, only: IKC => IK1
7474 : integer(IKC) , intent(inout) , contiguous :: array(:)
7475 : procedure(logical(LK)) :: isSorted
7476 : type(qsortr_type) , intent(in) :: method
7477 : end subroutine
7478 : #endif
7479 :
7480 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7481 :
7482 : #if LK5_ENABLED
7483 : recursive module subroutine setSortedArrCusComQsortr_D1_LK5(array, isSorted, method)
7484 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7485 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_LK5
7486 : #endif
7487 : use pm_kind, only: LKC => LK5
7488 : logical(LKC) , intent(inout) , contiguous :: array(:)
7489 : procedure(logical(LK)) :: isSorted
7490 : type(qsortr_type) , intent(in) :: method
7491 : end subroutine
7492 : #endif
7493 :
7494 : #if LK4_ENABLED
7495 : recursive module subroutine setSortedArrCusComQsortr_D1_LK4(array, isSorted, method)
7496 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7497 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_LK4
7498 : #endif
7499 : use pm_kind, only: LKC => LK4
7500 : logical(LKC) , intent(inout) , contiguous :: array(:)
7501 : procedure(logical(LK)) :: isSorted
7502 : type(qsortr_type) , intent(in) :: method
7503 : end subroutine
7504 : #endif
7505 :
7506 : #if LK3_ENABLED
7507 : recursive module subroutine setSortedArrCusComQsortr_D1_LK3(array, isSorted, method)
7508 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7509 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_LK3
7510 : #endif
7511 : use pm_kind, only: LKC => LK3
7512 : logical(LKC) , intent(inout) , contiguous :: array(:)
7513 : procedure(logical(LK)) :: isSorted
7514 : type(qsortr_type) , intent(in) :: method
7515 : end subroutine
7516 : #endif
7517 :
7518 : #if LK2_ENABLED
7519 : recursive module subroutine setSortedArrCusComQsortr_D1_LK2(array, isSorted, method)
7520 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7521 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_LK2
7522 : #endif
7523 : use pm_kind, only: LKC => LK2
7524 : logical(LKC) , intent(inout) , contiguous :: array(:)
7525 : procedure(logical(LK)) :: isSorted
7526 : type(qsortr_type) , intent(in) :: method
7527 : end subroutine
7528 : #endif
7529 :
7530 : #if LK1_ENABLED
7531 : recursive module subroutine setSortedArrCusComQsortr_D1_LK1(array, isSorted, method)
7532 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7533 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_LK1
7534 : #endif
7535 : use pm_kind, only: LKC => LK1
7536 : logical(LKC) , intent(inout) , contiguous :: array(:)
7537 : procedure(logical(LK)) :: isSorted
7538 : type(qsortr_type) , intent(in) :: method
7539 : end subroutine
7540 : #endif
7541 :
7542 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7543 :
7544 : #if CK5_ENABLED
7545 : recursive module subroutine setSortedArrCusComQsortr_D1_CK5(array, isSorted, method)
7546 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7547 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_CK5
7548 : #endif
7549 : use pm_kind, only: CKC => CK5
7550 : complex(CKC) , intent(inout) , contiguous :: array(:)
7551 : procedure(logical(LK)) :: isSorted
7552 : type(qsortr_type) , intent(in) :: method
7553 : end subroutine
7554 : #endif
7555 :
7556 : #if CK4_ENABLED
7557 : recursive module subroutine setSortedArrCusComQsortr_D1_CK4(array, isSorted, method)
7558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7559 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_CK4
7560 : #endif
7561 : use pm_kind, only: CKC => CK4
7562 : complex(CKC) , intent(inout) , contiguous :: array(:)
7563 : procedure(logical(LK)) :: isSorted
7564 : type(qsortr_type) , intent(in) :: method
7565 : end subroutine
7566 : #endif
7567 :
7568 : #if CK3_ENABLED
7569 : recursive module subroutine setSortedArrCusComQsortr_D1_CK3(array, isSorted, method)
7570 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7571 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_CK3
7572 : #endif
7573 : use pm_kind, only: CKC => CK3
7574 : complex(CKC) , intent(inout) , contiguous :: array(:)
7575 : procedure(logical(LK)) :: isSorted
7576 : type(qsortr_type) , intent(in) :: method
7577 : end subroutine
7578 : #endif
7579 :
7580 : #if CK2_ENABLED
7581 : recursive module subroutine setSortedArrCusComQsortr_D1_CK2(array, isSorted, method)
7582 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7583 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_CK2
7584 : #endif
7585 : use pm_kind, only: CKC => CK2
7586 : complex(CKC) , intent(inout) , contiguous :: array(:)
7587 : procedure(logical(LK)) :: isSorted
7588 : type(qsortr_type) , intent(in) :: method
7589 : end subroutine
7590 : #endif
7591 :
7592 : #if CK1_ENABLED
7593 : recursive module subroutine setSortedArrCusComQsortr_D1_CK1(array, isSorted, method)
7594 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7595 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_CK1
7596 : #endif
7597 : use pm_kind, only: CKC => CK1
7598 : complex(CKC) , intent(inout) , contiguous :: array(:)
7599 : procedure(logical(LK)) :: isSorted
7600 : type(qsortr_type) , intent(in) :: method
7601 : end subroutine
7602 : #endif
7603 :
7604 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7605 :
7606 : #if RK5_ENABLED
7607 : recursive module subroutine setSortedArrCusComQsortr_D1_RK5(array, isSorted, method)
7608 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7609 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_RK5
7610 : #endif
7611 : use pm_kind, only: RKC => RK5
7612 : real(RKC) , intent(inout) , contiguous :: array(:)
7613 : procedure(logical(LK)) :: isSorted
7614 : type(qsortr_type) , intent(in) :: method
7615 : end subroutine
7616 : #endif
7617 :
7618 : #if RK4_ENABLED
7619 : recursive module subroutine setSortedArrCusComQsortr_D1_RK4(array, isSorted, method)
7620 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7621 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_RK4
7622 : #endif
7623 : use pm_kind, only: RKC => RK4
7624 : real(RKC) , intent(inout) , contiguous :: array(:)
7625 : procedure(logical(LK)) :: isSorted
7626 : type(qsortr_type) , intent(in) :: method
7627 : end subroutine
7628 : #endif
7629 :
7630 : #if RK3_ENABLED
7631 : recursive module subroutine setSortedArrCusComQsortr_D1_RK3(array, isSorted, method)
7632 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7633 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_RK3
7634 : #endif
7635 : use pm_kind, only: RKC => RK3
7636 : real(RKC) , intent(inout) , contiguous :: array(:)
7637 : procedure(logical(LK)) :: isSorted
7638 : type(qsortr_type) , intent(in) :: method
7639 : end subroutine
7640 : #endif
7641 :
7642 : #if RK2_ENABLED
7643 : recursive module subroutine setSortedArrCusComQsortr_D1_RK2(array, isSorted, method)
7644 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7645 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_RK2
7646 : #endif
7647 : use pm_kind, only: RKC => RK2
7648 : real(RKC) , intent(inout) , contiguous :: array(:)
7649 : procedure(logical(LK)) :: isSorted
7650 : type(qsortr_type) , intent(in) :: method
7651 : end subroutine
7652 : #endif
7653 :
7654 : #if RK1_ENABLED
7655 : recursive module subroutine setSortedArrCusComQsortr_D1_RK1(array, isSorted, method)
7656 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7657 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_RK1
7658 : #endif
7659 : use pm_kind, only: RKC => RK1
7660 : real(RKC) , intent(inout) , contiguous :: array(:)
7661 : procedure(logical(LK)) :: isSorted
7662 : type(qsortr_type) , intent(in) :: method
7663 : end subroutine
7664 : #endif
7665 :
7666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7667 :
7668 : #if SK5_ENABLED
7669 : recursive module subroutine setSortedArrCusComQsortr_D1_PSSK5(array, isSorted, method)
7670 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7671 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_PSSK5
7672 : #endif
7673 : use pm_kind, only: SKC => SK5
7674 : use pm_container, only: css_pdt
7675 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7676 : procedure(logical(LK)) :: isSorted
7677 : type(qsortr_type) , intent(in) :: method
7678 : end subroutine
7679 : #endif
7680 :
7681 : #if SK4_ENABLED
7682 : recursive module subroutine setSortedArrCusComQsortr_D1_PSSK4(array, isSorted, method)
7683 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7684 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_PSSK4
7685 : #endif
7686 : use pm_kind, only: SKC => SK4
7687 : use pm_container, only: css_pdt
7688 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7689 : procedure(logical(LK)) :: isSorted
7690 : type(qsortr_type) , intent(in) :: method
7691 : end subroutine
7692 : #endif
7693 :
7694 : #if SK3_ENABLED
7695 : recursive module subroutine setSortedArrCusComQsortr_D1_PSSK3(array, isSorted, method)
7696 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7697 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_PSSK3
7698 : #endif
7699 : use pm_kind, only: SKC => SK3
7700 : use pm_container, only: css_pdt
7701 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7702 : procedure(logical(LK)) :: isSorted
7703 : type(qsortr_type) , intent(in) :: method
7704 : end subroutine
7705 : #endif
7706 :
7707 : #if SK2_ENABLED
7708 : recursive module subroutine setSortedArrCusComQsortr_D1_PSSK2(array, isSorted, method)
7709 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7710 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_PSSK2
7711 : #endif
7712 : use pm_kind, only: SKC => SK2
7713 : use pm_container, only: css_pdt
7714 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7715 : procedure(logical(LK)) :: isSorted
7716 : type(qsortr_type) , intent(in) :: method
7717 : end subroutine
7718 : #endif
7719 :
7720 : #if SK1_ENABLED
7721 : recursive module subroutine setSortedArrCusComQsortr_D1_PSSK1(array, isSorted, method)
7722 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7723 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_PSSK1
7724 : #endif
7725 : use pm_kind, only: SKC => SK1
7726 : use pm_container, only: css_pdt
7727 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
7728 : procedure(logical(LK)) :: isSorted
7729 : type(qsortr_type) , intent(in) :: method
7730 : end subroutine
7731 : #endif
7732 :
7733 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7734 :
7735 : recursive module subroutine setSortedArrCusComQsortr_D1_BSSK(array, isSorted, method)
7736 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7737 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortr_D1_BSSK
7738 : #endif
7739 : use pm_kind, only: SKC => SK
7740 : use pm_container, only: css_type
7741 : type(css_type) , intent(inout) , contiguous :: array(:)
7742 : procedure(logical(LK)) :: isSorted
7743 : type(qsortr_type) , intent(in) :: method
7744 : end subroutine
7745 :
7746 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7747 :
7748 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7749 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7750 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7751 :
7752 : end interface
7753 :
7754 : ! setSortedArrCusComQsortrdp
7755 :
7756 : interface setSorted
7757 :
7758 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7761 :
7762 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7763 :
7764 : #if SK5_ENABLED
7765 : recursive module subroutine setSortedArrCusComQsortrdp_D0_SK5(array, isSorted, method)
7766 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7767 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D0_SK5
7768 : #endif
7769 : use pm_kind, only: SKC => SK5
7770 : character(*,SKC) , intent(inout) :: array
7771 : procedure(logical(LK)) :: isSorted
7772 : type(qsortrdp_type) , intent(in) :: method
7773 : end subroutine
7774 : #endif
7775 :
7776 : #if SK4_ENABLED
7777 : recursive module subroutine setSortedArrCusComQsortrdp_D0_SK4(array, isSorted, method)
7778 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7779 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D0_SK4
7780 : #endif
7781 : use pm_kind, only: SKC => SK4
7782 : character(*,SKC) , intent(inout) :: array
7783 : procedure(logical(LK)) :: isSorted
7784 : type(qsortrdp_type) , intent(in) :: method
7785 : end subroutine
7786 : #endif
7787 :
7788 : #if SK3_ENABLED
7789 : recursive module subroutine setSortedArrCusComQsortrdp_D0_SK3(array, isSorted, method)
7790 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7791 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D0_SK3
7792 : #endif
7793 : use pm_kind, only: SKC => SK3
7794 : character(*,SKC) , intent(inout) :: array
7795 : procedure(logical(LK)) :: isSorted
7796 : type(qsortrdp_type) , intent(in) :: method
7797 : end subroutine
7798 : #endif
7799 :
7800 : #if SK2_ENABLED
7801 : recursive module subroutine setSortedArrCusComQsortrdp_D0_SK2(array, isSorted, method)
7802 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7803 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D0_SK2
7804 : #endif
7805 : use pm_kind, only: SKC => SK2
7806 : character(*,SKC) , intent(inout) :: array
7807 : procedure(logical(LK)) :: isSorted
7808 : type(qsortrdp_type) , intent(in) :: method
7809 : end subroutine
7810 : #endif
7811 :
7812 : #if SK1_ENABLED
7813 : recursive module subroutine setSortedArrCusComQsortrdp_D0_SK1(array, isSorted, method)
7814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7815 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D0_SK1
7816 : #endif
7817 : use pm_kind, only: SKC => SK1
7818 : character(*,SKC) , intent(inout) :: array
7819 : procedure(logical(LK)) :: isSorted
7820 : type(qsortrdp_type) , intent(in) :: method
7821 : end subroutine
7822 : #endif
7823 :
7824 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7825 :
7826 : #if SK5_ENABLED
7827 : recursive module subroutine setSortedArrCusComQsortrdp_D1_SK5(array, isSorted, method)
7828 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7829 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_SK5
7830 : #endif
7831 : use pm_kind, only: SKC => SK5
7832 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7833 : procedure(logical(LK)) :: isSorted
7834 : type(qsortrdp_type) , intent(in) :: method
7835 : end subroutine
7836 : #endif
7837 :
7838 : #if SK4_ENABLED
7839 : recursive module subroutine setSortedArrCusComQsortrdp_D1_SK4(array, isSorted, method)
7840 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7841 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_SK4
7842 : #endif
7843 : use pm_kind, only: SKC => SK4
7844 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7845 : procedure(logical(LK)) :: isSorted
7846 : type(qsortrdp_type) , intent(in) :: method
7847 : end subroutine
7848 : #endif
7849 :
7850 : #if SK3_ENABLED
7851 : recursive module subroutine setSortedArrCusComQsortrdp_D1_SK3(array, isSorted, method)
7852 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7853 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_SK3
7854 : #endif
7855 : use pm_kind, only: SKC => SK3
7856 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7857 : procedure(logical(LK)) :: isSorted
7858 : type(qsortrdp_type) , intent(in) :: method
7859 : end subroutine
7860 : #endif
7861 :
7862 : #if SK2_ENABLED
7863 : recursive module subroutine setSortedArrCusComQsortrdp_D1_SK2(array, isSorted, method)
7864 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7865 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_SK2
7866 : #endif
7867 : use pm_kind, only: SKC => SK2
7868 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7869 : procedure(logical(LK)) :: isSorted
7870 : type(qsortrdp_type) , intent(in) :: method
7871 : end subroutine
7872 : #endif
7873 :
7874 : #if SK1_ENABLED
7875 : recursive module subroutine setSortedArrCusComQsortrdp_D1_SK1(array, isSorted, method)
7876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7877 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_SK1
7878 : #endif
7879 : use pm_kind, only: SKC => SK1
7880 : character(*,SKC) , intent(inout) , contiguous :: array(:)
7881 : procedure(logical(LK)) :: isSorted
7882 : type(qsortrdp_type) , intent(in) :: method
7883 : end subroutine
7884 : #endif
7885 :
7886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7887 :
7888 : #if IK5_ENABLED
7889 : recursive module subroutine setSortedArrCusComQsortrdp_D1_IK5(array, isSorted, method)
7890 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7891 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_IK5
7892 : #endif
7893 : use pm_kind, only: IKC => IK5
7894 : integer(IKC) , intent(inout) , contiguous :: array(:)
7895 : procedure(logical(LK)) :: isSorted
7896 : type(qsortrdp_type) , intent(in) :: method
7897 : end subroutine
7898 : #endif
7899 :
7900 : #if IK4_ENABLED
7901 : recursive module subroutine setSortedArrCusComQsortrdp_D1_IK4(array, isSorted, method)
7902 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7903 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_IK4
7904 : #endif
7905 : use pm_kind, only: IKC => IK4
7906 : integer(IKC) , intent(inout) , contiguous :: array(:)
7907 : procedure(logical(LK)) :: isSorted
7908 : type(qsortrdp_type) , intent(in) :: method
7909 : end subroutine
7910 : #endif
7911 :
7912 : #if IK3_ENABLED
7913 : recursive module subroutine setSortedArrCusComQsortrdp_D1_IK3(array, isSorted, method)
7914 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7915 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_IK3
7916 : #endif
7917 : use pm_kind, only: IKC => IK3
7918 : integer(IKC) , intent(inout) , contiguous :: array(:)
7919 : procedure(logical(LK)) :: isSorted
7920 : type(qsortrdp_type) , intent(in) :: method
7921 : end subroutine
7922 : #endif
7923 :
7924 : #if IK2_ENABLED
7925 : recursive module subroutine setSortedArrCusComQsortrdp_D1_IK2(array, isSorted, method)
7926 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7927 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_IK2
7928 : #endif
7929 : use pm_kind, only: IKC => IK2
7930 : integer(IKC) , intent(inout) , contiguous :: array(:)
7931 : procedure(logical(LK)) :: isSorted
7932 : type(qsortrdp_type) , intent(in) :: method
7933 : end subroutine
7934 : #endif
7935 :
7936 : #if IK1_ENABLED
7937 : recursive module subroutine setSortedArrCusComQsortrdp_D1_IK1(array, isSorted, method)
7938 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7939 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_IK1
7940 : #endif
7941 : use pm_kind, only: IKC => IK1
7942 : integer(IKC) , intent(inout) , contiguous :: array(:)
7943 : procedure(logical(LK)) :: isSorted
7944 : type(qsortrdp_type) , intent(in) :: method
7945 : end subroutine
7946 : #endif
7947 :
7948 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7949 :
7950 : #if LK5_ENABLED
7951 : recursive module subroutine setSortedArrCusComQsortrdp_D1_LK5(array, isSorted, method)
7952 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7953 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_LK5
7954 : #endif
7955 : use pm_kind, only: LKC => LK5
7956 : logical(LKC) , intent(inout) , contiguous :: array(:)
7957 : procedure(logical(LK)) :: isSorted
7958 : type(qsortrdp_type) , intent(in) :: method
7959 : end subroutine
7960 : #endif
7961 :
7962 : #if LK4_ENABLED
7963 : recursive module subroutine setSortedArrCusComQsortrdp_D1_LK4(array, isSorted, method)
7964 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7965 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_LK4
7966 : #endif
7967 : use pm_kind, only: LKC => LK4
7968 : logical(LKC) , intent(inout) , contiguous :: array(:)
7969 : procedure(logical(LK)) :: isSorted
7970 : type(qsortrdp_type) , intent(in) :: method
7971 : end subroutine
7972 : #endif
7973 :
7974 : #if LK3_ENABLED
7975 : recursive module subroutine setSortedArrCusComQsortrdp_D1_LK3(array, isSorted, method)
7976 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7977 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_LK3
7978 : #endif
7979 : use pm_kind, only: LKC => LK3
7980 : logical(LKC) , intent(inout) , contiguous :: array(:)
7981 : procedure(logical(LK)) :: isSorted
7982 : type(qsortrdp_type) , intent(in) :: method
7983 : end subroutine
7984 : #endif
7985 :
7986 : #if LK2_ENABLED
7987 : recursive module subroutine setSortedArrCusComQsortrdp_D1_LK2(array, isSorted, method)
7988 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7989 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_LK2
7990 : #endif
7991 : use pm_kind, only: LKC => LK2
7992 : logical(LKC) , intent(inout) , contiguous :: array(:)
7993 : procedure(logical(LK)) :: isSorted
7994 : type(qsortrdp_type) , intent(in) :: method
7995 : end subroutine
7996 : #endif
7997 :
7998 : #if LK1_ENABLED
7999 : recursive module subroutine setSortedArrCusComQsortrdp_D1_LK1(array, isSorted, method)
8000 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8001 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_LK1
8002 : #endif
8003 : use pm_kind, only: LKC => LK1
8004 : logical(LKC) , intent(inout) , contiguous :: array(:)
8005 : procedure(logical(LK)) :: isSorted
8006 : type(qsortrdp_type) , intent(in) :: method
8007 : end subroutine
8008 : #endif
8009 :
8010 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8011 :
8012 : #if CK5_ENABLED
8013 : recursive module subroutine setSortedArrCusComQsortrdp_D1_CK5(array, isSorted, method)
8014 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8015 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_CK5
8016 : #endif
8017 : use pm_kind, only: CKC => CK5
8018 : complex(CKC) , intent(inout) , contiguous :: array(:)
8019 : procedure(logical(LK)) :: isSorted
8020 : type(qsortrdp_type) , intent(in) :: method
8021 : end subroutine
8022 : #endif
8023 :
8024 : #if CK4_ENABLED
8025 : recursive module subroutine setSortedArrCusComQsortrdp_D1_CK4(array, isSorted, method)
8026 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8027 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_CK4
8028 : #endif
8029 : use pm_kind, only: CKC => CK4
8030 : complex(CKC) , intent(inout) , contiguous :: array(:)
8031 : procedure(logical(LK)) :: isSorted
8032 : type(qsortrdp_type) , intent(in) :: method
8033 : end subroutine
8034 : #endif
8035 :
8036 : #if CK3_ENABLED
8037 : recursive module subroutine setSortedArrCusComQsortrdp_D1_CK3(array, isSorted, method)
8038 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8039 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_CK3
8040 : #endif
8041 : use pm_kind, only: CKC => CK3
8042 : complex(CKC) , intent(inout) , contiguous :: array(:)
8043 : procedure(logical(LK)) :: isSorted
8044 : type(qsortrdp_type) , intent(in) :: method
8045 : end subroutine
8046 : #endif
8047 :
8048 : #if CK2_ENABLED
8049 : recursive module subroutine setSortedArrCusComQsortrdp_D1_CK2(array, isSorted, method)
8050 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8051 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_CK2
8052 : #endif
8053 : use pm_kind, only: CKC => CK2
8054 : complex(CKC) , intent(inout) , contiguous :: array(:)
8055 : procedure(logical(LK)) :: isSorted
8056 : type(qsortrdp_type) , intent(in) :: method
8057 : end subroutine
8058 : #endif
8059 :
8060 : #if CK1_ENABLED
8061 : recursive module subroutine setSortedArrCusComQsortrdp_D1_CK1(array, isSorted, method)
8062 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8063 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_CK1
8064 : #endif
8065 : use pm_kind, only: CKC => CK1
8066 : complex(CKC) , intent(inout) , contiguous :: array(:)
8067 : procedure(logical(LK)) :: isSorted
8068 : type(qsortrdp_type) , intent(in) :: method
8069 : end subroutine
8070 : #endif
8071 :
8072 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8073 :
8074 : #if RK5_ENABLED
8075 : recursive module subroutine setSortedArrCusComQsortrdp_D1_RK5(array, isSorted, method)
8076 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8077 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_RK5
8078 : #endif
8079 : use pm_kind, only: RKC => RK5
8080 : real(RKC) , intent(inout) , contiguous :: array(:)
8081 : procedure(logical(LK)) :: isSorted
8082 : type(qsortrdp_type) , intent(in) :: method
8083 : end subroutine
8084 : #endif
8085 :
8086 : #if RK4_ENABLED
8087 : recursive module subroutine setSortedArrCusComQsortrdp_D1_RK4(array, isSorted, method)
8088 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8089 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_RK4
8090 : #endif
8091 : use pm_kind, only: RKC => RK4
8092 : real(RKC) , intent(inout) , contiguous :: array(:)
8093 : procedure(logical(LK)) :: isSorted
8094 : type(qsortrdp_type) , intent(in) :: method
8095 : end subroutine
8096 : #endif
8097 :
8098 : #if RK3_ENABLED
8099 : recursive module subroutine setSortedArrCusComQsortrdp_D1_RK3(array, isSorted, method)
8100 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8101 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_RK3
8102 : #endif
8103 : use pm_kind, only: RKC => RK3
8104 : real(RKC) , intent(inout) , contiguous :: array(:)
8105 : procedure(logical(LK)) :: isSorted
8106 : type(qsortrdp_type) , intent(in) :: method
8107 : end subroutine
8108 : #endif
8109 :
8110 : #if RK2_ENABLED
8111 : recursive module subroutine setSortedArrCusComQsortrdp_D1_RK2(array, isSorted, method)
8112 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8113 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_RK2
8114 : #endif
8115 : use pm_kind, only: RKC => RK2
8116 : real(RKC) , intent(inout) , contiguous :: array(:)
8117 : procedure(logical(LK)) :: isSorted
8118 : type(qsortrdp_type) , intent(in) :: method
8119 : end subroutine
8120 : #endif
8121 :
8122 : #if RK1_ENABLED
8123 : recursive module subroutine setSortedArrCusComQsortrdp_D1_RK1(array, isSorted, method)
8124 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8125 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_RK1
8126 : #endif
8127 : use pm_kind, only: RKC => RK1
8128 : real(RKC) , intent(inout) , contiguous :: array(:)
8129 : procedure(logical(LK)) :: isSorted
8130 : type(qsortrdp_type) , intent(in) :: method
8131 : end subroutine
8132 : #endif
8133 :
8134 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8135 :
8136 : #if SK5_ENABLED
8137 : recursive module subroutine setSortedArrCusComQsortrdp_D1_PSSK5(array, isSorted, method)
8138 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8139 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_PSSK5
8140 : #endif
8141 : use pm_kind, only: SKC => SK5
8142 : use pm_container, only: css_pdt
8143 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8144 : procedure(logical(LK)) :: isSorted
8145 : type(qsortrdp_type) , intent(in) :: method
8146 : end subroutine
8147 : #endif
8148 :
8149 : #if SK4_ENABLED
8150 : recursive module subroutine setSortedArrCusComQsortrdp_D1_PSSK4(array, isSorted, method)
8151 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8152 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_PSSK4
8153 : #endif
8154 : use pm_kind, only: SKC => SK4
8155 : use pm_container, only: css_pdt
8156 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8157 : procedure(logical(LK)) :: isSorted
8158 : type(qsortrdp_type) , intent(in) :: method
8159 : end subroutine
8160 : #endif
8161 :
8162 : #if SK3_ENABLED
8163 : recursive module subroutine setSortedArrCusComQsortrdp_D1_PSSK3(array, isSorted, method)
8164 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8165 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_PSSK3
8166 : #endif
8167 : use pm_kind, only: SKC => SK3
8168 : use pm_container, only: css_pdt
8169 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8170 : procedure(logical(LK)) :: isSorted
8171 : type(qsortrdp_type) , intent(in) :: method
8172 : end subroutine
8173 : #endif
8174 :
8175 : #if SK2_ENABLED
8176 : recursive module subroutine setSortedArrCusComQsortrdp_D1_PSSK2(array, isSorted, method)
8177 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8178 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_PSSK2
8179 : #endif
8180 : use pm_kind, only: SKC => SK2
8181 : use pm_container, only: css_pdt
8182 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8183 : procedure(logical(LK)) :: isSorted
8184 : type(qsortrdp_type) , intent(in) :: method
8185 : end subroutine
8186 : #endif
8187 :
8188 : #if SK1_ENABLED
8189 : recursive module subroutine setSortedArrCusComQsortrdp_D1_PSSK1(array, isSorted, method)
8190 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8191 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_PSSK1
8192 : #endif
8193 : use pm_kind, only: SKC => SK1
8194 : use pm_container, only: css_pdt
8195 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8196 : procedure(logical(LK)) :: isSorted
8197 : type(qsortrdp_type) , intent(in) :: method
8198 : end subroutine
8199 : #endif
8200 :
8201 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8202 :
8203 : recursive module subroutine setSortedArrCusComQsortrdp_D1_BSSK(array, isSorted, method)
8204 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8205 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComQsortrdp_D1_BSSK
8206 : #endif
8207 : use pm_kind, only: SKC => SK
8208 : use pm_container, only: css_type
8209 : type(css_type) , intent(inout) , contiguous :: array(:)
8210 : procedure(logical(LK)) :: isSorted
8211 : type(qsortrdp_type) , intent(in) :: method
8212 : end subroutine
8213 :
8214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8215 :
8216 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8217 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8219 :
8220 : end interface
8221 :
8222 : ! setSortedArrCusComBubble
8223 :
8224 : interface setSorted
8225 :
8226 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8227 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8229 :
8230 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8231 :
8232 : #if SK5_ENABLED
8233 : module subroutine setSortedArrCusComBubble_D0_SK5(array, isSorted, method)
8234 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8235 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D0_SK5
8236 : #endif
8237 : use pm_kind, only: SKC => SK5
8238 : character(*,SKC) , intent(inout) :: array
8239 : procedure(logical(LK)) :: isSorted
8240 : type(bubble_type) , intent(in) :: method
8241 : end subroutine
8242 : #endif
8243 :
8244 : #if SK4_ENABLED
8245 : module subroutine setSortedArrCusComBubble_D0_SK4(array, isSorted, method)
8246 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8247 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D0_SK4
8248 : #endif
8249 : use pm_kind, only: SKC => SK4
8250 : character(*,SKC) , intent(inout) :: array
8251 : procedure(logical(LK)) :: isSorted
8252 : type(bubble_type) , intent(in) :: method
8253 : end subroutine
8254 : #endif
8255 :
8256 : #if SK3_ENABLED
8257 : module subroutine setSortedArrCusComBubble_D0_SK3(array, isSorted, method)
8258 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8259 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D0_SK3
8260 : #endif
8261 : use pm_kind, only: SKC => SK3
8262 : character(*,SKC) , intent(inout) :: array
8263 : procedure(logical(LK)) :: isSorted
8264 : type(bubble_type) , intent(in) :: method
8265 : end subroutine
8266 : #endif
8267 :
8268 : #if SK2_ENABLED
8269 : module subroutine setSortedArrCusComBubble_D0_SK2(array, isSorted, method)
8270 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8271 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D0_SK2
8272 : #endif
8273 : use pm_kind, only: SKC => SK2
8274 : character(*,SKC) , intent(inout) :: array
8275 : procedure(logical(LK)) :: isSorted
8276 : type(bubble_type) , intent(in) :: method
8277 : end subroutine
8278 : #endif
8279 :
8280 : #if SK1_ENABLED
8281 : module subroutine setSortedArrCusComBubble_D0_SK1(array, isSorted, method)
8282 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8283 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D0_SK1
8284 : #endif
8285 : use pm_kind, only: SKC => SK1
8286 : character(*,SKC) , intent(inout) :: array
8287 : procedure(logical(LK)) :: isSorted
8288 : type(bubble_type) , intent(in) :: method
8289 : end subroutine
8290 : #endif
8291 :
8292 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8293 :
8294 : #if SK5_ENABLED
8295 : module subroutine setSortedArrCusComBubble_D1_SK5(array, isSorted, method)
8296 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8297 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_SK5
8298 : #endif
8299 : use pm_kind, only: SKC => SK5
8300 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8301 : procedure(logical(LK)) :: isSorted
8302 : type(bubble_type) , intent(in) :: method
8303 : end subroutine
8304 : #endif
8305 :
8306 : #if SK4_ENABLED
8307 : module subroutine setSortedArrCusComBubble_D1_SK4(array, isSorted, method)
8308 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8309 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_SK4
8310 : #endif
8311 : use pm_kind, only: SKC => SK4
8312 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8313 : procedure(logical(LK)) :: isSorted
8314 : type(bubble_type) , intent(in) :: method
8315 : end subroutine
8316 : #endif
8317 :
8318 : #if SK3_ENABLED
8319 : module subroutine setSortedArrCusComBubble_D1_SK3(array, isSorted, method)
8320 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8321 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_SK3
8322 : #endif
8323 : use pm_kind, only: SKC => SK3
8324 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8325 : procedure(logical(LK)) :: isSorted
8326 : type(bubble_type) , intent(in) :: method
8327 : end subroutine
8328 : #endif
8329 :
8330 : #if SK2_ENABLED
8331 : module subroutine setSortedArrCusComBubble_D1_SK2(array, isSorted, method)
8332 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8333 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_SK2
8334 : #endif
8335 : use pm_kind, only: SKC => SK2
8336 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8337 : procedure(logical(LK)) :: isSorted
8338 : type(bubble_type) , intent(in) :: method
8339 : end subroutine
8340 : #endif
8341 :
8342 : #if SK1_ENABLED
8343 : module subroutine setSortedArrCusComBubble_D1_SK1(array, isSorted, method)
8344 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8345 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_SK1
8346 : #endif
8347 : use pm_kind, only: SKC => SK1
8348 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8349 : procedure(logical(LK)) :: isSorted
8350 : type(bubble_type) , intent(in) :: method
8351 : end subroutine
8352 : #endif
8353 :
8354 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8355 :
8356 : #if IK5_ENABLED
8357 : module subroutine setSortedArrCusComBubble_D1_IK5(array, isSorted, method)
8358 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8359 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_IK5
8360 : #endif
8361 : use pm_kind, only: IKC => IK5
8362 : integer(IKC) , intent(inout) , contiguous :: array(:)
8363 : procedure(logical(LK)) :: isSorted
8364 : type(bubble_type) , intent(in) :: method
8365 : end subroutine
8366 : #endif
8367 :
8368 : #if IK4_ENABLED
8369 : module subroutine setSortedArrCusComBubble_D1_IK4(array, isSorted, method)
8370 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8371 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_IK4
8372 : #endif
8373 : use pm_kind, only: IKC => IK4
8374 : integer(IKC) , intent(inout) , contiguous :: array(:)
8375 : procedure(logical(LK)) :: isSorted
8376 : type(bubble_type) , intent(in) :: method
8377 : end subroutine
8378 : #endif
8379 :
8380 : #if IK3_ENABLED
8381 : module subroutine setSortedArrCusComBubble_D1_IK3(array, isSorted, method)
8382 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8383 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_IK3
8384 : #endif
8385 : use pm_kind, only: IKC => IK3
8386 : integer(IKC) , intent(inout) , contiguous :: array(:)
8387 : procedure(logical(LK)) :: isSorted
8388 : type(bubble_type) , intent(in) :: method
8389 : end subroutine
8390 : #endif
8391 :
8392 : #if IK2_ENABLED
8393 : module subroutine setSortedArrCusComBubble_D1_IK2(array, isSorted, method)
8394 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8395 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_IK2
8396 : #endif
8397 : use pm_kind, only: IKC => IK2
8398 : integer(IKC) , intent(inout) , contiguous :: array(:)
8399 : procedure(logical(LK)) :: isSorted
8400 : type(bubble_type) , intent(in) :: method
8401 : end subroutine
8402 : #endif
8403 :
8404 : #if IK1_ENABLED
8405 : module subroutine setSortedArrCusComBubble_D1_IK1(array, isSorted, method)
8406 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8407 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_IK1
8408 : #endif
8409 : use pm_kind, only: IKC => IK1
8410 : integer(IKC) , intent(inout) , contiguous :: array(:)
8411 : procedure(logical(LK)) :: isSorted
8412 : type(bubble_type) , intent(in) :: method
8413 : end subroutine
8414 : #endif
8415 :
8416 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8417 :
8418 : #if LK5_ENABLED
8419 : module subroutine setSortedArrCusComBubble_D1_LK5(array, isSorted, method)
8420 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8421 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_LK5
8422 : #endif
8423 : use pm_kind, only: LKC => LK5
8424 : logical(LKC) , intent(inout) , contiguous :: array(:)
8425 : procedure(logical(LK)) :: isSorted
8426 : type(bubble_type) , intent(in) :: method
8427 : end subroutine
8428 : #endif
8429 :
8430 : #if LK4_ENABLED
8431 : module subroutine setSortedArrCusComBubble_D1_LK4(array, isSorted, method)
8432 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8433 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_LK4
8434 : #endif
8435 : use pm_kind, only: LKC => LK4
8436 : logical(LKC) , intent(inout) , contiguous :: array(:)
8437 : procedure(logical(LK)) :: isSorted
8438 : type(bubble_type) , intent(in) :: method
8439 : end subroutine
8440 : #endif
8441 :
8442 : #if LK3_ENABLED
8443 : module subroutine setSortedArrCusComBubble_D1_LK3(array, isSorted, method)
8444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8445 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_LK3
8446 : #endif
8447 : use pm_kind, only: LKC => LK3
8448 : logical(LKC) , intent(inout) , contiguous :: array(:)
8449 : procedure(logical(LK)) :: isSorted
8450 : type(bubble_type) , intent(in) :: method
8451 : end subroutine
8452 : #endif
8453 :
8454 : #if LK2_ENABLED
8455 : module subroutine setSortedArrCusComBubble_D1_LK2(array, isSorted, method)
8456 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8457 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_LK2
8458 : #endif
8459 : use pm_kind, only: LKC => LK2
8460 : logical(LKC) , intent(inout) , contiguous :: array(:)
8461 : procedure(logical(LK)) :: isSorted
8462 : type(bubble_type) , intent(in) :: method
8463 : end subroutine
8464 : #endif
8465 :
8466 : #if LK1_ENABLED
8467 : module subroutine setSortedArrCusComBubble_D1_LK1(array, isSorted, method)
8468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8469 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_LK1
8470 : #endif
8471 : use pm_kind, only: LKC => LK1
8472 : logical(LKC) , intent(inout) , contiguous :: array(:)
8473 : procedure(logical(LK)) :: isSorted
8474 : type(bubble_type) , intent(in) :: method
8475 : end subroutine
8476 : #endif
8477 :
8478 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8479 :
8480 : #if CK5_ENABLED
8481 : module subroutine setSortedArrCusComBubble_D1_CK5(array, isSorted, method)
8482 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8483 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_CK5
8484 : #endif
8485 : use pm_kind, only: CKC => CK5
8486 : complex(CKC) , intent(inout) , contiguous :: array(:)
8487 : procedure(logical(LK)) :: isSorted
8488 : type(bubble_type) , intent(in) :: method
8489 : end subroutine
8490 : #endif
8491 :
8492 : #if CK4_ENABLED
8493 : module subroutine setSortedArrCusComBubble_D1_CK4(array, isSorted, method)
8494 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8495 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_CK4
8496 : #endif
8497 : use pm_kind, only: CKC => CK4
8498 : complex(CKC) , intent(inout) , contiguous :: array(:)
8499 : procedure(logical(LK)) :: isSorted
8500 : type(bubble_type) , intent(in) :: method
8501 : end subroutine
8502 : #endif
8503 :
8504 : #if CK3_ENABLED
8505 : module subroutine setSortedArrCusComBubble_D1_CK3(array, isSorted, method)
8506 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8507 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_CK3
8508 : #endif
8509 : use pm_kind, only: CKC => CK3
8510 : complex(CKC) , intent(inout) , contiguous :: array(:)
8511 : procedure(logical(LK)) :: isSorted
8512 : type(bubble_type) , intent(in) :: method
8513 : end subroutine
8514 : #endif
8515 :
8516 : #if CK2_ENABLED
8517 : module subroutine setSortedArrCusComBubble_D1_CK2(array, isSorted, method)
8518 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8519 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_CK2
8520 : #endif
8521 : use pm_kind, only: CKC => CK2
8522 : complex(CKC) , intent(inout) , contiguous :: array(:)
8523 : procedure(logical(LK)) :: isSorted
8524 : type(bubble_type) , intent(in) :: method
8525 : end subroutine
8526 : #endif
8527 :
8528 : #if CK1_ENABLED
8529 : module subroutine setSortedArrCusComBubble_D1_CK1(array, isSorted, method)
8530 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8531 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_CK1
8532 : #endif
8533 : use pm_kind, only: CKC => CK1
8534 : complex(CKC) , intent(inout) , contiguous :: array(:)
8535 : procedure(logical(LK)) :: isSorted
8536 : type(bubble_type) , intent(in) :: method
8537 : end subroutine
8538 : #endif
8539 :
8540 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8541 :
8542 : #if RK5_ENABLED
8543 : module subroutine setSortedArrCusComBubble_D1_RK5(array, isSorted, method)
8544 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8545 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_RK5
8546 : #endif
8547 : use pm_kind, only: RKC => RK5
8548 : real(RKC) , intent(inout) , contiguous :: array(:)
8549 : procedure(logical(LK)) :: isSorted
8550 : type(bubble_type) , intent(in) :: method
8551 : end subroutine
8552 : #endif
8553 :
8554 : #if RK4_ENABLED
8555 : module subroutine setSortedArrCusComBubble_D1_RK4(array, isSorted, method)
8556 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8557 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_RK4
8558 : #endif
8559 : use pm_kind, only: RKC => RK4
8560 : real(RKC) , intent(inout) , contiguous :: array(:)
8561 : procedure(logical(LK)) :: isSorted
8562 : type(bubble_type) , intent(in) :: method
8563 : end subroutine
8564 : #endif
8565 :
8566 : #if RK3_ENABLED
8567 : module subroutine setSortedArrCusComBubble_D1_RK3(array, isSorted, method)
8568 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8569 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_RK3
8570 : #endif
8571 : use pm_kind, only: RKC => RK3
8572 : real(RKC) , intent(inout) , contiguous :: array(:)
8573 : procedure(logical(LK)) :: isSorted
8574 : type(bubble_type) , intent(in) :: method
8575 : end subroutine
8576 : #endif
8577 :
8578 : #if RK2_ENABLED
8579 : module subroutine setSortedArrCusComBubble_D1_RK2(array, isSorted, method)
8580 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8581 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_RK2
8582 : #endif
8583 : use pm_kind, only: RKC => RK2
8584 : real(RKC) , intent(inout) , contiguous :: array(:)
8585 : procedure(logical(LK)) :: isSorted
8586 : type(bubble_type) , intent(in) :: method
8587 : end subroutine
8588 : #endif
8589 :
8590 : #if RK1_ENABLED
8591 : module subroutine setSortedArrCusComBubble_D1_RK1(array, isSorted, method)
8592 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8593 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_RK1
8594 : #endif
8595 : use pm_kind, only: RKC => RK1
8596 : real(RKC) , intent(inout) , contiguous :: array(:)
8597 : procedure(logical(LK)) :: isSorted
8598 : type(bubble_type) , intent(in) :: method
8599 : end subroutine
8600 : #endif
8601 :
8602 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8603 :
8604 : #if SK5_ENABLED
8605 : module subroutine setSortedArrCusComBubble_D1_PSSK5(array, isSorted, method)
8606 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8607 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_PSSK5
8608 : #endif
8609 : use pm_kind, only: SKC => SK5
8610 : use pm_container, only: css_pdt
8611 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8612 : procedure(logical(LK)) :: isSorted
8613 : type(bubble_type) , intent(in) :: method
8614 : end subroutine
8615 : #endif
8616 :
8617 : #if SK4_ENABLED
8618 : module subroutine setSortedArrCusComBubble_D1_PSSK4(array, isSorted, method)
8619 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8620 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_PSSK4
8621 : #endif
8622 : use pm_kind, only: SKC => SK4
8623 : use pm_container, only: css_pdt
8624 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8625 : procedure(logical(LK)) :: isSorted
8626 : type(bubble_type) , intent(in) :: method
8627 : end subroutine
8628 : #endif
8629 :
8630 : #if SK3_ENABLED
8631 : module subroutine setSortedArrCusComBubble_D1_PSSK3(array, isSorted, method)
8632 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8633 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_PSSK3
8634 : #endif
8635 : use pm_kind, only: SKC => SK3
8636 : use pm_container, only: css_pdt
8637 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8638 : procedure(logical(LK)) :: isSorted
8639 : type(bubble_type) , intent(in) :: method
8640 : end subroutine
8641 : #endif
8642 :
8643 : #if SK2_ENABLED
8644 : module subroutine setSortedArrCusComBubble_D1_PSSK2(array, isSorted, method)
8645 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8646 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_PSSK2
8647 : #endif
8648 : use pm_kind, only: SKC => SK2
8649 : use pm_container, only: css_pdt
8650 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8651 : procedure(logical(LK)) :: isSorted
8652 : type(bubble_type) , intent(in) :: method
8653 : end subroutine
8654 : #endif
8655 :
8656 : #if SK1_ENABLED
8657 : module subroutine setSortedArrCusComBubble_D1_PSSK1(array, isSorted, method)
8658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8659 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_PSSK1
8660 : #endif
8661 : use pm_kind, only: SKC => SK1
8662 : use pm_container, only: css_pdt
8663 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
8664 : procedure(logical(LK)) :: isSorted
8665 : type(bubble_type) , intent(in) :: method
8666 : end subroutine
8667 : #endif
8668 :
8669 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8670 :
8671 : module subroutine setSortedArrCusComBubble_D1_BSSK(array, isSorted, method)
8672 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8673 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComBubble_D1_BSSK
8674 : #endif
8675 : use pm_kind, only: SKC => SK
8676 : use pm_container, only: css_type
8677 : type(css_type) , intent(inout) , contiguous :: array(:)
8678 : procedure(logical(LK)) :: isSorted
8679 : type(bubble_type) , intent(in) :: method
8680 : end subroutine
8681 :
8682 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8683 :
8684 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8685 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8686 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8687 :
8688 : end interface
8689 :
8690 : ! setSortedArrCusComHeapi
8691 :
8692 : interface setSorted
8693 :
8694 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8695 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8696 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8697 :
8698 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8699 :
8700 : #if SK5_ENABLED
8701 : module subroutine setSortedArrCusComHeapi_D0_SK5(array, isSorted, method)
8702 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8703 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D0_SK5
8704 : #endif
8705 : use pm_kind, only: SKC => SK5
8706 : character(*,SKC) , intent(inout) :: array
8707 : procedure(logical(LK)) :: isSorted
8708 : type(heapi_type) , intent(in) :: method
8709 : end subroutine
8710 : #endif
8711 :
8712 : #if SK4_ENABLED
8713 : module subroutine setSortedArrCusComHeapi_D0_SK4(array, isSorted, method)
8714 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8715 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D0_SK4
8716 : #endif
8717 : use pm_kind, only: SKC => SK4
8718 : character(*,SKC) , intent(inout) :: array
8719 : procedure(logical(LK)) :: isSorted
8720 : type(heapi_type) , intent(in) :: method
8721 : end subroutine
8722 : #endif
8723 :
8724 : #if SK3_ENABLED
8725 : module subroutine setSortedArrCusComHeapi_D0_SK3(array, isSorted, method)
8726 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8727 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D0_SK3
8728 : #endif
8729 : use pm_kind, only: SKC => SK3
8730 : character(*,SKC) , intent(inout) :: array
8731 : procedure(logical(LK)) :: isSorted
8732 : type(heapi_type) , intent(in) :: method
8733 : end subroutine
8734 : #endif
8735 :
8736 : #if SK2_ENABLED
8737 : module subroutine setSortedArrCusComHeapi_D0_SK2(array, isSorted, method)
8738 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8739 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D0_SK2
8740 : #endif
8741 : use pm_kind, only: SKC => SK2
8742 : character(*,SKC) , intent(inout) :: array
8743 : procedure(logical(LK)) :: isSorted
8744 : type(heapi_type) , intent(in) :: method
8745 : end subroutine
8746 : #endif
8747 :
8748 : #if SK1_ENABLED
8749 : module subroutine setSortedArrCusComHeapi_D0_SK1(array, isSorted, method)
8750 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8751 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D0_SK1
8752 : #endif
8753 : use pm_kind, only: SKC => SK1
8754 : character(*,SKC) , intent(inout) :: array
8755 : procedure(logical(LK)) :: isSorted
8756 : type(heapi_type) , intent(in) :: method
8757 : end subroutine
8758 : #endif
8759 :
8760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8761 :
8762 : #if SK5_ENABLED
8763 : module subroutine setSortedArrCusComHeapi_D1_SK5(array, isSorted, method)
8764 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8765 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_SK5
8766 : #endif
8767 : use pm_kind, only: SKC => SK5
8768 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8769 : procedure(logical(LK)) :: isSorted
8770 : type(heapi_type) , intent(in) :: method
8771 : end subroutine
8772 : #endif
8773 :
8774 : #if SK4_ENABLED
8775 : module subroutine setSortedArrCusComHeapi_D1_SK4(array, isSorted, method)
8776 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8777 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_SK4
8778 : #endif
8779 : use pm_kind, only: SKC => SK4
8780 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8781 : procedure(logical(LK)) :: isSorted
8782 : type(heapi_type) , intent(in) :: method
8783 : end subroutine
8784 : #endif
8785 :
8786 : #if SK3_ENABLED
8787 : module subroutine setSortedArrCusComHeapi_D1_SK3(array, isSorted, method)
8788 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8789 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_SK3
8790 : #endif
8791 : use pm_kind, only: SKC => SK3
8792 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8793 : procedure(logical(LK)) :: isSorted
8794 : type(heapi_type) , intent(in) :: method
8795 : end subroutine
8796 : #endif
8797 :
8798 : #if SK2_ENABLED
8799 : module subroutine setSortedArrCusComHeapi_D1_SK2(array, isSorted, method)
8800 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8801 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_SK2
8802 : #endif
8803 : use pm_kind, only: SKC => SK2
8804 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8805 : procedure(logical(LK)) :: isSorted
8806 : type(heapi_type) , intent(in) :: method
8807 : end subroutine
8808 : #endif
8809 :
8810 : #if SK1_ENABLED
8811 : module subroutine setSortedArrCusComHeapi_D1_SK1(array, isSorted, method)
8812 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8813 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_SK1
8814 : #endif
8815 : use pm_kind, only: SKC => SK1
8816 : character(*,SKC) , intent(inout) , contiguous :: array(:)
8817 : procedure(logical(LK)) :: isSorted
8818 : type(heapi_type) , intent(in) :: method
8819 : end subroutine
8820 : #endif
8821 :
8822 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8823 :
8824 : #if IK5_ENABLED
8825 : module subroutine setSortedArrCusComHeapi_D1_IK5(array, isSorted, method)
8826 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8827 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_IK5
8828 : #endif
8829 : use pm_kind, only: IKC => IK5
8830 : integer(IKC) , intent(inout) , contiguous :: array(:)
8831 : procedure(logical(LK)) :: isSorted
8832 : type(heapi_type) , intent(in) :: method
8833 : end subroutine
8834 : #endif
8835 :
8836 : #if IK4_ENABLED
8837 : module subroutine setSortedArrCusComHeapi_D1_IK4(array, isSorted, method)
8838 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8839 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_IK4
8840 : #endif
8841 : use pm_kind, only: IKC => IK4
8842 : integer(IKC) , intent(inout) , contiguous :: array(:)
8843 : procedure(logical(LK)) :: isSorted
8844 : type(heapi_type) , intent(in) :: method
8845 : end subroutine
8846 : #endif
8847 :
8848 : #if IK3_ENABLED
8849 : module subroutine setSortedArrCusComHeapi_D1_IK3(array, isSorted, method)
8850 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8851 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_IK3
8852 : #endif
8853 : use pm_kind, only: IKC => IK3
8854 : integer(IKC) , intent(inout) , contiguous :: array(:)
8855 : procedure(logical(LK)) :: isSorted
8856 : type(heapi_type) , intent(in) :: method
8857 : end subroutine
8858 : #endif
8859 :
8860 : #if IK2_ENABLED
8861 : module subroutine setSortedArrCusComHeapi_D1_IK2(array, isSorted, method)
8862 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8863 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_IK2
8864 : #endif
8865 : use pm_kind, only: IKC => IK2
8866 : integer(IKC) , intent(inout) , contiguous :: array(:)
8867 : procedure(logical(LK)) :: isSorted
8868 : type(heapi_type) , intent(in) :: method
8869 : end subroutine
8870 : #endif
8871 :
8872 : #if IK1_ENABLED
8873 : module subroutine setSortedArrCusComHeapi_D1_IK1(array, isSorted, method)
8874 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8875 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_IK1
8876 : #endif
8877 : use pm_kind, only: IKC => IK1
8878 : integer(IKC) , intent(inout) , contiguous :: array(:)
8879 : procedure(logical(LK)) :: isSorted
8880 : type(heapi_type) , intent(in) :: method
8881 : end subroutine
8882 : #endif
8883 :
8884 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8885 :
8886 : #if LK5_ENABLED
8887 : module subroutine setSortedArrCusComHeapi_D1_LK5(array, isSorted, method)
8888 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8889 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_LK5
8890 : #endif
8891 : use pm_kind, only: LKC => LK5
8892 : logical(LKC) , intent(inout) , contiguous :: array(:)
8893 : procedure(logical(LK)) :: isSorted
8894 : type(heapi_type) , intent(in) :: method
8895 : end subroutine
8896 : #endif
8897 :
8898 : #if LK4_ENABLED
8899 : module subroutine setSortedArrCusComHeapi_D1_LK4(array, isSorted, method)
8900 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8901 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_LK4
8902 : #endif
8903 : use pm_kind, only: LKC => LK4
8904 : logical(LKC) , intent(inout) , contiguous :: array(:)
8905 : procedure(logical(LK)) :: isSorted
8906 : type(heapi_type) , intent(in) :: method
8907 : end subroutine
8908 : #endif
8909 :
8910 : #if LK3_ENABLED
8911 : module subroutine setSortedArrCusComHeapi_D1_LK3(array, isSorted, method)
8912 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8913 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_LK3
8914 : #endif
8915 : use pm_kind, only: LKC => LK3
8916 : logical(LKC) , intent(inout) , contiguous :: array(:)
8917 : procedure(logical(LK)) :: isSorted
8918 : type(heapi_type) , intent(in) :: method
8919 : end subroutine
8920 : #endif
8921 :
8922 : #if LK2_ENABLED
8923 : module subroutine setSortedArrCusComHeapi_D1_LK2(array, isSorted, method)
8924 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8925 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_LK2
8926 : #endif
8927 : use pm_kind, only: LKC => LK2
8928 : logical(LKC) , intent(inout) , contiguous :: array(:)
8929 : procedure(logical(LK)) :: isSorted
8930 : type(heapi_type) , intent(in) :: method
8931 : end subroutine
8932 : #endif
8933 :
8934 : #if LK1_ENABLED
8935 : module subroutine setSortedArrCusComHeapi_D1_LK1(array, isSorted, method)
8936 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8937 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_LK1
8938 : #endif
8939 : use pm_kind, only: LKC => LK1
8940 : logical(LKC) , intent(inout) , contiguous :: array(:)
8941 : procedure(logical(LK)) :: isSorted
8942 : type(heapi_type) , intent(in) :: method
8943 : end subroutine
8944 : #endif
8945 :
8946 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8947 :
8948 : #if CK5_ENABLED
8949 : module subroutine setSortedArrCusComHeapi_D1_CK5(array, isSorted, method)
8950 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8951 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_CK5
8952 : #endif
8953 : use pm_kind, only: CKC => CK5
8954 : complex(CKC) , intent(inout) , contiguous :: array(:)
8955 : procedure(logical(LK)) :: isSorted
8956 : type(heapi_type) , intent(in) :: method
8957 : end subroutine
8958 : #endif
8959 :
8960 : #if CK4_ENABLED
8961 : module subroutine setSortedArrCusComHeapi_D1_CK4(array, isSorted, method)
8962 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8963 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_CK4
8964 : #endif
8965 : use pm_kind, only: CKC => CK4
8966 : complex(CKC) , intent(inout) , contiguous :: array(:)
8967 : procedure(logical(LK)) :: isSorted
8968 : type(heapi_type) , intent(in) :: method
8969 : end subroutine
8970 : #endif
8971 :
8972 : #if CK3_ENABLED
8973 : module subroutine setSortedArrCusComHeapi_D1_CK3(array, isSorted, method)
8974 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8975 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_CK3
8976 : #endif
8977 : use pm_kind, only: CKC => CK3
8978 : complex(CKC) , intent(inout) , contiguous :: array(:)
8979 : procedure(logical(LK)) :: isSorted
8980 : type(heapi_type) , intent(in) :: method
8981 : end subroutine
8982 : #endif
8983 :
8984 : #if CK2_ENABLED
8985 : module subroutine setSortedArrCusComHeapi_D1_CK2(array, isSorted, method)
8986 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8987 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_CK2
8988 : #endif
8989 : use pm_kind, only: CKC => CK2
8990 : complex(CKC) , intent(inout) , contiguous :: array(:)
8991 : procedure(logical(LK)) :: isSorted
8992 : type(heapi_type) , intent(in) :: method
8993 : end subroutine
8994 : #endif
8995 :
8996 : #if CK1_ENABLED
8997 : module subroutine setSortedArrCusComHeapi_D1_CK1(array, isSorted, method)
8998 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8999 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_CK1
9000 : #endif
9001 : use pm_kind, only: CKC => CK1
9002 : complex(CKC) , intent(inout) , contiguous :: array(:)
9003 : procedure(logical(LK)) :: isSorted
9004 : type(heapi_type) , intent(in) :: method
9005 : end subroutine
9006 : #endif
9007 :
9008 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9009 :
9010 : #if RK5_ENABLED
9011 : module subroutine setSortedArrCusComHeapi_D1_RK5(array, isSorted, method)
9012 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9013 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_RK5
9014 : #endif
9015 : use pm_kind, only: RKC => RK5
9016 : real(RKC) , intent(inout) , contiguous :: array(:)
9017 : procedure(logical(LK)) :: isSorted
9018 : type(heapi_type) , intent(in) :: method
9019 : end subroutine
9020 : #endif
9021 :
9022 : #if RK4_ENABLED
9023 : module subroutine setSortedArrCusComHeapi_D1_RK4(array, isSorted, method)
9024 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9025 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_RK4
9026 : #endif
9027 : use pm_kind, only: RKC => RK4
9028 : real(RKC) , intent(inout) , contiguous :: array(:)
9029 : procedure(logical(LK)) :: isSorted
9030 : type(heapi_type) , intent(in) :: method
9031 : end subroutine
9032 : #endif
9033 :
9034 : #if RK3_ENABLED
9035 : module subroutine setSortedArrCusComHeapi_D1_RK3(array, isSorted, method)
9036 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9037 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_RK3
9038 : #endif
9039 : use pm_kind, only: RKC => RK3
9040 : real(RKC) , intent(inout) , contiguous :: array(:)
9041 : procedure(logical(LK)) :: isSorted
9042 : type(heapi_type) , intent(in) :: method
9043 : end subroutine
9044 : #endif
9045 :
9046 : #if RK2_ENABLED
9047 : module subroutine setSortedArrCusComHeapi_D1_RK2(array, isSorted, method)
9048 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9049 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_RK2
9050 : #endif
9051 : use pm_kind, only: RKC => RK2
9052 : real(RKC) , intent(inout) , contiguous :: array(:)
9053 : procedure(logical(LK)) :: isSorted
9054 : type(heapi_type) , intent(in) :: method
9055 : end subroutine
9056 : #endif
9057 :
9058 : #if RK1_ENABLED
9059 : module subroutine setSortedArrCusComHeapi_D1_RK1(array, isSorted, method)
9060 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9061 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_RK1
9062 : #endif
9063 : use pm_kind, only: RKC => RK1
9064 : real(RKC) , intent(inout) , contiguous :: array(:)
9065 : procedure(logical(LK)) :: isSorted
9066 : type(heapi_type) , intent(in) :: method
9067 : end subroutine
9068 : #endif
9069 :
9070 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9071 :
9072 : #if SK5_ENABLED
9073 : module subroutine setSortedArrCusComHeapi_D1_PSSK5(array, isSorted, method)
9074 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9075 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_PSSK5
9076 : #endif
9077 : use pm_kind, only: SKC => SK5
9078 : use pm_container, only: css_pdt
9079 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9080 : procedure(logical(LK)) :: isSorted
9081 : type(heapi_type) , intent(in) :: method
9082 : end subroutine
9083 : #endif
9084 :
9085 : #if SK4_ENABLED
9086 : module subroutine setSortedArrCusComHeapi_D1_PSSK4(array, isSorted, method)
9087 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9088 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_PSSK4
9089 : #endif
9090 : use pm_kind, only: SKC => SK4
9091 : use pm_container, only: css_pdt
9092 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9093 : procedure(logical(LK)) :: isSorted
9094 : type(heapi_type) , intent(in) :: method
9095 : end subroutine
9096 : #endif
9097 :
9098 : #if SK3_ENABLED
9099 : module subroutine setSortedArrCusComHeapi_D1_PSSK3(array, isSorted, method)
9100 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9101 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_PSSK3
9102 : #endif
9103 : use pm_kind, only: SKC => SK3
9104 : use pm_container, only: css_pdt
9105 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9106 : procedure(logical(LK)) :: isSorted
9107 : type(heapi_type) , intent(in) :: method
9108 : end subroutine
9109 : #endif
9110 :
9111 : #if SK2_ENABLED
9112 : module subroutine setSortedArrCusComHeapi_D1_PSSK2(array, isSorted, method)
9113 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9114 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_PSSK2
9115 : #endif
9116 : use pm_kind, only: SKC => SK2
9117 : use pm_container, only: css_pdt
9118 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9119 : procedure(logical(LK)) :: isSorted
9120 : type(heapi_type) , intent(in) :: method
9121 : end subroutine
9122 : #endif
9123 :
9124 : #if SK1_ENABLED
9125 : module subroutine setSortedArrCusComHeapi_D1_PSSK1(array, isSorted, method)
9126 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9127 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_PSSK1
9128 : #endif
9129 : use pm_kind, only: SKC => SK1
9130 : use pm_container, only: css_pdt
9131 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9132 : procedure(logical(LK)) :: isSorted
9133 : type(heapi_type) , intent(in) :: method
9134 : end subroutine
9135 : #endif
9136 :
9137 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9138 :
9139 : module subroutine setSortedArrCusComHeapi_D1_BSSK(array, isSorted, method)
9140 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9141 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapi_D1_BSSK
9142 : #endif
9143 : use pm_kind, only: SKC => SK
9144 : use pm_container, only: css_type
9145 : type(css_type) , intent(inout) , contiguous :: array(:)
9146 : procedure(logical(LK)) :: isSorted
9147 : type(heapi_type) , intent(in) :: method
9148 : end subroutine
9149 :
9150 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9151 :
9152 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9153 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9155 :
9156 : end interface
9157 :
9158 : ! setSortedArrCusComHeapr
9159 :
9160 : interface setSorted
9161 :
9162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9165 :
9166 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9167 :
9168 : #if SK5_ENABLED
9169 : module subroutine setSortedArrCusComHeapr_D0_SK5(array, isSorted, method)
9170 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9171 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D0_SK5
9172 : #endif
9173 : use pm_kind, only: SKC => SK5
9174 : character(*,SKC) , intent(inout) :: array
9175 : procedure(logical(LK)) :: isSorted
9176 : type(heapr_type) , intent(in) :: method
9177 : end subroutine
9178 : #endif
9179 :
9180 : #if SK4_ENABLED
9181 : module subroutine setSortedArrCusComHeapr_D0_SK4(array, isSorted, method)
9182 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9183 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D0_SK4
9184 : #endif
9185 : use pm_kind, only: SKC => SK4
9186 : character(*,SKC) , intent(inout) :: array
9187 : procedure(logical(LK)) :: isSorted
9188 : type(heapr_type) , intent(in) :: method
9189 : end subroutine
9190 : #endif
9191 :
9192 : #if SK3_ENABLED
9193 : module subroutine setSortedArrCusComHeapr_D0_SK3(array, isSorted, method)
9194 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9195 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D0_SK3
9196 : #endif
9197 : use pm_kind, only: SKC => SK3
9198 : character(*,SKC) , intent(inout) :: array
9199 : procedure(logical(LK)) :: isSorted
9200 : type(heapr_type) , intent(in) :: method
9201 : end subroutine
9202 : #endif
9203 :
9204 : #if SK2_ENABLED
9205 : module subroutine setSortedArrCusComHeapr_D0_SK2(array, isSorted, method)
9206 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9207 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D0_SK2
9208 : #endif
9209 : use pm_kind, only: SKC => SK2
9210 : character(*,SKC) , intent(inout) :: array
9211 : procedure(logical(LK)) :: isSorted
9212 : type(heapr_type) , intent(in) :: method
9213 : end subroutine
9214 : #endif
9215 :
9216 : #if SK1_ENABLED
9217 : module subroutine setSortedArrCusComHeapr_D0_SK1(array, isSorted, method)
9218 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9219 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D0_SK1
9220 : #endif
9221 : use pm_kind, only: SKC => SK1
9222 : character(*,SKC) , intent(inout) :: array
9223 : procedure(logical(LK)) :: isSorted
9224 : type(heapr_type) , intent(in) :: method
9225 : end subroutine
9226 : #endif
9227 :
9228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9229 :
9230 : #if SK5_ENABLED
9231 : module subroutine setSortedArrCusComHeapr_D1_SK5(array, isSorted, method)
9232 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9233 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_SK5
9234 : #endif
9235 : use pm_kind, only: SKC => SK5
9236 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9237 : procedure(logical(LK)) :: isSorted
9238 : type(heapr_type) , intent(in) :: method
9239 : end subroutine
9240 : #endif
9241 :
9242 : #if SK4_ENABLED
9243 : module subroutine setSortedArrCusComHeapr_D1_SK4(array, isSorted, method)
9244 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9245 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_SK4
9246 : #endif
9247 : use pm_kind, only: SKC => SK4
9248 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9249 : procedure(logical(LK)) :: isSorted
9250 : type(heapr_type) , intent(in) :: method
9251 : end subroutine
9252 : #endif
9253 :
9254 : #if SK3_ENABLED
9255 : module subroutine setSortedArrCusComHeapr_D1_SK3(array, isSorted, method)
9256 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9257 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_SK3
9258 : #endif
9259 : use pm_kind, only: SKC => SK3
9260 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9261 : procedure(logical(LK)) :: isSorted
9262 : type(heapr_type) , intent(in) :: method
9263 : end subroutine
9264 : #endif
9265 :
9266 : #if SK2_ENABLED
9267 : module subroutine setSortedArrCusComHeapr_D1_SK2(array, isSorted, method)
9268 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9269 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_SK2
9270 : #endif
9271 : use pm_kind, only: SKC => SK2
9272 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9273 : procedure(logical(LK)) :: isSorted
9274 : type(heapr_type) , intent(in) :: method
9275 : end subroutine
9276 : #endif
9277 :
9278 : #if SK1_ENABLED
9279 : module subroutine setSortedArrCusComHeapr_D1_SK1(array, isSorted, method)
9280 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9281 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_SK1
9282 : #endif
9283 : use pm_kind, only: SKC => SK1
9284 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9285 : procedure(logical(LK)) :: isSorted
9286 : type(heapr_type) , intent(in) :: method
9287 : end subroutine
9288 : #endif
9289 :
9290 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9291 :
9292 : #if IK5_ENABLED
9293 : module subroutine setSortedArrCusComHeapr_D1_IK5(array, isSorted, method)
9294 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9295 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_IK5
9296 : #endif
9297 : use pm_kind, only: IKC => IK5
9298 : integer(IKC) , intent(inout) , contiguous :: array(:)
9299 : procedure(logical(LK)) :: isSorted
9300 : type(heapr_type) , intent(in) :: method
9301 : end subroutine
9302 : #endif
9303 :
9304 : #if IK4_ENABLED
9305 : module subroutine setSortedArrCusComHeapr_D1_IK4(array, isSorted, method)
9306 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9307 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_IK4
9308 : #endif
9309 : use pm_kind, only: IKC => IK4
9310 : integer(IKC) , intent(inout) , contiguous :: array(:)
9311 : procedure(logical(LK)) :: isSorted
9312 : type(heapr_type) , intent(in) :: method
9313 : end subroutine
9314 : #endif
9315 :
9316 : #if IK3_ENABLED
9317 : module subroutine setSortedArrCusComHeapr_D1_IK3(array, isSorted, method)
9318 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9319 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_IK3
9320 : #endif
9321 : use pm_kind, only: IKC => IK3
9322 : integer(IKC) , intent(inout) , contiguous :: array(:)
9323 : procedure(logical(LK)) :: isSorted
9324 : type(heapr_type) , intent(in) :: method
9325 : end subroutine
9326 : #endif
9327 :
9328 : #if IK2_ENABLED
9329 : module subroutine setSortedArrCusComHeapr_D1_IK2(array, isSorted, method)
9330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9331 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_IK2
9332 : #endif
9333 : use pm_kind, only: IKC => IK2
9334 : integer(IKC) , intent(inout) , contiguous :: array(:)
9335 : procedure(logical(LK)) :: isSorted
9336 : type(heapr_type) , intent(in) :: method
9337 : end subroutine
9338 : #endif
9339 :
9340 : #if IK1_ENABLED
9341 : module subroutine setSortedArrCusComHeapr_D1_IK1(array, isSorted, method)
9342 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9343 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_IK1
9344 : #endif
9345 : use pm_kind, only: IKC => IK1
9346 : integer(IKC) , intent(inout) , contiguous :: array(:)
9347 : procedure(logical(LK)) :: isSorted
9348 : type(heapr_type) , intent(in) :: method
9349 : end subroutine
9350 : #endif
9351 :
9352 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9353 :
9354 : #if LK5_ENABLED
9355 : module subroutine setSortedArrCusComHeapr_D1_LK5(array, isSorted, method)
9356 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9357 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_LK5
9358 : #endif
9359 : use pm_kind, only: LKC => LK5
9360 : logical(LKC) , intent(inout) , contiguous :: array(:)
9361 : procedure(logical(LK)) :: isSorted
9362 : type(heapr_type) , intent(in) :: method
9363 : end subroutine
9364 : #endif
9365 :
9366 : #if LK4_ENABLED
9367 : module subroutine setSortedArrCusComHeapr_D1_LK4(array, isSorted, method)
9368 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9369 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_LK4
9370 : #endif
9371 : use pm_kind, only: LKC => LK4
9372 : logical(LKC) , intent(inout) , contiguous :: array(:)
9373 : procedure(logical(LK)) :: isSorted
9374 : type(heapr_type) , intent(in) :: method
9375 : end subroutine
9376 : #endif
9377 :
9378 : #if LK3_ENABLED
9379 : module subroutine setSortedArrCusComHeapr_D1_LK3(array, isSorted, method)
9380 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9381 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_LK3
9382 : #endif
9383 : use pm_kind, only: LKC => LK3
9384 : logical(LKC) , intent(inout) , contiguous :: array(:)
9385 : procedure(logical(LK)) :: isSorted
9386 : type(heapr_type) , intent(in) :: method
9387 : end subroutine
9388 : #endif
9389 :
9390 : #if LK2_ENABLED
9391 : module subroutine setSortedArrCusComHeapr_D1_LK2(array, isSorted, method)
9392 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9393 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_LK2
9394 : #endif
9395 : use pm_kind, only: LKC => LK2
9396 : logical(LKC) , intent(inout) , contiguous :: array(:)
9397 : procedure(logical(LK)) :: isSorted
9398 : type(heapr_type) , intent(in) :: method
9399 : end subroutine
9400 : #endif
9401 :
9402 : #if LK1_ENABLED
9403 : module subroutine setSortedArrCusComHeapr_D1_LK1(array, isSorted, method)
9404 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9405 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_LK1
9406 : #endif
9407 : use pm_kind, only: LKC => LK1
9408 : logical(LKC) , intent(inout) , contiguous :: array(:)
9409 : procedure(logical(LK)) :: isSorted
9410 : type(heapr_type) , intent(in) :: method
9411 : end subroutine
9412 : #endif
9413 :
9414 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9415 :
9416 : #if CK5_ENABLED
9417 : module subroutine setSortedArrCusComHeapr_D1_CK5(array, isSorted, method)
9418 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9419 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_CK5
9420 : #endif
9421 : use pm_kind, only: CKC => CK5
9422 : complex(CKC) , intent(inout) , contiguous :: array(:)
9423 : procedure(logical(LK)) :: isSorted
9424 : type(heapr_type) , intent(in) :: method
9425 : end subroutine
9426 : #endif
9427 :
9428 : #if CK4_ENABLED
9429 : module subroutine setSortedArrCusComHeapr_D1_CK4(array, isSorted, method)
9430 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9431 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_CK4
9432 : #endif
9433 : use pm_kind, only: CKC => CK4
9434 : complex(CKC) , intent(inout) , contiguous :: array(:)
9435 : procedure(logical(LK)) :: isSorted
9436 : type(heapr_type) , intent(in) :: method
9437 : end subroutine
9438 : #endif
9439 :
9440 : #if CK3_ENABLED
9441 : module subroutine setSortedArrCusComHeapr_D1_CK3(array, isSorted, method)
9442 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9443 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_CK3
9444 : #endif
9445 : use pm_kind, only: CKC => CK3
9446 : complex(CKC) , intent(inout) , contiguous :: array(:)
9447 : procedure(logical(LK)) :: isSorted
9448 : type(heapr_type) , intent(in) :: method
9449 : end subroutine
9450 : #endif
9451 :
9452 : #if CK2_ENABLED
9453 : module subroutine setSortedArrCusComHeapr_D1_CK2(array, isSorted, method)
9454 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9455 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_CK2
9456 : #endif
9457 : use pm_kind, only: CKC => CK2
9458 : complex(CKC) , intent(inout) , contiguous :: array(:)
9459 : procedure(logical(LK)) :: isSorted
9460 : type(heapr_type) , intent(in) :: method
9461 : end subroutine
9462 : #endif
9463 :
9464 : #if CK1_ENABLED
9465 : module subroutine setSortedArrCusComHeapr_D1_CK1(array, isSorted, method)
9466 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9467 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_CK1
9468 : #endif
9469 : use pm_kind, only: CKC => CK1
9470 : complex(CKC) , intent(inout) , contiguous :: array(:)
9471 : procedure(logical(LK)) :: isSorted
9472 : type(heapr_type) , intent(in) :: method
9473 : end subroutine
9474 : #endif
9475 :
9476 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9477 :
9478 : #if RK5_ENABLED
9479 : module subroutine setSortedArrCusComHeapr_D1_RK5(array, isSorted, method)
9480 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9481 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_RK5
9482 : #endif
9483 : use pm_kind, only: RKC => RK5
9484 : real(RKC) , intent(inout) , contiguous :: array(:)
9485 : procedure(logical(LK)) :: isSorted
9486 : type(heapr_type) , intent(in) :: method
9487 : end subroutine
9488 : #endif
9489 :
9490 : #if RK4_ENABLED
9491 : module subroutine setSortedArrCusComHeapr_D1_RK4(array, isSorted, method)
9492 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9493 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_RK4
9494 : #endif
9495 : use pm_kind, only: RKC => RK4
9496 : real(RKC) , intent(inout) , contiguous :: array(:)
9497 : procedure(logical(LK)) :: isSorted
9498 : type(heapr_type) , intent(in) :: method
9499 : end subroutine
9500 : #endif
9501 :
9502 : #if RK3_ENABLED
9503 : module subroutine setSortedArrCusComHeapr_D1_RK3(array, isSorted, method)
9504 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9505 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_RK3
9506 : #endif
9507 : use pm_kind, only: RKC => RK3
9508 : real(RKC) , intent(inout) , contiguous :: array(:)
9509 : procedure(logical(LK)) :: isSorted
9510 : type(heapr_type) , intent(in) :: method
9511 : end subroutine
9512 : #endif
9513 :
9514 : #if RK2_ENABLED
9515 : module subroutine setSortedArrCusComHeapr_D1_RK2(array, isSorted, method)
9516 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9517 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_RK2
9518 : #endif
9519 : use pm_kind, only: RKC => RK2
9520 : real(RKC) , intent(inout) , contiguous :: array(:)
9521 : procedure(logical(LK)) :: isSorted
9522 : type(heapr_type) , intent(in) :: method
9523 : end subroutine
9524 : #endif
9525 :
9526 : #if RK1_ENABLED
9527 : module subroutine setSortedArrCusComHeapr_D1_RK1(array, isSorted, method)
9528 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9529 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_RK1
9530 : #endif
9531 : use pm_kind, only: RKC => RK1
9532 : real(RKC) , intent(inout) , contiguous :: array(:)
9533 : procedure(logical(LK)) :: isSorted
9534 : type(heapr_type) , intent(in) :: method
9535 : end subroutine
9536 : #endif
9537 :
9538 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9539 :
9540 : #if SK5_ENABLED
9541 : module subroutine setSortedArrCusComHeapr_D1_PSSK5(array, isSorted, method)
9542 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9543 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_PSSK5
9544 : #endif
9545 : use pm_kind, only: SKC => SK5
9546 : use pm_container, only: css_pdt
9547 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9548 : procedure(logical(LK)) :: isSorted
9549 : type(heapr_type) , intent(in) :: method
9550 : end subroutine
9551 : #endif
9552 :
9553 : #if SK4_ENABLED
9554 : module subroutine setSortedArrCusComHeapr_D1_PSSK4(array, isSorted, method)
9555 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9556 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_PSSK4
9557 : #endif
9558 : use pm_kind, only: SKC => SK4
9559 : use pm_container, only: css_pdt
9560 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9561 : procedure(logical(LK)) :: isSorted
9562 : type(heapr_type) , intent(in) :: method
9563 : end subroutine
9564 : #endif
9565 :
9566 : #if SK3_ENABLED
9567 : module subroutine setSortedArrCusComHeapr_D1_PSSK3(array, isSorted, method)
9568 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9569 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_PSSK3
9570 : #endif
9571 : use pm_kind, only: SKC => SK3
9572 : use pm_container, only: css_pdt
9573 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9574 : procedure(logical(LK)) :: isSorted
9575 : type(heapr_type) , intent(in) :: method
9576 : end subroutine
9577 : #endif
9578 :
9579 : #if SK2_ENABLED
9580 : module subroutine setSortedArrCusComHeapr_D1_PSSK2(array, isSorted, method)
9581 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9582 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_PSSK2
9583 : #endif
9584 : use pm_kind, only: SKC => SK2
9585 : use pm_container, only: css_pdt
9586 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9587 : procedure(logical(LK)) :: isSorted
9588 : type(heapr_type) , intent(in) :: method
9589 : end subroutine
9590 : #endif
9591 :
9592 : #if SK1_ENABLED
9593 : module subroutine setSortedArrCusComHeapr_D1_PSSK1(array, isSorted, method)
9594 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9595 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_PSSK1
9596 : #endif
9597 : use pm_kind, only: SKC => SK1
9598 : use pm_container, only: css_pdt
9599 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
9600 : procedure(logical(LK)) :: isSorted
9601 : type(heapr_type) , intent(in) :: method
9602 : end subroutine
9603 : #endif
9604 :
9605 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9606 :
9607 : module subroutine setSortedArrCusComHeapr_D1_BSSK(array, isSorted, method)
9608 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9609 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComHeapr_D1_BSSK
9610 : #endif
9611 : use pm_kind, only: SKC => SK
9612 : use pm_container, only: css_type
9613 : type(css_type) , intent(inout) , contiguous :: array(:)
9614 : procedure(logical(LK)) :: isSorted
9615 : type(heapr_type) , intent(in) :: method
9616 : end subroutine
9617 :
9618 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9619 :
9620 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9622 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9623 :
9624 : end interface
9625 :
9626 : ! setSortedArrCusComInsertionl
9627 :
9628 : interface setSorted
9629 :
9630 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9631 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9632 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9633 :
9634 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9635 :
9636 : #if SK5_ENABLED
9637 : module subroutine setSortedArrCusComInsertionl_D0_SK5(array, isSorted, method)
9638 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9639 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D0_SK5
9640 : #endif
9641 : use pm_kind, only: SKC => SK5
9642 : character(*,SKC) , intent(inout) :: array
9643 : procedure(logical(LK)) :: isSorted
9644 : type(insertionl_type) , intent(in) :: method
9645 : end subroutine
9646 : #endif
9647 :
9648 : #if SK4_ENABLED
9649 : module subroutine setSortedArrCusComInsertionl_D0_SK4(array, isSorted, method)
9650 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9651 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D0_SK4
9652 : #endif
9653 : use pm_kind, only: SKC => SK4
9654 : character(*,SKC) , intent(inout) :: array
9655 : procedure(logical(LK)) :: isSorted
9656 : type(insertionl_type) , intent(in) :: method
9657 : end subroutine
9658 : #endif
9659 :
9660 : #if SK3_ENABLED
9661 : module subroutine setSortedArrCusComInsertionl_D0_SK3(array, isSorted, method)
9662 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9663 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D0_SK3
9664 : #endif
9665 : use pm_kind, only: SKC => SK3
9666 : character(*,SKC) , intent(inout) :: array
9667 : procedure(logical(LK)) :: isSorted
9668 : type(insertionl_type) , intent(in) :: method
9669 : end subroutine
9670 : #endif
9671 :
9672 : #if SK2_ENABLED
9673 : module subroutine setSortedArrCusComInsertionl_D0_SK2(array, isSorted, method)
9674 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9675 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D0_SK2
9676 : #endif
9677 : use pm_kind, only: SKC => SK2
9678 : character(*,SKC) , intent(inout) :: array
9679 : procedure(logical(LK)) :: isSorted
9680 : type(insertionl_type) , intent(in) :: method
9681 : end subroutine
9682 : #endif
9683 :
9684 : #if SK1_ENABLED
9685 : module subroutine setSortedArrCusComInsertionl_D0_SK1(array, isSorted, method)
9686 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9687 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D0_SK1
9688 : #endif
9689 : use pm_kind, only: SKC => SK1
9690 : character(*,SKC) , intent(inout) :: array
9691 : procedure(logical(LK)) :: isSorted
9692 : type(insertionl_type) , intent(in) :: method
9693 : end subroutine
9694 : #endif
9695 :
9696 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9697 :
9698 : #if SK5_ENABLED
9699 : module subroutine setSortedArrCusComInsertionl_D1_SK5(array, isSorted, method)
9700 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9701 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_SK5
9702 : #endif
9703 : use pm_kind, only: SKC => SK5
9704 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9705 : procedure(logical(LK)) :: isSorted
9706 : type(insertionl_type) , intent(in) :: method
9707 : end subroutine
9708 : #endif
9709 :
9710 : #if SK4_ENABLED
9711 : module subroutine setSortedArrCusComInsertionl_D1_SK4(array, isSorted, method)
9712 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9713 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_SK4
9714 : #endif
9715 : use pm_kind, only: SKC => SK4
9716 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9717 : procedure(logical(LK)) :: isSorted
9718 : type(insertionl_type) , intent(in) :: method
9719 : end subroutine
9720 : #endif
9721 :
9722 : #if SK3_ENABLED
9723 : module subroutine setSortedArrCusComInsertionl_D1_SK3(array, isSorted, method)
9724 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9725 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_SK3
9726 : #endif
9727 : use pm_kind, only: SKC => SK3
9728 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9729 : procedure(logical(LK)) :: isSorted
9730 : type(insertionl_type) , intent(in) :: method
9731 : end subroutine
9732 : #endif
9733 :
9734 : #if SK2_ENABLED
9735 : module subroutine setSortedArrCusComInsertionl_D1_SK2(array, isSorted, method)
9736 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9737 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_SK2
9738 : #endif
9739 : use pm_kind, only: SKC => SK2
9740 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9741 : procedure(logical(LK)) :: isSorted
9742 : type(insertionl_type) , intent(in) :: method
9743 : end subroutine
9744 : #endif
9745 :
9746 : #if SK1_ENABLED
9747 : module subroutine setSortedArrCusComInsertionl_D1_SK1(array, isSorted, method)
9748 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9749 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_SK1
9750 : #endif
9751 : use pm_kind, only: SKC => SK1
9752 : character(*,SKC) , intent(inout) , contiguous :: array(:)
9753 : procedure(logical(LK)) :: isSorted
9754 : type(insertionl_type) , intent(in) :: method
9755 : end subroutine
9756 : #endif
9757 :
9758 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9759 :
9760 : #if IK5_ENABLED
9761 : module subroutine setSortedArrCusComInsertionl_D1_IK5(array, isSorted, method)
9762 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9763 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_IK5
9764 : #endif
9765 : use pm_kind, only: IKC => IK5
9766 : integer(IKC) , intent(inout) , contiguous :: array(:)
9767 : procedure(logical(LK)) :: isSorted
9768 : type(insertionl_type) , intent(in) :: method
9769 : end subroutine
9770 : #endif
9771 :
9772 : #if IK4_ENABLED
9773 : module subroutine setSortedArrCusComInsertionl_D1_IK4(array, isSorted, method)
9774 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9775 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_IK4
9776 : #endif
9777 : use pm_kind, only: IKC => IK4
9778 : integer(IKC) , intent(inout) , contiguous :: array(:)
9779 : procedure(logical(LK)) :: isSorted
9780 : type(insertionl_type) , intent(in) :: method
9781 : end subroutine
9782 : #endif
9783 :
9784 : #if IK3_ENABLED
9785 : module subroutine setSortedArrCusComInsertionl_D1_IK3(array, isSorted, method)
9786 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9787 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_IK3
9788 : #endif
9789 : use pm_kind, only: IKC => IK3
9790 : integer(IKC) , intent(inout) , contiguous :: array(:)
9791 : procedure(logical(LK)) :: isSorted
9792 : type(insertionl_type) , intent(in) :: method
9793 : end subroutine
9794 : #endif
9795 :
9796 : #if IK2_ENABLED
9797 : module subroutine setSortedArrCusComInsertionl_D1_IK2(array, isSorted, method)
9798 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9799 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_IK2
9800 : #endif
9801 : use pm_kind, only: IKC => IK2
9802 : integer(IKC) , intent(inout) , contiguous :: array(:)
9803 : procedure(logical(LK)) :: isSorted
9804 : type(insertionl_type) , intent(in) :: method
9805 : end subroutine
9806 : #endif
9807 :
9808 : #if IK1_ENABLED
9809 : module subroutine setSortedArrCusComInsertionl_D1_IK1(array, isSorted, method)
9810 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9811 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_IK1
9812 : #endif
9813 : use pm_kind, only: IKC => IK1
9814 : integer(IKC) , intent(inout) , contiguous :: array(:)
9815 : procedure(logical(LK)) :: isSorted
9816 : type(insertionl_type) , intent(in) :: method
9817 : end subroutine
9818 : #endif
9819 :
9820 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9821 :
9822 : #if LK5_ENABLED
9823 : module subroutine setSortedArrCusComInsertionl_D1_LK5(array, isSorted, method)
9824 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9825 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_LK5
9826 : #endif
9827 : use pm_kind, only: LKC => LK5
9828 : logical(LKC) , intent(inout) , contiguous :: array(:)
9829 : procedure(logical(LK)) :: isSorted
9830 : type(insertionl_type) , intent(in) :: method
9831 : end subroutine
9832 : #endif
9833 :
9834 : #if LK4_ENABLED
9835 : module subroutine setSortedArrCusComInsertionl_D1_LK4(array, isSorted, method)
9836 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9837 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_LK4
9838 : #endif
9839 : use pm_kind, only: LKC => LK4
9840 : logical(LKC) , intent(inout) , contiguous :: array(:)
9841 : procedure(logical(LK)) :: isSorted
9842 : type(insertionl_type) , intent(in) :: method
9843 : end subroutine
9844 : #endif
9845 :
9846 : #if LK3_ENABLED
9847 : module subroutine setSortedArrCusComInsertionl_D1_LK3(array, isSorted, method)
9848 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9849 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_LK3
9850 : #endif
9851 : use pm_kind, only: LKC => LK3
9852 : logical(LKC) , intent(inout) , contiguous :: array(:)
9853 : procedure(logical(LK)) :: isSorted
9854 : type(insertionl_type) , intent(in) :: method
9855 : end subroutine
9856 : #endif
9857 :
9858 : #if LK2_ENABLED
9859 : module subroutine setSortedArrCusComInsertionl_D1_LK2(array, isSorted, method)
9860 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9861 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_LK2
9862 : #endif
9863 : use pm_kind, only: LKC => LK2
9864 : logical(LKC) , intent(inout) , contiguous :: array(:)
9865 : procedure(logical(LK)) :: isSorted
9866 : type(insertionl_type) , intent(in) :: method
9867 : end subroutine
9868 : #endif
9869 :
9870 : #if LK1_ENABLED
9871 : module subroutine setSortedArrCusComInsertionl_D1_LK1(array, isSorted, method)
9872 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9873 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_LK1
9874 : #endif
9875 : use pm_kind, only: LKC => LK1
9876 : logical(LKC) , intent(inout) , contiguous :: array(:)
9877 : procedure(logical(LK)) :: isSorted
9878 : type(insertionl_type) , intent(in) :: method
9879 : end subroutine
9880 : #endif
9881 :
9882 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9883 :
9884 : #if CK5_ENABLED
9885 : module subroutine setSortedArrCusComInsertionl_D1_CK5(array, isSorted, method)
9886 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9887 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_CK5
9888 : #endif
9889 : use pm_kind, only: CKC => CK5
9890 : complex(CKC) , intent(inout) , contiguous :: array(:)
9891 : procedure(logical(LK)) :: isSorted
9892 : type(insertionl_type) , intent(in) :: method
9893 : end subroutine
9894 : #endif
9895 :
9896 : #if CK4_ENABLED
9897 : module subroutine setSortedArrCusComInsertionl_D1_CK4(array, isSorted, method)
9898 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9899 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_CK4
9900 : #endif
9901 : use pm_kind, only: CKC => CK4
9902 : complex(CKC) , intent(inout) , contiguous :: array(:)
9903 : procedure(logical(LK)) :: isSorted
9904 : type(insertionl_type) , intent(in) :: method
9905 : end subroutine
9906 : #endif
9907 :
9908 : #if CK3_ENABLED
9909 : module subroutine setSortedArrCusComInsertionl_D1_CK3(array, isSorted, method)
9910 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9911 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_CK3
9912 : #endif
9913 : use pm_kind, only: CKC => CK3
9914 : complex(CKC) , intent(inout) , contiguous :: array(:)
9915 : procedure(logical(LK)) :: isSorted
9916 : type(insertionl_type) , intent(in) :: method
9917 : end subroutine
9918 : #endif
9919 :
9920 : #if CK2_ENABLED
9921 : module subroutine setSortedArrCusComInsertionl_D1_CK2(array, isSorted, method)
9922 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9923 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_CK2
9924 : #endif
9925 : use pm_kind, only: CKC => CK2
9926 : complex(CKC) , intent(inout) , contiguous :: array(:)
9927 : procedure(logical(LK)) :: isSorted
9928 : type(insertionl_type) , intent(in) :: method
9929 : end subroutine
9930 : #endif
9931 :
9932 : #if CK1_ENABLED
9933 : module subroutine setSortedArrCusComInsertionl_D1_CK1(array, isSorted, method)
9934 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9935 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_CK1
9936 : #endif
9937 : use pm_kind, only: CKC => CK1
9938 : complex(CKC) , intent(inout) , contiguous :: array(:)
9939 : procedure(logical(LK)) :: isSorted
9940 : type(insertionl_type) , intent(in) :: method
9941 : end subroutine
9942 : #endif
9943 :
9944 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9945 :
9946 : #if RK5_ENABLED
9947 : module subroutine setSortedArrCusComInsertionl_D1_RK5(array, isSorted, method)
9948 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9949 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_RK5
9950 : #endif
9951 : use pm_kind, only: RKC => RK5
9952 : real(RKC) , intent(inout) , contiguous :: array(:)
9953 : procedure(logical(LK)) :: isSorted
9954 : type(insertionl_type) , intent(in) :: method
9955 : end subroutine
9956 : #endif
9957 :
9958 : #if RK4_ENABLED
9959 : module subroutine setSortedArrCusComInsertionl_D1_RK4(array, isSorted, method)
9960 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9961 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_RK4
9962 : #endif
9963 : use pm_kind, only: RKC => RK4
9964 : real(RKC) , intent(inout) , contiguous :: array(:)
9965 : procedure(logical(LK)) :: isSorted
9966 : type(insertionl_type) , intent(in) :: method
9967 : end subroutine
9968 : #endif
9969 :
9970 : #if RK3_ENABLED
9971 : module subroutine setSortedArrCusComInsertionl_D1_RK3(array, isSorted, method)
9972 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9973 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_RK3
9974 : #endif
9975 : use pm_kind, only: RKC => RK3
9976 : real(RKC) , intent(inout) , contiguous :: array(:)
9977 : procedure(logical(LK)) :: isSorted
9978 : type(insertionl_type) , intent(in) :: method
9979 : end subroutine
9980 : #endif
9981 :
9982 : #if RK2_ENABLED
9983 : module subroutine setSortedArrCusComInsertionl_D1_RK2(array, isSorted, method)
9984 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9985 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_RK2
9986 : #endif
9987 : use pm_kind, only: RKC => RK2
9988 : real(RKC) , intent(inout) , contiguous :: array(:)
9989 : procedure(logical(LK)) :: isSorted
9990 : type(insertionl_type) , intent(in) :: method
9991 : end subroutine
9992 : #endif
9993 :
9994 : #if RK1_ENABLED
9995 : module subroutine setSortedArrCusComInsertionl_D1_RK1(array, isSorted, method)
9996 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9997 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_RK1
9998 : #endif
9999 : use pm_kind, only: RKC => RK1
10000 : real(RKC) , intent(inout) , contiguous :: array(:)
10001 : procedure(logical(LK)) :: isSorted
10002 : type(insertionl_type) , intent(in) :: method
10003 : end subroutine
10004 : #endif
10005 :
10006 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10007 :
10008 : #if SK5_ENABLED
10009 : module subroutine setSortedArrCusComInsertionl_D1_PSSK5(array, isSorted, method)
10010 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10011 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_PSSK5
10012 : #endif
10013 : use pm_kind, only: SKC => SK5
10014 : use pm_container, only: css_pdt
10015 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10016 : procedure(logical(LK)) :: isSorted
10017 : type(insertionl_type) , intent(in) :: method
10018 : end subroutine
10019 : #endif
10020 :
10021 : #if SK4_ENABLED
10022 : module subroutine setSortedArrCusComInsertionl_D1_PSSK4(array, isSorted, method)
10023 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10024 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_PSSK4
10025 : #endif
10026 : use pm_kind, only: SKC => SK4
10027 : use pm_container, only: css_pdt
10028 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10029 : procedure(logical(LK)) :: isSorted
10030 : type(insertionl_type) , intent(in) :: method
10031 : end subroutine
10032 : #endif
10033 :
10034 : #if SK3_ENABLED
10035 : module subroutine setSortedArrCusComInsertionl_D1_PSSK3(array, isSorted, method)
10036 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10037 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_PSSK3
10038 : #endif
10039 : use pm_kind, only: SKC => SK3
10040 : use pm_container, only: css_pdt
10041 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10042 : procedure(logical(LK)) :: isSorted
10043 : type(insertionl_type) , intent(in) :: method
10044 : end subroutine
10045 : #endif
10046 :
10047 : #if SK2_ENABLED
10048 : module subroutine setSortedArrCusComInsertionl_D1_PSSK2(array, isSorted, method)
10049 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10050 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_PSSK2
10051 : #endif
10052 : use pm_kind, only: SKC => SK2
10053 : use pm_container, only: css_pdt
10054 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10055 : procedure(logical(LK)) :: isSorted
10056 : type(insertionl_type) , intent(in) :: method
10057 : end subroutine
10058 : #endif
10059 :
10060 : #if SK1_ENABLED
10061 : module subroutine setSortedArrCusComInsertionl_D1_PSSK1(array, isSorted, method)
10062 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10063 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_PSSK1
10064 : #endif
10065 : use pm_kind, only: SKC => SK1
10066 : use pm_container, only: css_pdt
10067 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10068 : procedure(logical(LK)) :: isSorted
10069 : type(insertionl_type) , intent(in) :: method
10070 : end subroutine
10071 : #endif
10072 :
10073 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10074 :
10075 : module subroutine setSortedArrCusComInsertionl_D1_BSSK(array, isSorted, method)
10076 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10077 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionl_D1_BSSK
10078 : #endif
10079 : use pm_kind, only: SKC => SK
10080 : use pm_container, only: css_type
10081 : type(css_type) , intent(inout) , contiguous :: array(:)
10082 : procedure(logical(LK)) :: isSorted
10083 : type(insertionl_type) , intent(in) :: method
10084 : end subroutine
10085 :
10086 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10087 :
10088 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10089 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10090 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10091 :
10092 : end interface
10093 :
10094 : ! setSortedArrCusComInsertionb
10095 :
10096 : interface setSorted
10097 :
10098 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10099 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10101 :
10102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10103 :
10104 : #if SK5_ENABLED
10105 : module subroutine setSortedArrCusComInsertionb_D0_SK5(array, isSorted, method)
10106 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10107 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D0_SK5
10108 : #endif
10109 : use pm_kind, only: SKC => SK5
10110 : character(*,SKC) , intent(inout) :: array
10111 : procedure(logical(LK)) :: isSorted
10112 : type(insertionb_type) , intent(in) :: method
10113 : end subroutine
10114 : #endif
10115 :
10116 : #if SK4_ENABLED
10117 : module subroutine setSortedArrCusComInsertionb_D0_SK4(array, isSorted, method)
10118 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10119 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D0_SK4
10120 : #endif
10121 : use pm_kind, only: SKC => SK4
10122 : character(*,SKC) , intent(inout) :: array
10123 : procedure(logical(LK)) :: isSorted
10124 : type(insertionb_type) , intent(in) :: method
10125 : end subroutine
10126 : #endif
10127 :
10128 : #if SK3_ENABLED
10129 : module subroutine setSortedArrCusComInsertionb_D0_SK3(array, isSorted, method)
10130 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10131 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D0_SK3
10132 : #endif
10133 : use pm_kind, only: SKC => SK3
10134 : character(*,SKC) , intent(inout) :: array
10135 : procedure(logical(LK)) :: isSorted
10136 : type(insertionb_type) , intent(in) :: method
10137 : end subroutine
10138 : #endif
10139 :
10140 : #if SK2_ENABLED
10141 : module subroutine setSortedArrCusComInsertionb_D0_SK2(array, isSorted, method)
10142 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10143 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D0_SK2
10144 : #endif
10145 : use pm_kind, only: SKC => SK2
10146 : character(*,SKC) , intent(inout) :: array
10147 : procedure(logical(LK)) :: isSorted
10148 : type(insertionb_type) , intent(in) :: method
10149 : end subroutine
10150 : #endif
10151 :
10152 : #if SK1_ENABLED
10153 : module subroutine setSortedArrCusComInsertionb_D0_SK1(array, isSorted, method)
10154 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10155 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D0_SK1
10156 : #endif
10157 : use pm_kind, only: SKC => SK1
10158 : character(*,SKC) , intent(inout) :: array
10159 : procedure(logical(LK)) :: isSorted
10160 : type(insertionb_type) , intent(in) :: method
10161 : end subroutine
10162 : #endif
10163 :
10164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10165 :
10166 : #if SK5_ENABLED
10167 : module subroutine setSortedArrCusComInsertionb_D1_SK5(array, isSorted, method)
10168 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10169 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_SK5
10170 : #endif
10171 : use pm_kind, only: SKC => SK5
10172 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10173 : procedure(logical(LK)) :: isSorted
10174 : type(insertionb_type) , intent(in) :: method
10175 : end subroutine
10176 : #endif
10177 :
10178 : #if SK4_ENABLED
10179 : module subroutine setSortedArrCusComInsertionb_D1_SK4(array, isSorted, method)
10180 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10181 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_SK4
10182 : #endif
10183 : use pm_kind, only: SKC => SK4
10184 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10185 : procedure(logical(LK)) :: isSorted
10186 : type(insertionb_type) , intent(in) :: method
10187 : end subroutine
10188 : #endif
10189 :
10190 : #if SK3_ENABLED
10191 : module subroutine setSortedArrCusComInsertionb_D1_SK3(array, isSorted, method)
10192 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10193 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_SK3
10194 : #endif
10195 : use pm_kind, only: SKC => SK3
10196 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10197 : procedure(logical(LK)) :: isSorted
10198 : type(insertionb_type) , intent(in) :: method
10199 : end subroutine
10200 : #endif
10201 :
10202 : #if SK2_ENABLED
10203 : module subroutine setSortedArrCusComInsertionb_D1_SK2(array, isSorted, method)
10204 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10205 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_SK2
10206 : #endif
10207 : use pm_kind, only: SKC => SK2
10208 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10209 : procedure(logical(LK)) :: isSorted
10210 : type(insertionb_type) , intent(in) :: method
10211 : end subroutine
10212 : #endif
10213 :
10214 : #if SK1_ENABLED
10215 : module subroutine setSortedArrCusComInsertionb_D1_SK1(array, isSorted, method)
10216 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10217 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_SK1
10218 : #endif
10219 : use pm_kind, only: SKC => SK1
10220 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10221 : procedure(logical(LK)) :: isSorted
10222 : type(insertionb_type) , intent(in) :: method
10223 : end subroutine
10224 : #endif
10225 :
10226 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10227 :
10228 : #if IK5_ENABLED
10229 : module subroutine setSortedArrCusComInsertionb_D1_IK5(array, isSorted, method)
10230 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10231 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_IK5
10232 : #endif
10233 : use pm_kind, only: IKC => IK5
10234 : integer(IKC) , intent(inout) , contiguous :: array(:)
10235 : procedure(logical(LK)) :: isSorted
10236 : type(insertionb_type) , intent(in) :: method
10237 : end subroutine
10238 : #endif
10239 :
10240 : #if IK4_ENABLED
10241 : module subroutine setSortedArrCusComInsertionb_D1_IK4(array, isSorted, method)
10242 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10243 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_IK4
10244 : #endif
10245 : use pm_kind, only: IKC => IK4
10246 : integer(IKC) , intent(inout) , contiguous :: array(:)
10247 : procedure(logical(LK)) :: isSorted
10248 : type(insertionb_type) , intent(in) :: method
10249 : end subroutine
10250 : #endif
10251 :
10252 : #if IK3_ENABLED
10253 : module subroutine setSortedArrCusComInsertionb_D1_IK3(array, isSorted, method)
10254 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10255 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_IK3
10256 : #endif
10257 : use pm_kind, only: IKC => IK3
10258 : integer(IKC) , intent(inout) , contiguous :: array(:)
10259 : procedure(logical(LK)) :: isSorted
10260 : type(insertionb_type) , intent(in) :: method
10261 : end subroutine
10262 : #endif
10263 :
10264 : #if IK2_ENABLED
10265 : module subroutine setSortedArrCusComInsertionb_D1_IK2(array, isSorted, method)
10266 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10267 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_IK2
10268 : #endif
10269 : use pm_kind, only: IKC => IK2
10270 : integer(IKC) , intent(inout) , contiguous :: array(:)
10271 : procedure(logical(LK)) :: isSorted
10272 : type(insertionb_type) , intent(in) :: method
10273 : end subroutine
10274 : #endif
10275 :
10276 : #if IK1_ENABLED
10277 : module subroutine setSortedArrCusComInsertionb_D1_IK1(array, isSorted, method)
10278 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10279 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_IK1
10280 : #endif
10281 : use pm_kind, only: IKC => IK1
10282 : integer(IKC) , intent(inout) , contiguous :: array(:)
10283 : procedure(logical(LK)) :: isSorted
10284 : type(insertionb_type) , intent(in) :: method
10285 : end subroutine
10286 : #endif
10287 :
10288 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10289 :
10290 : #if LK5_ENABLED
10291 : module subroutine setSortedArrCusComInsertionb_D1_LK5(array, isSorted, method)
10292 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10293 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_LK5
10294 : #endif
10295 : use pm_kind, only: LKC => LK5
10296 : logical(LKC) , intent(inout) , contiguous :: array(:)
10297 : procedure(logical(LK)) :: isSorted
10298 : type(insertionb_type) , intent(in) :: method
10299 : end subroutine
10300 : #endif
10301 :
10302 : #if LK4_ENABLED
10303 : module subroutine setSortedArrCusComInsertionb_D1_LK4(array, isSorted, method)
10304 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10305 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_LK4
10306 : #endif
10307 : use pm_kind, only: LKC => LK4
10308 : logical(LKC) , intent(inout) , contiguous :: array(:)
10309 : procedure(logical(LK)) :: isSorted
10310 : type(insertionb_type) , intent(in) :: method
10311 : end subroutine
10312 : #endif
10313 :
10314 : #if LK3_ENABLED
10315 : module subroutine setSortedArrCusComInsertionb_D1_LK3(array, isSorted, method)
10316 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10317 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_LK3
10318 : #endif
10319 : use pm_kind, only: LKC => LK3
10320 : logical(LKC) , intent(inout) , contiguous :: array(:)
10321 : procedure(logical(LK)) :: isSorted
10322 : type(insertionb_type) , intent(in) :: method
10323 : end subroutine
10324 : #endif
10325 :
10326 : #if LK2_ENABLED
10327 : module subroutine setSortedArrCusComInsertionb_D1_LK2(array, isSorted, method)
10328 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10329 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_LK2
10330 : #endif
10331 : use pm_kind, only: LKC => LK2
10332 : logical(LKC) , intent(inout) , contiguous :: array(:)
10333 : procedure(logical(LK)) :: isSorted
10334 : type(insertionb_type) , intent(in) :: method
10335 : end subroutine
10336 : #endif
10337 :
10338 : #if LK1_ENABLED
10339 : module subroutine setSortedArrCusComInsertionb_D1_LK1(array, isSorted, method)
10340 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10341 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_LK1
10342 : #endif
10343 : use pm_kind, only: LKC => LK1
10344 : logical(LKC) , intent(inout) , contiguous :: array(:)
10345 : procedure(logical(LK)) :: isSorted
10346 : type(insertionb_type) , intent(in) :: method
10347 : end subroutine
10348 : #endif
10349 :
10350 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10351 :
10352 : #if CK5_ENABLED
10353 : module subroutine setSortedArrCusComInsertionb_D1_CK5(array, isSorted, method)
10354 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10355 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_CK5
10356 : #endif
10357 : use pm_kind, only: CKC => CK5
10358 : complex(CKC) , intent(inout) , contiguous :: array(:)
10359 : procedure(logical(LK)) :: isSorted
10360 : type(insertionb_type) , intent(in) :: method
10361 : end subroutine
10362 : #endif
10363 :
10364 : #if CK4_ENABLED
10365 : module subroutine setSortedArrCusComInsertionb_D1_CK4(array, isSorted, method)
10366 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10367 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_CK4
10368 : #endif
10369 : use pm_kind, only: CKC => CK4
10370 : complex(CKC) , intent(inout) , contiguous :: array(:)
10371 : procedure(logical(LK)) :: isSorted
10372 : type(insertionb_type) , intent(in) :: method
10373 : end subroutine
10374 : #endif
10375 :
10376 : #if CK3_ENABLED
10377 : module subroutine setSortedArrCusComInsertionb_D1_CK3(array, isSorted, method)
10378 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10379 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_CK3
10380 : #endif
10381 : use pm_kind, only: CKC => CK3
10382 : complex(CKC) , intent(inout) , contiguous :: array(:)
10383 : procedure(logical(LK)) :: isSorted
10384 : type(insertionb_type) , intent(in) :: method
10385 : end subroutine
10386 : #endif
10387 :
10388 : #if CK2_ENABLED
10389 : module subroutine setSortedArrCusComInsertionb_D1_CK2(array, isSorted, method)
10390 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10391 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_CK2
10392 : #endif
10393 : use pm_kind, only: CKC => CK2
10394 : complex(CKC) , intent(inout) , contiguous :: array(:)
10395 : procedure(logical(LK)) :: isSorted
10396 : type(insertionb_type) , intent(in) :: method
10397 : end subroutine
10398 : #endif
10399 :
10400 : #if CK1_ENABLED
10401 : module subroutine setSortedArrCusComInsertionb_D1_CK1(array, isSorted, method)
10402 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10403 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_CK1
10404 : #endif
10405 : use pm_kind, only: CKC => CK1
10406 : complex(CKC) , intent(inout) , contiguous :: array(:)
10407 : procedure(logical(LK)) :: isSorted
10408 : type(insertionb_type) , intent(in) :: method
10409 : end subroutine
10410 : #endif
10411 :
10412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10413 :
10414 : #if RK5_ENABLED
10415 : module subroutine setSortedArrCusComInsertionb_D1_RK5(array, isSorted, method)
10416 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10417 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_RK5
10418 : #endif
10419 : use pm_kind, only: RKC => RK5
10420 : real(RKC) , intent(inout) , contiguous :: array(:)
10421 : procedure(logical(LK)) :: isSorted
10422 : type(insertionb_type) , intent(in) :: method
10423 : end subroutine
10424 : #endif
10425 :
10426 : #if RK4_ENABLED
10427 : module subroutine setSortedArrCusComInsertionb_D1_RK4(array, isSorted, method)
10428 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10429 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_RK4
10430 : #endif
10431 : use pm_kind, only: RKC => RK4
10432 : real(RKC) , intent(inout) , contiguous :: array(:)
10433 : procedure(logical(LK)) :: isSorted
10434 : type(insertionb_type) , intent(in) :: method
10435 : end subroutine
10436 : #endif
10437 :
10438 : #if RK3_ENABLED
10439 : module subroutine setSortedArrCusComInsertionb_D1_RK3(array, isSorted, method)
10440 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10441 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_RK3
10442 : #endif
10443 : use pm_kind, only: RKC => RK3
10444 : real(RKC) , intent(inout) , contiguous :: array(:)
10445 : procedure(logical(LK)) :: isSorted
10446 : type(insertionb_type) , intent(in) :: method
10447 : end subroutine
10448 : #endif
10449 :
10450 : #if RK2_ENABLED
10451 : module subroutine setSortedArrCusComInsertionb_D1_RK2(array, isSorted, method)
10452 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10453 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_RK2
10454 : #endif
10455 : use pm_kind, only: RKC => RK2
10456 : real(RKC) , intent(inout) , contiguous :: array(:)
10457 : procedure(logical(LK)) :: isSorted
10458 : type(insertionb_type) , intent(in) :: method
10459 : end subroutine
10460 : #endif
10461 :
10462 : #if RK1_ENABLED
10463 : module subroutine setSortedArrCusComInsertionb_D1_RK1(array, isSorted, method)
10464 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10465 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_RK1
10466 : #endif
10467 : use pm_kind, only: RKC => RK1
10468 : real(RKC) , intent(inout) , contiguous :: array(:)
10469 : procedure(logical(LK)) :: isSorted
10470 : type(insertionb_type) , intent(in) :: method
10471 : end subroutine
10472 : #endif
10473 :
10474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10475 :
10476 : #if SK5_ENABLED
10477 : module subroutine setSortedArrCusComInsertionb_D1_PSSK5(array, isSorted, method)
10478 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10479 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_PSSK5
10480 : #endif
10481 : use pm_kind, only: SKC => SK5
10482 : use pm_container, only: css_pdt
10483 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10484 : procedure(logical(LK)) :: isSorted
10485 : type(insertionb_type) , intent(in) :: method
10486 : end subroutine
10487 : #endif
10488 :
10489 : #if SK4_ENABLED
10490 : module subroutine setSortedArrCusComInsertionb_D1_PSSK4(array, isSorted, method)
10491 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10492 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_PSSK4
10493 : #endif
10494 : use pm_kind, only: SKC => SK4
10495 : use pm_container, only: css_pdt
10496 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10497 : procedure(logical(LK)) :: isSorted
10498 : type(insertionb_type) , intent(in) :: method
10499 : end subroutine
10500 : #endif
10501 :
10502 : #if SK3_ENABLED
10503 : module subroutine setSortedArrCusComInsertionb_D1_PSSK3(array, isSorted, method)
10504 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10505 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_PSSK3
10506 : #endif
10507 : use pm_kind, only: SKC => SK3
10508 : use pm_container, only: css_pdt
10509 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10510 : procedure(logical(LK)) :: isSorted
10511 : type(insertionb_type) , intent(in) :: method
10512 : end subroutine
10513 : #endif
10514 :
10515 : #if SK2_ENABLED
10516 : module subroutine setSortedArrCusComInsertionb_D1_PSSK2(array, isSorted, method)
10517 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10518 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_PSSK2
10519 : #endif
10520 : use pm_kind, only: SKC => SK2
10521 : use pm_container, only: css_pdt
10522 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10523 : procedure(logical(LK)) :: isSorted
10524 : type(insertionb_type) , intent(in) :: method
10525 : end subroutine
10526 : #endif
10527 :
10528 : #if SK1_ENABLED
10529 : module subroutine setSortedArrCusComInsertionb_D1_PSSK1(array, isSorted, method)
10530 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10531 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_PSSK1
10532 : #endif
10533 : use pm_kind, only: SKC => SK1
10534 : use pm_container, only: css_pdt
10535 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10536 : procedure(logical(LK)) :: isSorted
10537 : type(insertionb_type) , intent(in) :: method
10538 : end subroutine
10539 : #endif
10540 :
10541 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10542 :
10543 : module subroutine setSortedArrCusComInsertionb_D1_BSSK(array, isSorted, method)
10544 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10545 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComInsertionb_D1_BSSK
10546 : #endif
10547 : use pm_kind, only: SKC => SK
10548 : use pm_container, only: css_type
10549 : type(css_type) , intent(inout) , contiguous :: array(:)
10550 : procedure(logical(LK)) :: isSorted
10551 : type(insertionb_type) , intent(in) :: method
10552 : end subroutine
10553 :
10554 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10555 :
10556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10557 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10558 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10559 :
10560 : end interface
10561 :
10562 : ! setSortedArrCusComMerger
10563 :
10564 : interface setSorted
10565 :
10566 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10568 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10569 :
10570 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10571 :
10572 : #if SK5_ENABLED
10573 : recursive module subroutine setSortedArrCusComMerger_D0_SK5(array, isSorted, method)
10574 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10575 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D0_SK5
10576 : #endif
10577 : use pm_kind, only: SKC => SK5
10578 : character(*,SKC) , intent(inout) :: array
10579 : procedure(logical(LK)) :: isSorted
10580 : type(merger_type) , intent(in) :: method
10581 : end subroutine
10582 : #endif
10583 :
10584 : #if SK4_ENABLED
10585 : recursive module subroutine setSortedArrCusComMerger_D0_SK4(array, isSorted, method)
10586 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10587 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D0_SK4
10588 : #endif
10589 : use pm_kind, only: SKC => SK4
10590 : character(*,SKC) , intent(inout) :: array
10591 : procedure(logical(LK)) :: isSorted
10592 : type(merger_type) , intent(in) :: method
10593 : end subroutine
10594 : #endif
10595 :
10596 : #if SK3_ENABLED
10597 : recursive module subroutine setSortedArrCusComMerger_D0_SK3(array, isSorted, method)
10598 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10599 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D0_SK3
10600 : #endif
10601 : use pm_kind, only: SKC => SK3
10602 : character(*,SKC) , intent(inout) :: array
10603 : procedure(logical(LK)) :: isSorted
10604 : type(merger_type) , intent(in) :: method
10605 : end subroutine
10606 : #endif
10607 :
10608 : #if SK2_ENABLED
10609 : recursive module subroutine setSortedArrCusComMerger_D0_SK2(array, isSorted, method)
10610 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10611 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D0_SK2
10612 : #endif
10613 : use pm_kind, only: SKC => SK2
10614 : character(*,SKC) , intent(inout) :: array
10615 : procedure(logical(LK)) :: isSorted
10616 : type(merger_type) , intent(in) :: method
10617 : end subroutine
10618 : #endif
10619 :
10620 : #if SK1_ENABLED
10621 : recursive module subroutine setSortedArrCusComMerger_D0_SK1(array, isSorted, method)
10622 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10623 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D0_SK1
10624 : #endif
10625 : use pm_kind, only: SKC => SK1
10626 : character(*,SKC) , intent(inout) :: array
10627 : procedure(logical(LK)) :: isSorted
10628 : type(merger_type) , intent(in) :: method
10629 : end subroutine
10630 : #endif
10631 :
10632 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10633 :
10634 : #if SK5_ENABLED
10635 : recursive module subroutine setSortedArrCusComMerger_D1_SK5(array, isSorted, method)
10636 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10637 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_SK5
10638 : #endif
10639 : use pm_kind, only: SKC => SK5
10640 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10641 : procedure(logical(LK)) :: isSorted
10642 : type(merger_type) , intent(in) :: method
10643 : end subroutine
10644 : #endif
10645 :
10646 : #if SK4_ENABLED
10647 : recursive module subroutine setSortedArrCusComMerger_D1_SK4(array, isSorted, method)
10648 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10649 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_SK4
10650 : #endif
10651 : use pm_kind, only: SKC => SK4
10652 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10653 : procedure(logical(LK)) :: isSorted
10654 : type(merger_type) , intent(in) :: method
10655 : end subroutine
10656 : #endif
10657 :
10658 : #if SK3_ENABLED
10659 : recursive module subroutine setSortedArrCusComMerger_D1_SK3(array, isSorted, method)
10660 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10661 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_SK3
10662 : #endif
10663 : use pm_kind, only: SKC => SK3
10664 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10665 : procedure(logical(LK)) :: isSorted
10666 : type(merger_type) , intent(in) :: method
10667 : end subroutine
10668 : #endif
10669 :
10670 : #if SK2_ENABLED
10671 : recursive module subroutine setSortedArrCusComMerger_D1_SK2(array, isSorted, method)
10672 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10673 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_SK2
10674 : #endif
10675 : use pm_kind, only: SKC => SK2
10676 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10677 : procedure(logical(LK)) :: isSorted
10678 : type(merger_type) , intent(in) :: method
10679 : end subroutine
10680 : #endif
10681 :
10682 : #if SK1_ENABLED
10683 : recursive module subroutine setSortedArrCusComMerger_D1_SK1(array, isSorted, method)
10684 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10685 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_SK1
10686 : #endif
10687 : use pm_kind, only: SKC => SK1
10688 : character(*,SKC) , intent(inout) , contiguous :: array(:)
10689 : procedure(logical(LK)) :: isSorted
10690 : type(merger_type) , intent(in) :: method
10691 : end subroutine
10692 : #endif
10693 :
10694 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10695 :
10696 : #if IK5_ENABLED
10697 : recursive module subroutine setSortedArrCusComMerger_D1_IK5(array, isSorted, method)
10698 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10699 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_IK5
10700 : #endif
10701 : use pm_kind, only: IKC => IK5
10702 : integer(IKC) , intent(inout) , contiguous :: array(:)
10703 : procedure(logical(LK)) :: isSorted
10704 : type(merger_type) , intent(in) :: method
10705 : end subroutine
10706 : #endif
10707 :
10708 : #if IK4_ENABLED
10709 : recursive module subroutine setSortedArrCusComMerger_D1_IK4(array, isSorted, method)
10710 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10711 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_IK4
10712 : #endif
10713 : use pm_kind, only: IKC => IK4
10714 : integer(IKC) , intent(inout) , contiguous :: array(:)
10715 : procedure(logical(LK)) :: isSorted
10716 : type(merger_type) , intent(in) :: method
10717 : end subroutine
10718 : #endif
10719 :
10720 : #if IK3_ENABLED
10721 : recursive module subroutine setSortedArrCusComMerger_D1_IK3(array, isSorted, method)
10722 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10723 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_IK3
10724 : #endif
10725 : use pm_kind, only: IKC => IK3
10726 : integer(IKC) , intent(inout) , contiguous :: array(:)
10727 : procedure(logical(LK)) :: isSorted
10728 : type(merger_type) , intent(in) :: method
10729 : end subroutine
10730 : #endif
10731 :
10732 : #if IK2_ENABLED
10733 : recursive module subroutine setSortedArrCusComMerger_D1_IK2(array, isSorted, method)
10734 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10735 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_IK2
10736 : #endif
10737 : use pm_kind, only: IKC => IK2
10738 : integer(IKC) , intent(inout) , contiguous :: array(:)
10739 : procedure(logical(LK)) :: isSorted
10740 : type(merger_type) , intent(in) :: method
10741 : end subroutine
10742 : #endif
10743 :
10744 : #if IK1_ENABLED
10745 : recursive module subroutine setSortedArrCusComMerger_D1_IK1(array, isSorted, method)
10746 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10747 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_IK1
10748 : #endif
10749 : use pm_kind, only: IKC => IK1
10750 : integer(IKC) , intent(inout) , contiguous :: array(:)
10751 : procedure(logical(LK)) :: isSorted
10752 : type(merger_type) , intent(in) :: method
10753 : end subroutine
10754 : #endif
10755 :
10756 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10757 :
10758 : #if LK5_ENABLED
10759 : recursive module subroutine setSortedArrCusComMerger_D1_LK5(array, isSorted, method)
10760 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10761 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_LK5
10762 : #endif
10763 : use pm_kind, only: LKC => LK5
10764 : logical(LKC) , intent(inout) , contiguous :: array(:)
10765 : procedure(logical(LK)) :: isSorted
10766 : type(merger_type) , intent(in) :: method
10767 : end subroutine
10768 : #endif
10769 :
10770 : #if LK4_ENABLED
10771 : recursive module subroutine setSortedArrCusComMerger_D1_LK4(array, isSorted, method)
10772 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10773 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_LK4
10774 : #endif
10775 : use pm_kind, only: LKC => LK4
10776 : logical(LKC) , intent(inout) , contiguous :: array(:)
10777 : procedure(logical(LK)) :: isSorted
10778 : type(merger_type) , intent(in) :: method
10779 : end subroutine
10780 : #endif
10781 :
10782 : #if LK3_ENABLED
10783 : recursive module subroutine setSortedArrCusComMerger_D1_LK3(array, isSorted, method)
10784 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10785 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_LK3
10786 : #endif
10787 : use pm_kind, only: LKC => LK3
10788 : logical(LKC) , intent(inout) , contiguous :: array(:)
10789 : procedure(logical(LK)) :: isSorted
10790 : type(merger_type) , intent(in) :: method
10791 : end subroutine
10792 : #endif
10793 :
10794 : #if LK2_ENABLED
10795 : recursive module subroutine setSortedArrCusComMerger_D1_LK2(array, isSorted, method)
10796 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10797 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_LK2
10798 : #endif
10799 : use pm_kind, only: LKC => LK2
10800 : logical(LKC) , intent(inout) , contiguous :: array(:)
10801 : procedure(logical(LK)) :: isSorted
10802 : type(merger_type) , intent(in) :: method
10803 : end subroutine
10804 : #endif
10805 :
10806 : #if LK1_ENABLED
10807 : recursive module subroutine setSortedArrCusComMerger_D1_LK1(array, isSorted, method)
10808 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10809 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_LK1
10810 : #endif
10811 : use pm_kind, only: LKC => LK1
10812 : logical(LKC) , intent(inout) , contiguous :: array(:)
10813 : procedure(logical(LK)) :: isSorted
10814 : type(merger_type) , intent(in) :: method
10815 : end subroutine
10816 : #endif
10817 :
10818 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10819 :
10820 : #if CK5_ENABLED
10821 : recursive module subroutine setSortedArrCusComMerger_D1_CK5(array, isSorted, method)
10822 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10823 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_CK5
10824 : #endif
10825 : use pm_kind, only: CKC => CK5
10826 : complex(CKC) , intent(inout) , contiguous :: array(:)
10827 : procedure(logical(LK)) :: isSorted
10828 : type(merger_type) , intent(in) :: method
10829 : end subroutine
10830 : #endif
10831 :
10832 : #if CK4_ENABLED
10833 : recursive module subroutine setSortedArrCusComMerger_D1_CK4(array, isSorted, method)
10834 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10835 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_CK4
10836 : #endif
10837 : use pm_kind, only: CKC => CK4
10838 : complex(CKC) , intent(inout) , contiguous :: array(:)
10839 : procedure(logical(LK)) :: isSorted
10840 : type(merger_type) , intent(in) :: method
10841 : end subroutine
10842 : #endif
10843 :
10844 : #if CK3_ENABLED
10845 : recursive module subroutine setSortedArrCusComMerger_D1_CK3(array, isSorted, method)
10846 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10847 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_CK3
10848 : #endif
10849 : use pm_kind, only: CKC => CK3
10850 : complex(CKC) , intent(inout) , contiguous :: array(:)
10851 : procedure(logical(LK)) :: isSorted
10852 : type(merger_type) , intent(in) :: method
10853 : end subroutine
10854 : #endif
10855 :
10856 : #if CK2_ENABLED
10857 : recursive module subroutine setSortedArrCusComMerger_D1_CK2(array, isSorted, method)
10858 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10859 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_CK2
10860 : #endif
10861 : use pm_kind, only: CKC => CK2
10862 : complex(CKC) , intent(inout) , contiguous :: array(:)
10863 : procedure(logical(LK)) :: isSorted
10864 : type(merger_type) , intent(in) :: method
10865 : end subroutine
10866 : #endif
10867 :
10868 : #if CK1_ENABLED
10869 : recursive module subroutine setSortedArrCusComMerger_D1_CK1(array, isSorted, method)
10870 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10871 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_CK1
10872 : #endif
10873 : use pm_kind, only: CKC => CK1
10874 : complex(CKC) , intent(inout) , contiguous :: array(:)
10875 : procedure(logical(LK)) :: isSorted
10876 : type(merger_type) , intent(in) :: method
10877 : end subroutine
10878 : #endif
10879 :
10880 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10881 :
10882 : #if RK5_ENABLED
10883 : recursive module subroutine setSortedArrCusComMerger_D1_RK5(array, isSorted, method)
10884 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10885 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_RK5
10886 : #endif
10887 : use pm_kind, only: RKC => RK5
10888 : real(RKC) , intent(inout) , contiguous :: array(:)
10889 : procedure(logical(LK)) :: isSorted
10890 : type(merger_type) , intent(in) :: method
10891 : end subroutine
10892 : #endif
10893 :
10894 : #if RK4_ENABLED
10895 : recursive module subroutine setSortedArrCusComMerger_D1_RK4(array, isSorted, method)
10896 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10897 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_RK4
10898 : #endif
10899 : use pm_kind, only: RKC => RK4
10900 : real(RKC) , intent(inout) , contiguous :: array(:)
10901 : procedure(logical(LK)) :: isSorted
10902 : type(merger_type) , intent(in) :: method
10903 : end subroutine
10904 : #endif
10905 :
10906 : #if RK3_ENABLED
10907 : recursive module subroutine setSortedArrCusComMerger_D1_RK3(array, isSorted, method)
10908 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10909 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_RK3
10910 : #endif
10911 : use pm_kind, only: RKC => RK3
10912 : real(RKC) , intent(inout) , contiguous :: array(:)
10913 : procedure(logical(LK)) :: isSorted
10914 : type(merger_type) , intent(in) :: method
10915 : end subroutine
10916 : #endif
10917 :
10918 : #if RK2_ENABLED
10919 : recursive module subroutine setSortedArrCusComMerger_D1_RK2(array, isSorted, method)
10920 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10921 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_RK2
10922 : #endif
10923 : use pm_kind, only: RKC => RK2
10924 : real(RKC) , intent(inout) , contiguous :: array(:)
10925 : procedure(logical(LK)) :: isSorted
10926 : type(merger_type) , intent(in) :: method
10927 : end subroutine
10928 : #endif
10929 :
10930 : #if RK1_ENABLED
10931 : recursive module subroutine setSortedArrCusComMerger_D1_RK1(array, isSorted, method)
10932 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10933 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_RK1
10934 : #endif
10935 : use pm_kind, only: RKC => RK1
10936 : real(RKC) , intent(inout) , contiguous :: array(:)
10937 : procedure(logical(LK)) :: isSorted
10938 : type(merger_type) , intent(in) :: method
10939 : end subroutine
10940 : #endif
10941 :
10942 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10943 :
10944 : #if SK5_ENABLED
10945 : recursive module subroutine setSortedArrCusComMerger_D1_PSSK5(array, isSorted, method)
10946 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10947 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_PSSK5
10948 : #endif
10949 : use pm_kind, only: SKC => SK5
10950 : use pm_container, only: css_pdt
10951 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10952 : procedure(logical(LK)) :: isSorted
10953 : type(merger_type) , intent(in) :: method
10954 : end subroutine
10955 : #endif
10956 :
10957 : #if SK4_ENABLED
10958 : recursive module subroutine setSortedArrCusComMerger_D1_PSSK4(array, isSorted, method)
10959 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10960 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_PSSK4
10961 : #endif
10962 : use pm_kind, only: SKC => SK4
10963 : use pm_container, only: css_pdt
10964 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10965 : procedure(logical(LK)) :: isSorted
10966 : type(merger_type) , intent(in) :: method
10967 : end subroutine
10968 : #endif
10969 :
10970 : #if SK3_ENABLED
10971 : recursive module subroutine setSortedArrCusComMerger_D1_PSSK3(array, isSorted, method)
10972 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10973 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_PSSK3
10974 : #endif
10975 : use pm_kind, only: SKC => SK3
10976 : use pm_container, only: css_pdt
10977 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10978 : procedure(logical(LK)) :: isSorted
10979 : type(merger_type) , intent(in) :: method
10980 : end subroutine
10981 : #endif
10982 :
10983 : #if SK2_ENABLED
10984 : recursive module subroutine setSortedArrCusComMerger_D1_PSSK2(array, isSorted, method)
10985 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10986 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_PSSK2
10987 : #endif
10988 : use pm_kind, only: SKC => SK2
10989 : use pm_container, only: css_pdt
10990 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
10991 : procedure(logical(LK)) :: isSorted
10992 : type(merger_type) , intent(in) :: method
10993 : end subroutine
10994 : #endif
10995 :
10996 : #if SK1_ENABLED
10997 : recursive module subroutine setSortedArrCusComMerger_D1_PSSK1(array, isSorted, method)
10998 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10999 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_PSSK1
11000 : #endif
11001 : use pm_kind, only: SKC => SK1
11002 : use pm_container, only: css_pdt
11003 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11004 : procedure(logical(LK)) :: isSorted
11005 : type(merger_type) , intent(in) :: method
11006 : end subroutine
11007 : #endif
11008 :
11009 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11010 :
11011 : recursive module subroutine setSortedArrCusComMerger_D1_BSSK(array, isSorted, method)
11012 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11013 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComMerger_D1_BSSK
11014 : #endif
11015 : use pm_kind, only: SKC => SK
11016 : use pm_container, only: css_type
11017 : type(css_type) , intent(inout) , contiguous :: array(:)
11018 : procedure(logical(LK)) :: isSorted
11019 : type(merger_type) , intent(in) :: method
11020 : end subroutine
11021 :
11022 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11023 :
11024 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11025 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11026 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11027 :
11028 : end interface
11029 :
11030 : ! setSortedArrCusComSelection
11031 :
11032 : interface setSorted
11033 :
11034 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11035 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11036 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11037 :
11038 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11039 :
11040 : #if SK5_ENABLED
11041 : module subroutine setSortedArrCusComSelection_D0_SK5(array, isSorted, method)
11042 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11043 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D0_SK5
11044 : #endif
11045 : use pm_kind, only: SKC => SK5
11046 : character(*,SKC) , intent(inout) :: array
11047 : procedure(logical(LK)) :: isSorted
11048 : type(selection_type) , intent(in) :: method
11049 : end subroutine
11050 : #endif
11051 :
11052 : #if SK4_ENABLED
11053 : module subroutine setSortedArrCusComSelection_D0_SK4(array, isSorted, method)
11054 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11055 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D0_SK4
11056 : #endif
11057 : use pm_kind, only: SKC => SK4
11058 : character(*,SKC) , intent(inout) :: array
11059 : procedure(logical(LK)) :: isSorted
11060 : type(selection_type) , intent(in) :: method
11061 : end subroutine
11062 : #endif
11063 :
11064 : #if SK3_ENABLED
11065 : module subroutine setSortedArrCusComSelection_D0_SK3(array, isSorted, method)
11066 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11067 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D0_SK3
11068 : #endif
11069 : use pm_kind, only: SKC => SK3
11070 : character(*,SKC) , intent(inout) :: array
11071 : procedure(logical(LK)) :: isSorted
11072 : type(selection_type) , intent(in) :: method
11073 : end subroutine
11074 : #endif
11075 :
11076 : #if SK2_ENABLED
11077 : module subroutine setSortedArrCusComSelection_D0_SK2(array, isSorted, method)
11078 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11079 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D0_SK2
11080 : #endif
11081 : use pm_kind, only: SKC => SK2
11082 : character(*,SKC) , intent(inout) :: array
11083 : procedure(logical(LK)) :: isSorted
11084 : type(selection_type) , intent(in) :: method
11085 : end subroutine
11086 : #endif
11087 :
11088 : #if SK1_ENABLED
11089 : module subroutine setSortedArrCusComSelection_D0_SK1(array, isSorted, method)
11090 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11091 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D0_SK1
11092 : #endif
11093 : use pm_kind, only: SKC => SK1
11094 : character(*,SKC) , intent(inout) :: array
11095 : procedure(logical(LK)) :: isSorted
11096 : type(selection_type) , intent(in) :: method
11097 : end subroutine
11098 : #endif
11099 :
11100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11101 :
11102 : #if SK5_ENABLED
11103 : module subroutine setSortedArrCusComSelection_D1_SK5(array, isSorted, method)
11104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_SK5
11106 : #endif
11107 : use pm_kind, only: SKC => SK5
11108 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11109 : procedure(logical(LK)) :: isSorted
11110 : type(selection_type) , intent(in) :: method
11111 : end subroutine
11112 : #endif
11113 :
11114 : #if SK4_ENABLED
11115 : module subroutine setSortedArrCusComSelection_D1_SK4(array, isSorted, method)
11116 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11117 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_SK4
11118 : #endif
11119 : use pm_kind, only: SKC => SK4
11120 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11121 : procedure(logical(LK)) :: isSorted
11122 : type(selection_type) , intent(in) :: method
11123 : end subroutine
11124 : #endif
11125 :
11126 : #if SK3_ENABLED
11127 : module subroutine setSortedArrCusComSelection_D1_SK3(array, isSorted, method)
11128 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11129 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_SK3
11130 : #endif
11131 : use pm_kind, only: SKC => SK3
11132 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11133 : procedure(logical(LK)) :: isSorted
11134 : type(selection_type) , intent(in) :: method
11135 : end subroutine
11136 : #endif
11137 :
11138 : #if SK2_ENABLED
11139 : module subroutine setSortedArrCusComSelection_D1_SK2(array, isSorted, method)
11140 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11141 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_SK2
11142 : #endif
11143 : use pm_kind, only: SKC => SK2
11144 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11145 : procedure(logical(LK)) :: isSorted
11146 : type(selection_type) , intent(in) :: method
11147 : end subroutine
11148 : #endif
11149 :
11150 : #if SK1_ENABLED
11151 : module subroutine setSortedArrCusComSelection_D1_SK1(array, isSorted, method)
11152 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11153 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_SK1
11154 : #endif
11155 : use pm_kind, only: SKC => SK1
11156 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11157 : procedure(logical(LK)) :: isSorted
11158 : type(selection_type) , intent(in) :: method
11159 : end subroutine
11160 : #endif
11161 :
11162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11163 :
11164 : #if IK5_ENABLED
11165 : module subroutine setSortedArrCusComSelection_D1_IK5(array, isSorted, method)
11166 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11167 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_IK5
11168 : #endif
11169 : use pm_kind, only: IKC => IK5
11170 : integer(IKC) , intent(inout) , contiguous :: array(:)
11171 : procedure(logical(LK)) :: isSorted
11172 : type(selection_type) , intent(in) :: method
11173 : end subroutine
11174 : #endif
11175 :
11176 : #if IK4_ENABLED
11177 : module subroutine setSortedArrCusComSelection_D1_IK4(array, isSorted, method)
11178 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11179 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_IK4
11180 : #endif
11181 : use pm_kind, only: IKC => IK4
11182 : integer(IKC) , intent(inout) , contiguous :: array(:)
11183 : procedure(logical(LK)) :: isSorted
11184 : type(selection_type) , intent(in) :: method
11185 : end subroutine
11186 : #endif
11187 :
11188 : #if IK3_ENABLED
11189 : module subroutine setSortedArrCusComSelection_D1_IK3(array, isSorted, method)
11190 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11191 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_IK3
11192 : #endif
11193 : use pm_kind, only: IKC => IK3
11194 : integer(IKC) , intent(inout) , contiguous :: array(:)
11195 : procedure(logical(LK)) :: isSorted
11196 : type(selection_type) , intent(in) :: method
11197 : end subroutine
11198 : #endif
11199 :
11200 : #if IK2_ENABLED
11201 : module subroutine setSortedArrCusComSelection_D1_IK2(array, isSorted, method)
11202 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11203 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_IK2
11204 : #endif
11205 : use pm_kind, only: IKC => IK2
11206 : integer(IKC) , intent(inout) , contiguous :: array(:)
11207 : procedure(logical(LK)) :: isSorted
11208 : type(selection_type) , intent(in) :: method
11209 : end subroutine
11210 : #endif
11211 :
11212 : #if IK1_ENABLED
11213 : module subroutine setSortedArrCusComSelection_D1_IK1(array, isSorted, method)
11214 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11215 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_IK1
11216 : #endif
11217 : use pm_kind, only: IKC => IK1
11218 : integer(IKC) , intent(inout) , contiguous :: array(:)
11219 : procedure(logical(LK)) :: isSorted
11220 : type(selection_type) , intent(in) :: method
11221 : end subroutine
11222 : #endif
11223 :
11224 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11225 :
11226 : #if LK5_ENABLED
11227 : module subroutine setSortedArrCusComSelection_D1_LK5(array, isSorted, method)
11228 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11229 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_LK5
11230 : #endif
11231 : use pm_kind, only: LKC => LK5
11232 : logical(LKC) , intent(inout) , contiguous :: array(:)
11233 : procedure(logical(LK)) :: isSorted
11234 : type(selection_type) , intent(in) :: method
11235 : end subroutine
11236 : #endif
11237 :
11238 : #if LK4_ENABLED
11239 : module subroutine setSortedArrCusComSelection_D1_LK4(array, isSorted, method)
11240 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11241 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_LK4
11242 : #endif
11243 : use pm_kind, only: LKC => LK4
11244 : logical(LKC) , intent(inout) , contiguous :: array(:)
11245 : procedure(logical(LK)) :: isSorted
11246 : type(selection_type) , intent(in) :: method
11247 : end subroutine
11248 : #endif
11249 :
11250 : #if LK3_ENABLED
11251 : module subroutine setSortedArrCusComSelection_D1_LK3(array, isSorted, method)
11252 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11253 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_LK3
11254 : #endif
11255 : use pm_kind, only: LKC => LK3
11256 : logical(LKC) , intent(inout) , contiguous :: array(:)
11257 : procedure(logical(LK)) :: isSorted
11258 : type(selection_type) , intent(in) :: method
11259 : end subroutine
11260 : #endif
11261 :
11262 : #if LK2_ENABLED
11263 : module subroutine setSortedArrCusComSelection_D1_LK2(array, isSorted, method)
11264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11265 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_LK2
11266 : #endif
11267 : use pm_kind, only: LKC => LK2
11268 : logical(LKC) , intent(inout) , contiguous :: array(:)
11269 : procedure(logical(LK)) :: isSorted
11270 : type(selection_type) , intent(in) :: method
11271 : end subroutine
11272 : #endif
11273 :
11274 : #if LK1_ENABLED
11275 : module subroutine setSortedArrCusComSelection_D1_LK1(array, isSorted, method)
11276 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11277 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_LK1
11278 : #endif
11279 : use pm_kind, only: LKC => LK1
11280 : logical(LKC) , intent(inout) , contiguous :: array(:)
11281 : procedure(logical(LK)) :: isSorted
11282 : type(selection_type) , intent(in) :: method
11283 : end subroutine
11284 : #endif
11285 :
11286 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11287 :
11288 : #if CK5_ENABLED
11289 : module subroutine setSortedArrCusComSelection_D1_CK5(array, isSorted, method)
11290 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11291 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_CK5
11292 : #endif
11293 : use pm_kind, only: CKC => CK5
11294 : complex(CKC) , intent(inout) , contiguous :: array(:)
11295 : procedure(logical(LK)) :: isSorted
11296 : type(selection_type) , intent(in) :: method
11297 : end subroutine
11298 : #endif
11299 :
11300 : #if CK4_ENABLED
11301 : module subroutine setSortedArrCusComSelection_D1_CK4(array, isSorted, method)
11302 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11303 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_CK4
11304 : #endif
11305 : use pm_kind, only: CKC => CK4
11306 : complex(CKC) , intent(inout) , contiguous :: array(:)
11307 : procedure(logical(LK)) :: isSorted
11308 : type(selection_type) , intent(in) :: method
11309 : end subroutine
11310 : #endif
11311 :
11312 : #if CK3_ENABLED
11313 : module subroutine setSortedArrCusComSelection_D1_CK3(array, isSorted, method)
11314 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11315 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_CK3
11316 : #endif
11317 : use pm_kind, only: CKC => CK3
11318 : complex(CKC) , intent(inout) , contiguous :: array(:)
11319 : procedure(logical(LK)) :: isSorted
11320 : type(selection_type) , intent(in) :: method
11321 : end subroutine
11322 : #endif
11323 :
11324 : #if CK2_ENABLED
11325 : module subroutine setSortedArrCusComSelection_D1_CK2(array, isSorted, method)
11326 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11327 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_CK2
11328 : #endif
11329 : use pm_kind, only: CKC => CK2
11330 : complex(CKC) , intent(inout) , contiguous :: array(:)
11331 : procedure(logical(LK)) :: isSorted
11332 : type(selection_type) , intent(in) :: method
11333 : end subroutine
11334 : #endif
11335 :
11336 : #if CK1_ENABLED
11337 : module subroutine setSortedArrCusComSelection_D1_CK1(array, isSorted, method)
11338 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11339 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_CK1
11340 : #endif
11341 : use pm_kind, only: CKC => CK1
11342 : complex(CKC) , intent(inout) , contiguous :: array(:)
11343 : procedure(logical(LK)) :: isSorted
11344 : type(selection_type) , intent(in) :: method
11345 : end subroutine
11346 : #endif
11347 :
11348 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11349 :
11350 : #if RK5_ENABLED
11351 : module subroutine setSortedArrCusComSelection_D1_RK5(array, isSorted, method)
11352 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11353 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_RK5
11354 : #endif
11355 : use pm_kind, only: RKC => RK5
11356 : real(RKC) , intent(inout) , contiguous :: array(:)
11357 : procedure(logical(LK)) :: isSorted
11358 : type(selection_type) , intent(in) :: method
11359 : end subroutine
11360 : #endif
11361 :
11362 : #if RK4_ENABLED
11363 : module subroutine setSortedArrCusComSelection_D1_RK4(array, isSorted, method)
11364 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11365 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_RK4
11366 : #endif
11367 : use pm_kind, only: RKC => RK4
11368 : real(RKC) , intent(inout) , contiguous :: array(:)
11369 : procedure(logical(LK)) :: isSorted
11370 : type(selection_type) , intent(in) :: method
11371 : end subroutine
11372 : #endif
11373 :
11374 : #if RK3_ENABLED
11375 : module subroutine setSortedArrCusComSelection_D1_RK3(array, isSorted, method)
11376 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11377 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_RK3
11378 : #endif
11379 : use pm_kind, only: RKC => RK3
11380 : real(RKC) , intent(inout) , contiguous :: array(:)
11381 : procedure(logical(LK)) :: isSorted
11382 : type(selection_type) , intent(in) :: method
11383 : end subroutine
11384 : #endif
11385 :
11386 : #if RK2_ENABLED
11387 : module subroutine setSortedArrCusComSelection_D1_RK2(array, isSorted, method)
11388 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11389 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_RK2
11390 : #endif
11391 : use pm_kind, only: RKC => RK2
11392 : real(RKC) , intent(inout) , contiguous :: array(:)
11393 : procedure(logical(LK)) :: isSorted
11394 : type(selection_type) , intent(in) :: method
11395 : end subroutine
11396 : #endif
11397 :
11398 : #if RK1_ENABLED
11399 : module subroutine setSortedArrCusComSelection_D1_RK1(array, isSorted, method)
11400 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11401 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_RK1
11402 : #endif
11403 : use pm_kind, only: RKC => RK1
11404 : real(RKC) , intent(inout) , contiguous :: array(:)
11405 : procedure(logical(LK)) :: isSorted
11406 : type(selection_type) , intent(in) :: method
11407 : end subroutine
11408 : #endif
11409 :
11410 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11411 :
11412 : #if SK5_ENABLED
11413 : module subroutine setSortedArrCusComSelection_D1_PSSK5(array, isSorted, method)
11414 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11415 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_PSSK5
11416 : #endif
11417 : use pm_kind, only: SKC => SK5
11418 : use pm_container, only: css_pdt
11419 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11420 : procedure(logical(LK)) :: isSorted
11421 : type(selection_type) , intent(in) :: method
11422 : end subroutine
11423 : #endif
11424 :
11425 : #if SK4_ENABLED
11426 : module subroutine setSortedArrCusComSelection_D1_PSSK4(array, isSorted, method)
11427 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11428 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_PSSK4
11429 : #endif
11430 : use pm_kind, only: SKC => SK4
11431 : use pm_container, only: css_pdt
11432 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11433 : procedure(logical(LK)) :: isSorted
11434 : type(selection_type) , intent(in) :: method
11435 : end subroutine
11436 : #endif
11437 :
11438 : #if SK3_ENABLED
11439 : module subroutine setSortedArrCusComSelection_D1_PSSK3(array, isSorted, method)
11440 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11441 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_PSSK3
11442 : #endif
11443 : use pm_kind, only: SKC => SK3
11444 : use pm_container, only: css_pdt
11445 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11446 : procedure(logical(LK)) :: isSorted
11447 : type(selection_type) , intent(in) :: method
11448 : end subroutine
11449 : #endif
11450 :
11451 : #if SK2_ENABLED
11452 : module subroutine setSortedArrCusComSelection_D1_PSSK2(array, isSorted, method)
11453 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11454 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_PSSK2
11455 : #endif
11456 : use pm_kind, only: SKC => SK2
11457 : use pm_container, only: css_pdt
11458 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11459 : procedure(logical(LK)) :: isSorted
11460 : type(selection_type) , intent(in) :: method
11461 : end subroutine
11462 : #endif
11463 :
11464 : #if SK1_ENABLED
11465 : module subroutine setSortedArrCusComSelection_D1_PSSK1(array, isSorted, method)
11466 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11467 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_PSSK1
11468 : #endif
11469 : use pm_kind, only: SKC => SK1
11470 : use pm_container, only: css_pdt
11471 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11472 : procedure(logical(LK)) :: isSorted
11473 : type(selection_type) , intent(in) :: method
11474 : end subroutine
11475 : #endif
11476 :
11477 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11478 :
11479 : module subroutine setSortedArrCusComSelection_D1_BSSK(array, isSorted, method)
11480 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11481 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComSelection_D1_BSSK
11482 : #endif
11483 : use pm_kind, only: SKC => SK
11484 : use pm_container, only: css_type
11485 : type(css_type) , intent(inout) , contiguous :: array(:)
11486 : procedure(logical(LK)) :: isSorted
11487 : type(selection_type) , intent(in) :: method
11488 : end subroutine
11489 :
11490 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11491 :
11492 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11493 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11494 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11495 :
11496 : end interface
11497 :
11498 : ! setSortedArrCusComShell
11499 :
11500 : interface setSorted
11501 :
11502 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11503 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11504 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11505 :
11506 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11507 :
11508 : #if SK5_ENABLED
11509 : module subroutine setSortedArrCusComShell_D0_SK5(array, isSorted, method)
11510 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11511 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D0_SK5
11512 : #endif
11513 : use pm_kind, only: SKC => SK5
11514 : character(*,SKC) , intent(inout) :: array
11515 : procedure(logical(LK)) :: isSorted
11516 : type(shell_type) , intent(in) :: method
11517 : end subroutine
11518 : #endif
11519 :
11520 : #if SK4_ENABLED
11521 : module subroutine setSortedArrCusComShell_D0_SK4(array, isSorted, method)
11522 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11523 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D0_SK4
11524 : #endif
11525 : use pm_kind, only: SKC => SK4
11526 : character(*,SKC) , intent(inout) :: array
11527 : procedure(logical(LK)) :: isSorted
11528 : type(shell_type) , intent(in) :: method
11529 : end subroutine
11530 : #endif
11531 :
11532 : #if SK3_ENABLED
11533 : module subroutine setSortedArrCusComShell_D0_SK3(array, isSorted, method)
11534 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11535 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D0_SK3
11536 : #endif
11537 : use pm_kind, only: SKC => SK3
11538 : character(*,SKC) , intent(inout) :: array
11539 : procedure(logical(LK)) :: isSorted
11540 : type(shell_type) , intent(in) :: method
11541 : end subroutine
11542 : #endif
11543 :
11544 : #if SK2_ENABLED
11545 : module subroutine setSortedArrCusComShell_D0_SK2(array, isSorted, method)
11546 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11547 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D0_SK2
11548 : #endif
11549 : use pm_kind, only: SKC => SK2
11550 : character(*,SKC) , intent(inout) :: array
11551 : procedure(logical(LK)) :: isSorted
11552 : type(shell_type) , intent(in) :: method
11553 : end subroutine
11554 : #endif
11555 :
11556 : #if SK1_ENABLED
11557 : module subroutine setSortedArrCusComShell_D0_SK1(array, isSorted, method)
11558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11559 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D0_SK1
11560 : #endif
11561 : use pm_kind, only: SKC => SK1
11562 : character(*,SKC) , intent(inout) :: array
11563 : procedure(logical(LK)) :: isSorted
11564 : type(shell_type) , intent(in) :: method
11565 : end subroutine
11566 : #endif
11567 :
11568 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11569 :
11570 : #if SK5_ENABLED
11571 : module subroutine setSortedArrCusComShell_D1_SK5(array, isSorted, method)
11572 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11573 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_SK5
11574 : #endif
11575 : use pm_kind, only: SKC => SK5
11576 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11577 : procedure(logical(LK)) :: isSorted
11578 : type(shell_type) , intent(in) :: method
11579 : end subroutine
11580 : #endif
11581 :
11582 : #if SK4_ENABLED
11583 : module subroutine setSortedArrCusComShell_D1_SK4(array, isSorted, method)
11584 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11585 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_SK4
11586 : #endif
11587 : use pm_kind, only: SKC => SK4
11588 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11589 : procedure(logical(LK)) :: isSorted
11590 : type(shell_type) , intent(in) :: method
11591 : end subroutine
11592 : #endif
11593 :
11594 : #if SK3_ENABLED
11595 : module subroutine setSortedArrCusComShell_D1_SK3(array, isSorted, method)
11596 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11597 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_SK3
11598 : #endif
11599 : use pm_kind, only: SKC => SK3
11600 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11601 : procedure(logical(LK)) :: isSorted
11602 : type(shell_type) , intent(in) :: method
11603 : end subroutine
11604 : #endif
11605 :
11606 : #if SK2_ENABLED
11607 : module subroutine setSortedArrCusComShell_D1_SK2(array, isSorted, method)
11608 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11609 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_SK2
11610 : #endif
11611 : use pm_kind, only: SKC => SK2
11612 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11613 : procedure(logical(LK)) :: isSorted
11614 : type(shell_type) , intent(in) :: method
11615 : end subroutine
11616 : #endif
11617 :
11618 : #if SK1_ENABLED
11619 : module subroutine setSortedArrCusComShell_D1_SK1(array, isSorted, method)
11620 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11621 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_SK1
11622 : #endif
11623 : use pm_kind, only: SKC => SK1
11624 : character(*,SKC) , intent(inout) , contiguous :: array(:)
11625 : procedure(logical(LK)) :: isSorted
11626 : type(shell_type) , intent(in) :: method
11627 : end subroutine
11628 : #endif
11629 :
11630 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11631 :
11632 : #if IK5_ENABLED
11633 : module subroutine setSortedArrCusComShell_D1_IK5(array, isSorted, method)
11634 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11635 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_IK5
11636 : #endif
11637 : use pm_kind, only: IKC => IK5
11638 : integer(IKC) , intent(inout) , contiguous :: array(:)
11639 : procedure(logical(LK)) :: isSorted
11640 : type(shell_type) , intent(in) :: method
11641 : end subroutine
11642 : #endif
11643 :
11644 : #if IK4_ENABLED
11645 : module subroutine setSortedArrCusComShell_D1_IK4(array, isSorted, method)
11646 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11647 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_IK4
11648 : #endif
11649 : use pm_kind, only: IKC => IK4
11650 : integer(IKC) , intent(inout) , contiguous :: array(:)
11651 : procedure(logical(LK)) :: isSorted
11652 : type(shell_type) , intent(in) :: method
11653 : end subroutine
11654 : #endif
11655 :
11656 : #if IK3_ENABLED
11657 : module subroutine setSortedArrCusComShell_D1_IK3(array, isSorted, method)
11658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11659 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_IK3
11660 : #endif
11661 : use pm_kind, only: IKC => IK3
11662 : integer(IKC) , intent(inout) , contiguous :: array(:)
11663 : procedure(logical(LK)) :: isSorted
11664 : type(shell_type) , intent(in) :: method
11665 : end subroutine
11666 : #endif
11667 :
11668 : #if IK2_ENABLED
11669 : module subroutine setSortedArrCusComShell_D1_IK2(array, isSorted, method)
11670 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11671 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_IK2
11672 : #endif
11673 : use pm_kind, only: IKC => IK2
11674 : integer(IKC) , intent(inout) , contiguous :: array(:)
11675 : procedure(logical(LK)) :: isSorted
11676 : type(shell_type) , intent(in) :: method
11677 : end subroutine
11678 : #endif
11679 :
11680 : #if IK1_ENABLED
11681 : module subroutine setSortedArrCusComShell_D1_IK1(array, isSorted, method)
11682 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11683 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_IK1
11684 : #endif
11685 : use pm_kind, only: IKC => IK1
11686 : integer(IKC) , intent(inout) , contiguous :: array(:)
11687 : procedure(logical(LK)) :: isSorted
11688 : type(shell_type) , intent(in) :: method
11689 : end subroutine
11690 : #endif
11691 :
11692 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11693 :
11694 : #if LK5_ENABLED
11695 : module subroutine setSortedArrCusComShell_D1_LK5(array, isSorted, method)
11696 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11697 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_LK5
11698 : #endif
11699 : use pm_kind, only: LKC => LK5
11700 : logical(LKC) , intent(inout) , contiguous :: array(:)
11701 : procedure(logical(LK)) :: isSorted
11702 : type(shell_type) , intent(in) :: method
11703 : end subroutine
11704 : #endif
11705 :
11706 : #if LK4_ENABLED
11707 : module subroutine setSortedArrCusComShell_D1_LK4(array, isSorted, method)
11708 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11709 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_LK4
11710 : #endif
11711 : use pm_kind, only: LKC => LK4
11712 : logical(LKC) , intent(inout) , contiguous :: array(:)
11713 : procedure(logical(LK)) :: isSorted
11714 : type(shell_type) , intent(in) :: method
11715 : end subroutine
11716 : #endif
11717 :
11718 : #if LK3_ENABLED
11719 : module subroutine setSortedArrCusComShell_D1_LK3(array, isSorted, method)
11720 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11721 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_LK3
11722 : #endif
11723 : use pm_kind, only: LKC => LK3
11724 : logical(LKC) , intent(inout) , contiguous :: array(:)
11725 : procedure(logical(LK)) :: isSorted
11726 : type(shell_type) , intent(in) :: method
11727 : end subroutine
11728 : #endif
11729 :
11730 : #if LK2_ENABLED
11731 : module subroutine setSortedArrCusComShell_D1_LK2(array, isSorted, method)
11732 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11733 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_LK2
11734 : #endif
11735 : use pm_kind, only: LKC => LK2
11736 : logical(LKC) , intent(inout) , contiguous :: array(:)
11737 : procedure(logical(LK)) :: isSorted
11738 : type(shell_type) , intent(in) :: method
11739 : end subroutine
11740 : #endif
11741 :
11742 : #if LK1_ENABLED
11743 : module subroutine setSortedArrCusComShell_D1_LK1(array, isSorted, method)
11744 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11745 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_LK1
11746 : #endif
11747 : use pm_kind, only: LKC => LK1
11748 : logical(LKC) , intent(inout) , contiguous :: array(:)
11749 : procedure(logical(LK)) :: isSorted
11750 : type(shell_type) , intent(in) :: method
11751 : end subroutine
11752 : #endif
11753 :
11754 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11755 :
11756 : #if CK5_ENABLED
11757 : module subroutine setSortedArrCusComShell_D1_CK5(array, isSorted, method)
11758 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11759 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_CK5
11760 : #endif
11761 : use pm_kind, only: CKC => CK5
11762 : complex(CKC) , intent(inout) , contiguous :: array(:)
11763 : procedure(logical(LK)) :: isSorted
11764 : type(shell_type) , intent(in) :: method
11765 : end subroutine
11766 : #endif
11767 :
11768 : #if CK4_ENABLED
11769 : module subroutine setSortedArrCusComShell_D1_CK4(array, isSorted, method)
11770 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11771 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_CK4
11772 : #endif
11773 : use pm_kind, only: CKC => CK4
11774 : complex(CKC) , intent(inout) , contiguous :: array(:)
11775 : procedure(logical(LK)) :: isSorted
11776 : type(shell_type) , intent(in) :: method
11777 : end subroutine
11778 : #endif
11779 :
11780 : #if CK3_ENABLED
11781 : module subroutine setSortedArrCusComShell_D1_CK3(array, isSorted, method)
11782 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11783 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_CK3
11784 : #endif
11785 : use pm_kind, only: CKC => CK3
11786 : complex(CKC) , intent(inout) , contiguous :: array(:)
11787 : procedure(logical(LK)) :: isSorted
11788 : type(shell_type) , intent(in) :: method
11789 : end subroutine
11790 : #endif
11791 :
11792 : #if CK2_ENABLED
11793 : module subroutine setSortedArrCusComShell_D1_CK2(array, isSorted, method)
11794 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11795 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_CK2
11796 : #endif
11797 : use pm_kind, only: CKC => CK2
11798 : complex(CKC) , intent(inout) , contiguous :: array(:)
11799 : procedure(logical(LK)) :: isSorted
11800 : type(shell_type) , intent(in) :: method
11801 : end subroutine
11802 : #endif
11803 :
11804 : #if CK1_ENABLED
11805 : module subroutine setSortedArrCusComShell_D1_CK1(array, isSorted, method)
11806 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11807 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_CK1
11808 : #endif
11809 : use pm_kind, only: CKC => CK1
11810 : complex(CKC) , intent(inout) , contiguous :: array(:)
11811 : procedure(logical(LK)) :: isSorted
11812 : type(shell_type) , intent(in) :: method
11813 : end subroutine
11814 : #endif
11815 :
11816 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11817 :
11818 : #if RK5_ENABLED
11819 : module subroutine setSortedArrCusComShell_D1_RK5(array, isSorted, method)
11820 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11821 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_RK5
11822 : #endif
11823 : use pm_kind, only: RKC => RK5
11824 : real(RKC) , intent(inout) , contiguous :: array(:)
11825 : procedure(logical(LK)) :: isSorted
11826 : type(shell_type) , intent(in) :: method
11827 : end subroutine
11828 : #endif
11829 :
11830 : #if RK4_ENABLED
11831 : module subroutine setSortedArrCusComShell_D1_RK4(array, isSorted, method)
11832 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11833 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_RK4
11834 : #endif
11835 : use pm_kind, only: RKC => RK4
11836 : real(RKC) , intent(inout) , contiguous :: array(:)
11837 : procedure(logical(LK)) :: isSorted
11838 : type(shell_type) , intent(in) :: method
11839 : end subroutine
11840 : #endif
11841 :
11842 : #if RK3_ENABLED
11843 : module subroutine setSortedArrCusComShell_D1_RK3(array, isSorted, method)
11844 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11845 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_RK3
11846 : #endif
11847 : use pm_kind, only: RKC => RK3
11848 : real(RKC) , intent(inout) , contiguous :: array(:)
11849 : procedure(logical(LK)) :: isSorted
11850 : type(shell_type) , intent(in) :: method
11851 : end subroutine
11852 : #endif
11853 :
11854 : #if RK2_ENABLED
11855 : module subroutine setSortedArrCusComShell_D1_RK2(array, isSorted, method)
11856 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11857 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_RK2
11858 : #endif
11859 : use pm_kind, only: RKC => RK2
11860 : real(RKC) , intent(inout) , contiguous :: array(:)
11861 : procedure(logical(LK)) :: isSorted
11862 : type(shell_type) , intent(in) :: method
11863 : end subroutine
11864 : #endif
11865 :
11866 : #if RK1_ENABLED
11867 : module subroutine setSortedArrCusComShell_D1_RK1(array, isSorted, method)
11868 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11869 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_RK1
11870 : #endif
11871 : use pm_kind, only: RKC => RK1
11872 : real(RKC) , intent(inout) , contiguous :: array(:)
11873 : procedure(logical(LK)) :: isSorted
11874 : type(shell_type) , intent(in) :: method
11875 : end subroutine
11876 : #endif
11877 :
11878 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11879 :
11880 : #if SK5_ENABLED
11881 : module subroutine setSortedArrCusComShell_D1_PSSK5(array, isSorted, method)
11882 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11883 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_PSSK5
11884 : #endif
11885 : use pm_kind, only: SKC => SK5
11886 : use pm_container, only: css_pdt
11887 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11888 : procedure(logical(LK)) :: isSorted
11889 : type(shell_type) , intent(in) :: method
11890 : end subroutine
11891 : #endif
11892 :
11893 : #if SK4_ENABLED
11894 : module subroutine setSortedArrCusComShell_D1_PSSK4(array, isSorted, method)
11895 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11896 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_PSSK4
11897 : #endif
11898 : use pm_kind, only: SKC => SK4
11899 : use pm_container, only: css_pdt
11900 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11901 : procedure(logical(LK)) :: isSorted
11902 : type(shell_type) , intent(in) :: method
11903 : end subroutine
11904 : #endif
11905 :
11906 : #if SK3_ENABLED
11907 : module subroutine setSortedArrCusComShell_D1_PSSK3(array, isSorted, method)
11908 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11909 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_PSSK3
11910 : #endif
11911 : use pm_kind, only: SKC => SK3
11912 : use pm_container, only: css_pdt
11913 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11914 : procedure(logical(LK)) :: isSorted
11915 : type(shell_type) , intent(in) :: method
11916 : end subroutine
11917 : #endif
11918 :
11919 : #if SK2_ENABLED
11920 : module subroutine setSortedArrCusComShell_D1_PSSK2(array, isSorted, method)
11921 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11922 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_PSSK2
11923 : #endif
11924 : use pm_kind, only: SKC => SK2
11925 : use pm_container, only: css_pdt
11926 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11927 : procedure(logical(LK)) :: isSorted
11928 : type(shell_type) , intent(in) :: method
11929 : end subroutine
11930 : #endif
11931 :
11932 : #if SK1_ENABLED
11933 : module subroutine setSortedArrCusComShell_D1_PSSK1(array, isSorted, method)
11934 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11935 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_PSSK1
11936 : #endif
11937 : use pm_kind, only: SKC => SK1
11938 : use pm_container, only: css_pdt
11939 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
11940 : procedure(logical(LK)) :: isSorted
11941 : type(shell_type) , intent(in) :: method
11942 : end subroutine
11943 : #endif
11944 :
11945 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11946 :
11947 : module subroutine setSortedArrCusComShell_D1_BSSK(array, isSorted, method)
11948 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11949 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrCusComShell_D1_BSSK
11950 : #endif
11951 : use pm_kind, only: SKC => SK
11952 : use pm_container, only: css_type
11953 : type(css_type) , intent(inout) , contiguous :: array(:)
11954 : procedure(logical(LK)) :: isSorted
11955 : type(shell_type) , intent(in) :: method
11956 : end subroutine
11957 :
11958 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11959 :
11960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11961 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11962 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11963 :
11964 : end interface
11965 :
11966 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11967 :
11968 : ! setSortedArrDefComDef
11969 :
11970 : interface setSorted
11971 :
11972 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11973 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11974 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11975 :
11976 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11977 :
11978 : #if SK5_ENABLED
11979 : pure module subroutine setSortedArrDefComDef_D0_SK5(array)
11980 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11981 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D0_SK5
11982 : #endif
11983 : use pm_kind, only: SKC => SK5
11984 : character(*,SKC) , intent(inout) :: array
11985 : end subroutine
11986 : #endif
11987 :
11988 : #if SK4_ENABLED
11989 : pure module subroutine setSortedArrDefComDef_D0_SK4(array)
11990 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11991 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D0_SK4
11992 : #endif
11993 : use pm_kind, only: SKC => SK4
11994 : character(*,SKC) , intent(inout) :: array
11995 : end subroutine
11996 : #endif
11997 :
11998 : #if SK3_ENABLED
11999 : pure module subroutine setSortedArrDefComDef_D0_SK3(array)
12000 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12001 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D0_SK3
12002 : #endif
12003 : use pm_kind, only: SKC => SK3
12004 : character(*,SKC) , intent(inout) :: array
12005 : end subroutine
12006 : #endif
12007 :
12008 : #if SK2_ENABLED
12009 : pure module subroutine setSortedArrDefComDef_D0_SK2(array)
12010 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12011 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D0_SK2
12012 : #endif
12013 : use pm_kind, only: SKC => SK2
12014 : character(*,SKC) , intent(inout) :: array
12015 : end subroutine
12016 : #endif
12017 :
12018 : #if SK1_ENABLED
12019 : pure module subroutine setSortedArrDefComDef_D0_SK1(array)
12020 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12021 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D0_SK1
12022 : #endif
12023 : use pm_kind, only: SKC => SK1
12024 : character(*,SKC) , intent(inout) :: array
12025 : end subroutine
12026 : #endif
12027 :
12028 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12029 :
12030 : #if SK5_ENABLED
12031 : pure module subroutine setSortedArrDefComDef_D1_SK5(array)
12032 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12033 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_SK5
12034 : #endif
12035 : use pm_kind, only: SKC => SK5
12036 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12037 : end subroutine
12038 : #endif
12039 :
12040 : #if SK4_ENABLED
12041 : pure module subroutine setSortedArrDefComDef_D1_SK4(array)
12042 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12043 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_SK4
12044 : #endif
12045 : use pm_kind, only: SKC => SK4
12046 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12047 : end subroutine
12048 : #endif
12049 :
12050 : #if SK3_ENABLED
12051 : pure module subroutine setSortedArrDefComDef_D1_SK3(array)
12052 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12053 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_SK3
12054 : #endif
12055 : use pm_kind, only: SKC => SK3
12056 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12057 : end subroutine
12058 : #endif
12059 :
12060 : #if SK2_ENABLED
12061 : pure module subroutine setSortedArrDefComDef_D1_SK2(array)
12062 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12063 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_SK2
12064 : #endif
12065 : use pm_kind, only: SKC => SK2
12066 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12067 : end subroutine
12068 : #endif
12069 :
12070 : #if SK1_ENABLED
12071 : pure module subroutine setSortedArrDefComDef_D1_SK1(array)
12072 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12073 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_SK1
12074 : #endif
12075 : use pm_kind, only: SKC => SK1
12076 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12077 : end subroutine
12078 : #endif
12079 :
12080 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12081 :
12082 : #if IK5_ENABLED
12083 : pure module subroutine setSortedArrDefComDef_D1_IK5(array)
12084 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12085 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_IK5
12086 : #endif
12087 : use pm_kind, only: IKC => IK5
12088 : integer(IKC) , intent(inout) , contiguous :: array(:)
12089 : end subroutine
12090 : #endif
12091 :
12092 : #if IK4_ENABLED
12093 : pure module subroutine setSortedArrDefComDef_D1_IK4(array)
12094 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12095 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_IK4
12096 : #endif
12097 : use pm_kind, only: IKC => IK4
12098 : integer(IKC) , intent(inout) , contiguous :: array(:)
12099 : end subroutine
12100 : #endif
12101 :
12102 : #if IK3_ENABLED
12103 : pure module subroutine setSortedArrDefComDef_D1_IK3(array)
12104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_IK3
12106 : #endif
12107 : use pm_kind, only: IKC => IK3
12108 : integer(IKC) , intent(inout) , contiguous :: array(:)
12109 : end subroutine
12110 : #endif
12111 :
12112 : #if IK2_ENABLED
12113 : pure module subroutine setSortedArrDefComDef_D1_IK2(array)
12114 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12115 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_IK2
12116 : #endif
12117 : use pm_kind, only: IKC => IK2
12118 : integer(IKC) , intent(inout) , contiguous :: array(:)
12119 : end subroutine
12120 : #endif
12121 :
12122 : #if IK1_ENABLED
12123 : pure module subroutine setSortedArrDefComDef_D1_IK1(array)
12124 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12125 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_IK1
12126 : #endif
12127 : use pm_kind, only: IKC => IK1
12128 : integer(IKC) , intent(inout) , contiguous :: array(:)
12129 : end subroutine
12130 : #endif
12131 :
12132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12133 :
12134 : #if LK5_ENABLED
12135 : pure module subroutine setSortedArrDefComDef_D1_LK5(array)
12136 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12137 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_LK5
12138 : #endif
12139 : use pm_kind, only: LKC => LK5
12140 : logical(LKC) , intent(inout) , contiguous :: array(:)
12141 : end subroutine
12142 : #endif
12143 :
12144 : #if LK4_ENABLED
12145 : pure module subroutine setSortedArrDefComDef_D1_LK4(array)
12146 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12147 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_LK4
12148 : #endif
12149 : use pm_kind, only: LKC => LK4
12150 : logical(LKC) , intent(inout) , contiguous :: array(:)
12151 : end subroutine
12152 : #endif
12153 :
12154 : #if LK3_ENABLED
12155 : pure module subroutine setSortedArrDefComDef_D1_LK3(array)
12156 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12157 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_LK3
12158 : #endif
12159 : use pm_kind, only: LKC => LK3
12160 : logical(LKC) , intent(inout) , contiguous :: array(:)
12161 : end subroutine
12162 : #endif
12163 :
12164 : #if LK2_ENABLED
12165 : pure module subroutine setSortedArrDefComDef_D1_LK2(array)
12166 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12167 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_LK2
12168 : #endif
12169 : use pm_kind, only: LKC => LK2
12170 : logical(LKC) , intent(inout) , contiguous :: array(:)
12171 : end subroutine
12172 : #endif
12173 :
12174 : #if LK1_ENABLED
12175 : pure module subroutine setSortedArrDefComDef_D1_LK1(array)
12176 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12177 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_LK1
12178 : #endif
12179 : use pm_kind, only: LKC => LK1
12180 : logical(LKC) , intent(inout) , contiguous :: array(:)
12181 : end subroutine
12182 : #endif
12183 :
12184 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12185 :
12186 : #if CK5_ENABLED
12187 : pure module subroutine setSortedArrDefComDef_D1_CK5(array)
12188 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12189 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_CK5
12190 : #endif
12191 : use pm_kind, only: CKC => CK5
12192 : complex(CKC) , intent(inout) , contiguous :: array(:)
12193 : end subroutine
12194 : #endif
12195 :
12196 : #if CK4_ENABLED
12197 : pure module subroutine setSortedArrDefComDef_D1_CK4(array)
12198 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12199 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_CK4
12200 : #endif
12201 : use pm_kind, only: CKC => CK4
12202 : complex(CKC) , intent(inout) , contiguous :: array(:)
12203 : end subroutine
12204 : #endif
12205 :
12206 : #if CK3_ENABLED
12207 : pure module subroutine setSortedArrDefComDef_D1_CK3(array)
12208 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12209 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_CK3
12210 : #endif
12211 : use pm_kind, only: CKC => CK3
12212 : complex(CKC) , intent(inout) , contiguous :: array(:)
12213 : end subroutine
12214 : #endif
12215 :
12216 : #if CK2_ENABLED
12217 : pure module subroutine setSortedArrDefComDef_D1_CK2(array)
12218 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12219 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_CK2
12220 : #endif
12221 : use pm_kind, only: CKC => CK2
12222 : complex(CKC) , intent(inout) , contiguous :: array(:)
12223 : end subroutine
12224 : #endif
12225 :
12226 : #if CK1_ENABLED
12227 : pure module subroutine setSortedArrDefComDef_D1_CK1(array)
12228 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12229 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_CK1
12230 : #endif
12231 : use pm_kind, only: CKC => CK1
12232 : complex(CKC) , intent(inout) , contiguous :: array(:)
12233 : end subroutine
12234 : #endif
12235 :
12236 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12237 :
12238 : #if RK5_ENABLED
12239 : pure module subroutine setSortedArrDefComDef_D1_RK5(array)
12240 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12241 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_RK5
12242 : #endif
12243 : use pm_kind, only: RKC => RK5
12244 : real(RKC) , intent(inout) , contiguous :: array(:)
12245 : end subroutine
12246 : #endif
12247 :
12248 : #if RK4_ENABLED
12249 : pure module subroutine setSortedArrDefComDef_D1_RK4(array)
12250 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12251 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_RK4
12252 : #endif
12253 : use pm_kind, only: RKC => RK4
12254 : real(RKC) , intent(inout) , contiguous :: array(:)
12255 : end subroutine
12256 : #endif
12257 :
12258 : #if RK3_ENABLED
12259 : pure module subroutine setSortedArrDefComDef_D1_RK3(array)
12260 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12261 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_RK3
12262 : #endif
12263 : use pm_kind, only: RKC => RK3
12264 : real(RKC) , intent(inout) , contiguous :: array(:)
12265 : end subroutine
12266 : #endif
12267 :
12268 : #if RK2_ENABLED
12269 : pure module subroutine setSortedArrDefComDef_D1_RK2(array)
12270 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12271 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_RK2
12272 : #endif
12273 : use pm_kind, only: RKC => RK2
12274 : real(RKC) , intent(inout) , contiguous :: array(:)
12275 : end subroutine
12276 : #endif
12277 :
12278 : #if RK1_ENABLED
12279 : pure module subroutine setSortedArrDefComDef_D1_RK1(array)
12280 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12281 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_RK1
12282 : #endif
12283 : use pm_kind, only: RKC => RK1
12284 : real(RKC) , intent(inout) , contiguous :: array(:)
12285 : end subroutine
12286 : #endif
12287 :
12288 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12289 :
12290 : #if SK5_ENABLED
12291 : pure module subroutine setSortedArrDefComDef_D1_PSSK5(array)
12292 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12293 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_PSSK5
12294 : #endif
12295 : use pm_kind, only: SKC => SK5
12296 : use pm_container, only: css_pdt
12297 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12298 : end subroutine
12299 : #endif
12300 :
12301 : #if SK4_ENABLED
12302 : pure module subroutine setSortedArrDefComDef_D1_PSSK4(array)
12303 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12304 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_PSSK4
12305 : #endif
12306 : use pm_kind, only: SKC => SK4
12307 : use pm_container, only: css_pdt
12308 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12309 : end subroutine
12310 : #endif
12311 :
12312 : #if SK3_ENABLED
12313 : pure module subroutine setSortedArrDefComDef_D1_PSSK3(array)
12314 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12315 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_PSSK3
12316 : #endif
12317 : use pm_kind, only: SKC => SK3
12318 : use pm_container, only: css_pdt
12319 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12320 : end subroutine
12321 : #endif
12322 :
12323 : #if SK2_ENABLED
12324 : pure module subroutine setSortedArrDefComDef_D1_PSSK2(array)
12325 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12326 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_PSSK2
12327 : #endif
12328 : use pm_kind, only: SKC => SK2
12329 : use pm_container, only: css_pdt
12330 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12331 : end subroutine
12332 : #endif
12333 :
12334 : #if SK1_ENABLED
12335 : pure module subroutine setSortedArrDefComDef_D1_PSSK1(array)
12336 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12337 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_PSSK1
12338 : #endif
12339 : use pm_kind, only: SKC => SK1
12340 : use pm_container, only: css_pdt
12341 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12342 : end subroutine
12343 : #endif
12344 :
12345 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12346 :
12347 : pure module subroutine setSortedArrDefComDef_D1_BSSK(array)
12348 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12349 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComDef_D1_BSSK
12350 : #endif
12351 : use pm_kind, only: SKC => SK
12352 : use pm_container, only: css_type
12353 : type(css_type) , intent(inout) , contiguous :: array(:)
12354 : end subroutine
12355 :
12356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12357 :
12358 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12359 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12361 :
12362 : end interface
12363 :
12364 : ! setSortedArrDefComQsorti
12365 :
12366 : interface setSorted
12367 :
12368 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12369 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12370 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12371 :
12372 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12373 :
12374 : #if SK5_ENABLED
12375 : pure module subroutine setSortedArrDefComQsorti_D0_SK5(array, method)
12376 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12377 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D0_SK5
12378 : #endif
12379 : use pm_kind, only: SKC => SK5
12380 : character(*,SKC) , intent(inout) :: array
12381 : type(qsorti_type) , intent(in) :: method
12382 : end subroutine
12383 : #endif
12384 :
12385 : #if SK4_ENABLED
12386 : pure module subroutine setSortedArrDefComQsorti_D0_SK4(array, method)
12387 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12388 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D0_SK4
12389 : #endif
12390 : use pm_kind, only: SKC => SK4
12391 : character(*,SKC) , intent(inout) :: array
12392 : type(qsorti_type) , intent(in) :: method
12393 : end subroutine
12394 : #endif
12395 :
12396 : #if SK3_ENABLED
12397 : pure module subroutine setSortedArrDefComQsorti_D0_SK3(array, method)
12398 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12399 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D0_SK3
12400 : #endif
12401 : use pm_kind, only: SKC => SK3
12402 : character(*,SKC) , intent(inout) :: array
12403 : type(qsorti_type) , intent(in) :: method
12404 : end subroutine
12405 : #endif
12406 :
12407 : #if SK2_ENABLED
12408 : pure module subroutine setSortedArrDefComQsorti_D0_SK2(array, method)
12409 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12410 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D0_SK2
12411 : #endif
12412 : use pm_kind, only: SKC => SK2
12413 : character(*,SKC) , intent(inout) :: array
12414 : type(qsorti_type) , intent(in) :: method
12415 : end subroutine
12416 : #endif
12417 :
12418 : #if SK1_ENABLED
12419 : pure module subroutine setSortedArrDefComQsorti_D0_SK1(array, method)
12420 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12421 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D0_SK1
12422 : #endif
12423 : use pm_kind, only: SKC => SK1
12424 : character(*,SKC) , intent(inout) :: array
12425 : type(qsorti_type) , intent(in) :: method
12426 : end subroutine
12427 : #endif
12428 :
12429 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12430 :
12431 : #if SK5_ENABLED
12432 : pure module subroutine setSortedArrDefComQsorti_D1_SK5(array, method)
12433 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12434 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_SK5
12435 : #endif
12436 : use pm_kind, only: SKC => SK5
12437 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12438 : type(qsorti_type) , intent(in) :: method
12439 : end subroutine
12440 : #endif
12441 :
12442 : #if SK4_ENABLED
12443 : pure module subroutine setSortedArrDefComQsorti_D1_SK4(array, method)
12444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12445 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_SK4
12446 : #endif
12447 : use pm_kind, only: SKC => SK4
12448 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12449 : type(qsorti_type) , intent(in) :: method
12450 : end subroutine
12451 : #endif
12452 :
12453 : #if SK3_ENABLED
12454 : pure module subroutine setSortedArrDefComQsorti_D1_SK3(array, method)
12455 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12456 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_SK3
12457 : #endif
12458 : use pm_kind, only: SKC => SK3
12459 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12460 : type(qsorti_type) , intent(in) :: method
12461 : end subroutine
12462 : #endif
12463 :
12464 : #if SK2_ENABLED
12465 : pure module subroutine setSortedArrDefComQsorti_D1_SK2(array, method)
12466 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12467 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_SK2
12468 : #endif
12469 : use pm_kind, only: SKC => SK2
12470 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12471 : type(qsorti_type) , intent(in) :: method
12472 : end subroutine
12473 : #endif
12474 :
12475 : #if SK1_ENABLED
12476 : pure module subroutine setSortedArrDefComQsorti_D1_SK1(array, method)
12477 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12478 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_SK1
12479 : #endif
12480 : use pm_kind, only: SKC => SK1
12481 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12482 : type(qsorti_type) , intent(in) :: method
12483 : end subroutine
12484 : #endif
12485 :
12486 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12487 :
12488 : #if IK5_ENABLED
12489 : pure module subroutine setSortedArrDefComQsorti_D1_IK5(array, method)
12490 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12491 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_IK5
12492 : #endif
12493 : use pm_kind, only: IKC => IK5
12494 : integer(IKC) , intent(inout) , contiguous :: array(:)
12495 : type(qsorti_type) , intent(in) :: method
12496 : end subroutine
12497 : #endif
12498 :
12499 : #if IK4_ENABLED
12500 : pure module subroutine setSortedArrDefComQsorti_D1_IK4(array, method)
12501 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12502 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_IK4
12503 : #endif
12504 : use pm_kind, only: IKC => IK4
12505 : integer(IKC) , intent(inout) , contiguous :: array(:)
12506 : type(qsorti_type) , intent(in) :: method
12507 : end subroutine
12508 : #endif
12509 :
12510 : #if IK3_ENABLED
12511 : pure module subroutine setSortedArrDefComQsorti_D1_IK3(array, method)
12512 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12513 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_IK3
12514 : #endif
12515 : use pm_kind, only: IKC => IK3
12516 : integer(IKC) , intent(inout) , contiguous :: array(:)
12517 : type(qsorti_type) , intent(in) :: method
12518 : end subroutine
12519 : #endif
12520 :
12521 : #if IK2_ENABLED
12522 : pure module subroutine setSortedArrDefComQsorti_D1_IK2(array, method)
12523 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12524 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_IK2
12525 : #endif
12526 : use pm_kind, only: IKC => IK2
12527 : integer(IKC) , intent(inout) , contiguous :: array(:)
12528 : type(qsorti_type) , intent(in) :: method
12529 : end subroutine
12530 : #endif
12531 :
12532 : #if IK1_ENABLED
12533 : pure module subroutine setSortedArrDefComQsorti_D1_IK1(array, method)
12534 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12535 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_IK1
12536 : #endif
12537 : use pm_kind, only: IKC => IK1
12538 : integer(IKC) , intent(inout) , contiguous :: array(:)
12539 : type(qsorti_type) , intent(in) :: method
12540 : end subroutine
12541 : #endif
12542 :
12543 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12544 :
12545 : #if LK5_ENABLED
12546 : pure module subroutine setSortedArrDefComQsorti_D1_LK5(array, method)
12547 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12548 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_LK5
12549 : #endif
12550 : use pm_kind, only: LKC => LK5
12551 : logical(LKC) , intent(inout) , contiguous :: array(:)
12552 : type(qsorti_type) , intent(in) :: method
12553 : end subroutine
12554 : #endif
12555 :
12556 : #if LK4_ENABLED
12557 : pure module subroutine setSortedArrDefComQsorti_D1_LK4(array, method)
12558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12559 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_LK4
12560 : #endif
12561 : use pm_kind, only: LKC => LK4
12562 : logical(LKC) , intent(inout) , contiguous :: array(:)
12563 : type(qsorti_type) , intent(in) :: method
12564 : end subroutine
12565 : #endif
12566 :
12567 : #if LK3_ENABLED
12568 : pure module subroutine setSortedArrDefComQsorti_D1_LK3(array, method)
12569 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12570 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_LK3
12571 : #endif
12572 : use pm_kind, only: LKC => LK3
12573 : logical(LKC) , intent(inout) , contiguous :: array(:)
12574 : type(qsorti_type) , intent(in) :: method
12575 : end subroutine
12576 : #endif
12577 :
12578 : #if LK2_ENABLED
12579 : pure module subroutine setSortedArrDefComQsorti_D1_LK2(array, method)
12580 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12581 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_LK2
12582 : #endif
12583 : use pm_kind, only: LKC => LK2
12584 : logical(LKC) , intent(inout) , contiguous :: array(:)
12585 : type(qsorti_type) , intent(in) :: method
12586 : end subroutine
12587 : #endif
12588 :
12589 : #if LK1_ENABLED
12590 : pure module subroutine setSortedArrDefComQsorti_D1_LK1(array, method)
12591 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12592 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_LK1
12593 : #endif
12594 : use pm_kind, only: LKC => LK1
12595 : logical(LKC) , intent(inout) , contiguous :: array(:)
12596 : type(qsorti_type) , intent(in) :: method
12597 : end subroutine
12598 : #endif
12599 :
12600 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12601 :
12602 : #if CK5_ENABLED
12603 : pure module subroutine setSortedArrDefComQsorti_D1_CK5(array, method)
12604 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12605 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_CK5
12606 : #endif
12607 : use pm_kind, only: CKC => CK5
12608 : complex(CKC) , intent(inout) , contiguous :: array(:)
12609 : type(qsorti_type) , intent(in) :: method
12610 : end subroutine
12611 : #endif
12612 :
12613 : #if CK4_ENABLED
12614 : pure module subroutine setSortedArrDefComQsorti_D1_CK4(array, method)
12615 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12616 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_CK4
12617 : #endif
12618 : use pm_kind, only: CKC => CK4
12619 : complex(CKC) , intent(inout) , contiguous :: array(:)
12620 : type(qsorti_type) , intent(in) :: method
12621 : end subroutine
12622 : #endif
12623 :
12624 : #if CK3_ENABLED
12625 : pure module subroutine setSortedArrDefComQsorti_D1_CK3(array, method)
12626 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12627 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_CK3
12628 : #endif
12629 : use pm_kind, only: CKC => CK3
12630 : complex(CKC) , intent(inout) , contiguous :: array(:)
12631 : type(qsorti_type) , intent(in) :: method
12632 : end subroutine
12633 : #endif
12634 :
12635 : #if CK2_ENABLED
12636 : pure module subroutine setSortedArrDefComQsorti_D1_CK2(array, method)
12637 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12638 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_CK2
12639 : #endif
12640 : use pm_kind, only: CKC => CK2
12641 : complex(CKC) , intent(inout) , contiguous :: array(:)
12642 : type(qsorti_type) , intent(in) :: method
12643 : end subroutine
12644 : #endif
12645 :
12646 : #if CK1_ENABLED
12647 : pure module subroutine setSortedArrDefComQsorti_D1_CK1(array, method)
12648 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12649 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_CK1
12650 : #endif
12651 : use pm_kind, only: CKC => CK1
12652 : complex(CKC) , intent(inout) , contiguous :: array(:)
12653 : type(qsorti_type) , intent(in) :: method
12654 : end subroutine
12655 : #endif
12656 :
12657 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12658 :
12659 : #if RK5_ENABLED
12660 : pure module subroutine setSortedArrDefComQsorti_D1_RK5(array, method)
12661 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12662 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_RK5
12663 : #endif
12664 : use pm_kind, only: RKC => RK5
12665 : real(RKC) , intent(inout) , contiguous :: array(:)
12666 : type(qsorti_type) , intent(in) :: method
12667 : end subroutine
12668 : #endif
12669 :
12670 : #if RK4_ENABLED
12671 : pure module subroutine setSortedArrDefComQsorti_D1_RK4(array, method)
12672 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12673 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_RK4
12674 : #endif
12675 : use pm_kind, only: RKC => RK4
12676 : real(RKC) , intent(inout) , contiguous :: array(:)
12677 : type(qsorti_type) , intent(in) :: method
12678 : end subroutine
12679 : #endif
12680 :
12681 : #if RK3_ENABLED
12682 : pure module subroutine setSortedArrDefComQsorti_D1_RK3(array, method)
12683 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12684 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_RK3
12685 : #endif
12686 : use pm_kind, only: RKC => RK3
12687 : real(RKC) , intent(inout) , contiguous :: array(:)
12688 : type(qsorti_type) , intent(in) :: method
12689 : end subroutine
12690 : #endif
12691 :
12692 : #if RK2_ENABLED
12693 : pure module subroutine setSortedArrDefComQsorti_D1_RK2(array, method)
12694 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12695 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_RK2
12696 : #endif
12697 : use pm_kind, only: RKC => RK2
12698 : real(RKC) , intent(inout) , contiguous :: array(:)
12699 : type(qsorti_type) , intent(in) :: method
12700 : end subroutine
12701 : #endif
12702 :
12703 : #if RK1_ENABLED
12704 : pure module subroutine setSortedArrDefComQsorti_D1_RK1(array, method)
12705 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12706 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_RK1
12707 : #endif
12708 : use pm_kind, only: RKC => RK1
12709 : real(RKC) , intent(inout) , contiguous :: array(:)
12710 : type(qsorti_type) , intent(in) :: method
12711 : end subroutine
12712 : #endif
12713 :
12714 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12715 :
12716 : #if SK5_ENABLED
12717 : pure module subroutine setSortedArrDefComQsorti_D1_PSSK5(array, method)
12718 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12719 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_PSSK5
12720 : #endif
12721 : use pm_kind, only: SKC => SK5
12722 : use pm_container, only: css_pdt
12723 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12724 : type(qsorti_type) , intent(in) :: method
12725 : end subroutine
12726 : #endif
12727 :
12728 : #if SK4_ENABLED
12729 : pure module subroutine setSortedArrDefComQsorti_D1_PSSK4(array, method)
12730 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12731 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_PSSK4
12732 : #endif
12733 : use pm_kind, only: SKC => SK4
12734 : use pm_container, only: css_pdt
12735 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12736 : type(qsorti_type) , intent(in) :: method
12737 : end subroutine
12738 : #endif
12739 :
12740 : #if SK3_ENABLED
12741 : pure module subroutine setSortedArrDefComQsorti_D1_PSSK3(array, method)
12742 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12743 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_PSSK3
12744 : #endif
12745 : use pm_kind, only: SKC => SK3
12746 : use pm_container, only: css_pdt
12747 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12748 : type(qsorti_type) , intent(in) :: method
12749 : end subroutine
12750 : #endif
12751 :
12752 : #if SK2_ENABLED
12753 : pure module subroutine setSortedArrDefComQsorti_D1_PSSK2(array, method)
12754 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12755 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_PSSK2
12756 : #endif
12757 : use pm_kind, only: SKC => SK2
12758 : use pm_container, only: css_pdt
12759 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12760 : type(qsorti_type) , intent(in) :: method
12761 : end subroutine
12762 : #endif
12763 :
12764 : #if SK1_ENABLED
12765 : pure module subroutine setSortedArrDefComQsorti_D1_PSSK1(array, method)
12766 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12767 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_PSSK1
12768 : #endif
12769 : use pm_kind, only: SKC => SK1
12770 : use pm_container, only: css_pdt
12771 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
12772 : type(qsorti_type) , intent(in) :: method
12773 : end subroutine
12774 : #endif
12775 :
12776 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12777 :
12778 : pure module subroutine setSortedArrDefComQsorti_D1_BSSK(array, method)
12779 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12780 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsorti_D1_BSSK
12781 : #endif
12782 : use pm_kind, only: SKC => SK
12783 : use pm_container, only: css_type
12784 : type(css_type) , intent(inout) , contiguous :: array(:)
12785 : type(qsorti_type) , intent(in) :: method
12786 : end subroutine
12787 :
12788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12789 :
12790 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12791 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12792 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12793 :
12794 : end interface
12795 :
12796 : ! setSortedArrDefComQsortr
12797 :
12798 : interface setSorted
12799 :
12800 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12801 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12802 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12803 :
12804 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12805 :
12806 : #if SK5_ENABLED
12807 : pure recursive module subroutine setSortedArrDefComQsortr_D0_SK5(array, method)
12808 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12809 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D0_SK5
12810 : #endif
12811 : use pm_kind, only: SKC => SK5
12812 : character(*,SKC) , intent(inout) :: array
12813 : type(qsortr_type) , intent(in) :: method
12814 : end subroutine
12815 : #endif
12816 :
12817 : #if SK4_ENABLED
12818 : pure recursive module subroutine setSortedArrDefComQsortr_D0_SK4(array, method)
12819 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12820 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D0_SK4
12821 : #endif
12822 : use pm_kind, only: SKC => SK4
12823 : character(*,SKC) , intent(inout) :: array
12824 : type(qsortr_type) , intent(in) :: method
12825 : end subroutine
12826 : #endif
12827 :
12828 : #if SK3_ENABLED
12829 : pure recursive module subroutine setSortedArrDefComQsortr_D0_SK3(array, method)
12830 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12831 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D0_SK3
12832 : #endif
12833 : use pm_kind, only: SKC => SK3
12834 : character(*,SKC) , intent(inout) :: array
12835 : type(qsortr_type) , intent(in) :: method
12836 : end subroutine
12837 : #endif
12838 :
12839 : #if SK2_ENABLED
12840 : pure recursive module subroutine setSortedArrDefComQsortr_D0_SK2(array, method)
12841 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12842 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D0_SK2
12843 : #endif
12844 : use pm_kind, only: SKC => SK2
12845 : character(*,SKC) , intent(inout) :: array
12846 : type(qsortr_type) , intent(in) :: method
12847 : end subroutine
12848 : #endif
12849 :
12850 : #if SK1_ENABLED
12851 : pure recursive module subroutine setSortedArrDefComQsortr_D0_SK1(array, method)
12852 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12853 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D0_SK1
12854 : #endif
12855 : use pm_kind, only: SKC => SK1
12856 : character(*,SKC) , intent(inout) :: array
12857 : type(qsortr_type) , intent(in) :: method
12858 : end subroutine
12859 : #endif
12860 :
12861 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12862 :
12863 : #if SK5_ENABLED
12864 : pure recursive module subroutine setSortedArrDefComQsortr_D1_SK5(array, method)
12865 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12866 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_SK5
12867 : #endif
12868 : use pm_kind, only: SKC => SK5
12869 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12870 : type(qsortr_type) , intent(in) :: method
12871 : end subroutine
12872 : #endif
12873 :
12874 : #if SK4_ENABLED
12875 : pure recursive module subroutine setSortedArrDefComQsortr_D1_SK4(array, method)
12876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12877 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_SK4
12878 : #endif
12879 : use pm_kind, only: SKC => SK4
12880 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12881 : type(qsortr_type) , intent(in) :: method
12882 : end subroutine
12883 : #endif
12884 :
12885 : #if SK3_ENABLED
12886 : pure recursive module subroutine setSortedArrDefComQsortr_D1_SK3(array, method)
12887 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12888 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_SK3
12889 : #endif
12890 : use pm_kind, only: SKC => SK3
12891 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12892 : type(qsortr_type) , intent(in) :: method
12893 : end subroutine
12894 : #endif
12895 :
12896 : #if SK2_ENABLED
12897 : pure recursive module subroutine setSortedArrDefComQsortr_D1_SK2(array, method)
12898 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12899 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_SK2
12900 : #endif
12901 : use pm_kind, only: SKC => SK2
12902 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12903 : type(qsortr_type) , intent(in) :: method
12904 : end subroutine
12905 : #endif
12906 :
12907 : #if SK1_ENABLED
12908 : pure recursive module subroutine setSortedArrDefComQsortr_D1_SK1(array, method)
12909 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12910 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_SK1
12911 : #endif
12912 : use pm_kind, only: SKC => SK1
12913 : character(*,SKC) , intent(inout) , contiguous :: array(:)
12914 : type(qsortr_type) , intent(in) :: method
12915 : end subroutine
12916 : #endif
12917 :
12918 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12919 :
12920 : #if IK5_ENABLED
12921 : pure recursive module subroutine setSortedArrDefComQsortr_D1_IK5(array, method)
12922 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12923 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_IK5
12924 : #endif
12925 : use pm_kind, only: IKC => IK5
12926 : integer(IKC) , intent(inout) , contiguous :: array(:)
12927 : type(qsortr_type) , intent(in) :: method
12928 : end subroutine
12929 : #endif
12930 :
12931 : #if IK4_ENABLED
12932 : pure recursive module subroutine setSortedArrDefComQsortr_D1_IK4(array, method)
12933 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12934 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_IK4
12935 : #endif
12936 : use pm_kind, only: IKC => IK4
12937 : integer(IKC) , intent(inout) , contiguous :: array(:)
12938 : type(qsortr_type) , intent(in) :: method
12939 : end subroutine
12940 : #endif
12941 :
12942 : #if IK3_ENABLED
12943 : pure recursive module subroutine setSortedArrDefComQsortr_D1_IK3(array, method)
12944 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12945 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_IK3
12946 : #endif
12947 : use pm_kind, only: IKC => IK3
12948 : integer(IKC) , intent(inout) , contiguous :: array(:)
12949 : type(qsortr_type) , intent(in) :: method
12950 : end subroutine
12951 : #endif
12952 :
12953 : #if IK2_ENABLED
12954 : pure recursive module subroutine setSortedArrDefComQsortr_D1_IK2(array, method)
12955 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12956 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_IK2
12957 : #endif
12958 : use pm_kind, only: IKC => IK2
12959 : integer(IKC) , intent(inout) , contiguous :: array(:)
12960 : type(qsortr_type) , intent(in) :: method
12961 : end subroutine
12962 : #endif
12963 :
12964 : #if IK1_ENABLED
12965 : pure recursive module subroutine setSortedArrDefComQsortr_D1_IK1(array, method)
12966 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12967 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_IK1
12968 : #endif
12969 : use pm_kind, only: IKC => IK1
12970 : integer(IKC) , intent(inout) , contiguous :: array(:)
12971 : type(qsortr_type) , intent(in) :: method
12972 : end subroutine
12973 : #endif
12974 :
12975 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12976 :
12977 : #if LK5_ENABLED
12978 : pure recursive module subroutine setSortedArrDefComQsortr_D1_LK5(array, method)
12979 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12980 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_LK5
12981 : #endif
12982 : use pm_kind, only: LKC => LK5
12983 : logical(LKC) , intent(inout) , contiguous :: array(:)
12984 : type(qsortr_type) , intent(in) :: method
12985 : end subroutine
12986 : #endif
12987 :
12988 : #if LK4_ENABLED
12989 : pure recursive module subroutine setSortedArrDefComQsortr_D1_LK4(array, method)
12990 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12991 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_LK4
12992 : #endif
12993 : use pm_kind, only: LKC => LK4
12994 : logical(LKC) , intent(inout) , contiguous :: array(:)
12995 : type(qsortr_type) , intent(in) :: method
12996 : end subroutine
12997 : #endif
12998 :
12999 : #if LK3_ENABLED
13000 : pure recursive module subroutine setSortedArrDefComQsortr_D1_LK3(array, method)
13001 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13002 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_LK3
13003 : #endif
13004 : use pm_kind, only: LKC => LK3
13005 : logical(LKC) , intent(inout) , contiguous :: array(:)
13006 : type(qsortr_type) , intent(in) :: method
13007 : end subroutine
13008 : #endif
13009 :
13010 : #if LK2_ENABLED
13011 : pure recursive module subroutine setSortedArrDefComQsortr_D1_LK2(array, method)
13012 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13013 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_LK2
13014 : #endif
13015 : use pm_kind, only: LKC => LK2
13016 : logical(LKC) , intent(inout) , contiguous :: array(:)
13017 : type(qsortr_type) , intent(in) :: method
13018 : end subroutine
13019 : #endif
13020 :
13021 : #if LK1_ENABLED
13022 : pure recursive module subroutine setSortedArrDefComQsortr_D1_LK1(array, method)
13023 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13024 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_LK1
13025 : #endif
13026 : use pm_kind, only: LKC => LK1
13027 : logical(LKC) , intent(inout) , contiguous :: array(:)
13028 : type(qsortr_type) , intent(in) :: method
13029 : end subroutine
13030 : #endif
13031 :
13032 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13033 :
13034 : #if CK5_ENABLED
13035 : pure recursive module subroutine setSortedArrDefComQsortr_D1_CK5(array, method)
13036 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13037 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_CK5
13038 : #endif
13039 : use pm_kind, only: CKC => CK5
13040 : complex(CKC) , intent(inout) , contiguous :: array(:)
13041 : type(qsortr_type) , intent(in) :: method
13042 : end subroutine
13043 : #endif
13044 :
13045 : #if CK4_ENABLED
13046 : pure recursive module subroutine setSortedArrDefComQsortr_D1_CK4(array, method)
13047 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13048 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_CK4
13049 : #endif
13050 : use pm_kind, only: CKC => CK4
13051 : complex(CKC) , intent(inout) , contiguous :: array(:)
13052 : type(qsortr_type) , intent(in) :: method
13053 : end subroutine
13054 : #endif
13055 :
13056 : #if CK3_ENABLED
13057 : pure recursive module subroutine setSortedArrDefComQsortr_D1_CK3(array, method)
13058 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13059 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_CK3
13060 : #endif
13061 : use pm_kind, only: CKC => CK3
13062 : complex(CKC) , intent(inout) , contiguous :: array(:)
13063 : type(qsortr_type) , intent(in) :: method
13064 : end subroutine
13065 : #endif
13066 :
13067 : #if CK2_ENABLED
13068 : pure recursive module subroutine setSortedArrDefComQsortr_D1_CK2(array, method)
13069 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13070 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_CK2
13071 : #endif
13072 : use pm_kind, only: CKC => CK2
13073 : complex(CKC) , intent(inout) , contiguous :: array(:)
13074 : type(qsortr_type) , intent(in) :: method
13075 : end subroutine
13076 : #endif
13077 :
13078 : #if CK1_ENABLED
13079 : pure recursive module subroutine setSortedArrDefComQsortr_D1_CK1(array, method)
13080 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13081 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_CK1
13082 : #endif
13083 : use pm_kind, only: CKC => CK1
13084 : complex(CKC) , intent(inout) , contiguous :: array(:)
13085 : type(qsortr_type) , intent(in) :: method
13086 : end subroutine
13087 : #endif
13088 :
13089 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13090 :
13091 : #if RK5_ENABLED
13092 : pure recursive module subroutine setSortedArrDefComQsortr_D1_RK5(array, method)
13093 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13094 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_RK5
13095 : #endif
13096 : use pm_kind, only: RKC => RK5
13097 : real(RKC) , intent(inout) , contiguous :: array(:)
13098 : type(qsortr_type) , intent(in) :: method
13099 : end subroutine
13100 : #endif
13101 :
13102 : #if RK4_ENABLED
13103 : pure recursive module subroutine setSortedArrDefComQsortr_D1_RK4(array, method)
13104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_RK4
13106 : #endif
13107 : use pm_kind, only: RKC => RK4
13108 : real(RKC) , intent(inout) , contiguous :: array(:)
13109 : type(qsortr_type) , intent(in) :: method
13110 : end subroutine
13111 : #endif
13112 :
13113 : #if RK3_ENABLED
13114 : pure recursive module subroutine setSortedArrDefComQsortr_D1_RK3(array, method)
13115 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13116 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_RK3
13117 : #endif
13118 : use pm_kind, only: RKC => RK3
13119 : real(RKC) , intent(inout) , contiguous :: array(:)
13120 : type(qsortr_type) , intent(in) :: method
13121 : end subroutine
13122 : #endif
13123 :
13124 : #if RK2_ENABLED
13125 : pure recursive module subroutine setSortedArrDefComQsortr_D1_RK2(array, method)
13126 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13127 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_RK2
13128 : #endif
13129 : use pm_kind, only: RKC => RK2
13130 : real(RKC) , intent(inout) , contiguous :: array(:)
13131 : type(qsortr_type) , intent(in) :: method
13132 : end subroutine
13133 : #endif
13134 :
13135 : #if RK1_ENABLED
13136 : pure recursive module subroutine setSortedArrDefComQsortr_D1_RK1(array, method)
13137 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13138 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_RK1
13139 : #endif
13140 : use pm_kind, only: RKC => RK1
13141 : real(RKC) , intent(inout) , contiguous :: array(:)
13142 : type(qsortr_type) , intent(in) :: method
13143 : end subroutine
13144 : #endif
13145 :
13146 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13147 :
13148 : #if SK5_ENABLED
13149 : pure recursive module subroutine setSortedArrDefComQsortr_D1_PSSK5(array, method)
13150 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13151 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_PSSK5
13152 : #endif
13153 : use pm_kind, only: SKC => SK5
13154 : use pm_container, only: css_pdt
13155 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13156 : type(qsortr_type) , intent(in) :: method
13157 : end subroutine
13158 : #endif
13159 :
13160 : #if SK4_ENABLED
13161 : pure recursive module subroutine setSortedArrDefComQsortr_D1_PSSK4(array, method)
13162 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13163 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_PSSK4
13164 : #endif
13165 : use pm_kind, only: SKC => SK4
13166 : use pm_container, only: css_pdt
13167 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13168 : type(qsortr_type) , intent(in) :: method
13169 : end subroutine
13170 : #endif
13171 :
13172 : #if SK3_ENABLED
13173 : pure recursive module subroutine setSortedArrDefComQsortr_D1_PSSK3(array, method)
13174 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13175 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_PSSK3
13176 : #endif
13177 : use pm_kind, only: SKC => SK3
13178 : use pm_container, only: css_pdt
13179 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13180 : type(qsortr_type) , intent(in) :: method
13181 : end subroutine
13182 : #endif
13183 :
13184 : #if SK2_ENABLED
13185 : pure recursive module subroutine setSortedArrDefComQsortr_D1_PSSK2(array, method)
13186 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13187 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_PSSK2
13188 : #endif
13189 : use pm_kind, only: SKC => SK2
13190 : use pm_container, only: css_pdt
13191 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13192 : type(qsortr_type) , intent(in) :: method
13193 : end subroutine
13194 : #endif
13195 :
13196 : #if SK1_ENABLED
13197 : pure recursive module subroutine setSortedArrDefComQsortr_D1_PSSK1(array, method)
13198 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13199 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_PSSK1
13200 : #endif
13201 : use pm_kind, only: SKC => SK1
13202 : use pm_container, only: css_pdt
13203 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13204 : type(qsortr_type) , intent(in) :: method
13205 : end subroutine
13206 : #endif
13207 :
13208 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13209 :
13210 : pure recursive module subroutine setSortedArrDefComQsortr_D1_BSSK(array, method)
13211 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13212 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortr_D1_BSSK
13213 : #endif
13214 : use pm_kind, only: SKC => SK
13215 : use pm_container, only: css_type
13216 : type(css_type) , intent(inout) , contiguous :: array(:)
13217 : type(qsortr_type) , intent(in) :: method
13218 : end subroutine
13219 :
13220 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13221 :
13222 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13223 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13224 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13225 :
13226 : end interface
13227 :
13228 : ! setSortedArrDefComQsortrdp
13229 :
13230 : interface setSorted
13231 :
13232 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13233 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13235 :
13236 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13237 :
13238 : #if SK5_ENABLED
13239 : pure recursive module subroutine setSortedArrDefComQsortrdp_D0_SK5(array, method)
13240 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13241 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D0_SK5
13242 : #endif
13243 : use pm_kind, only: SKC => SK5
13244 : character(*,SKC) , intent(inout) :: array
13245 : type(qsortrdp_type) , intent(in) :: method
13246 : end subroutine
13247 : #endif
13248 :
13249 : #if SK4_ENABLED
13250 : pure recursive module subroutine setSortedArrDefComQsortrdp_D0_SK4(array, method)
13251 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13252 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D0_SK4
13253 : #endif
13254 : use pm_kind, only: SKC => SK4
13255 : character(*,SKC) , intent(inout) :: array
13256 : type(qsortrdp_type) , intent(in) :: method
13257 : end subroutine
13258 : #endif
13259 :
13260 : #if SK3_ENABLED
13261 : pure recursive module subroutine setSortedArrDefComQsortrdp_D0_SK3(array, method)
13262 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13263 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D0_SK3
13264 : #endif
13265 : use pm_kind, only: SKC => SK3
13266 : character(*,SKC) , intent(inout) :: array
13267 : type(qsortrdp_type) , intent(in) :: method
13268 : end subroutine
13269 : #endif
13270 :
13271 : #if SK2_ENABLED
13272 : pure recursive module subroutine setSortedArrDefComQsortrdp_D0_SK2(array, method)
13273 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13274 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D0_SK2
13275 : #endif
13276 : use pm_kind, only: SKC => SK2
13277 : character(*,SKC) , intent(inout) :: array
13278 : type(qsortrdp_type) , intent(in) :: method
13279 : end subroutine
13280 : #endif
13281 :
13282 : #if SK1_ENABLED
13283 : pure recursive module subroutine setSortedArrDefComQsortrdp_D0_SK1(array, method)
13284 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13285 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D0_SK1
13286 : #endif
13287 : use pm_kind, only: SKC => SK1
13288 : character(*,SKC) , intent(inout) :: array
13289 : type(qsortrdp_type) , intent(in) :: method
13290 : end subroutine
13291 : #endif
13292 :
13293 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13294 :
13295 : #if SK5_ENABLED
13296 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_SK5(array, method)
13297 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13298 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_SK5
13299 : #endif
13300 : use pm_kind, only: SKC => SK5
13301 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13302 : type(qsortrdp_type) , intent(in) :: method
13303 : end subroutine
13304 : #endif
13305 :
13306 : #if SK4_ENABLED
13307 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_SK4(array, method)
13308 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13309 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_SK4
13310 : #endif
13311 : use pm_kind, only: SKC => SK4
13312 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13313 : type(qsortrdp_type) , intent(in) :: method
13314 : end subroutine
13315 : #endif
13316 :
13317 : #if SK3_ENABLED
13318 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_SK3(array, method)
13319 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13320 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_SK3
13321 : #endif
13322 : use pm_kind, only: SKC => SK3
13323 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13324 : type(qsortrdp_type) , intent(in) :: method
13325 : end subroutine
13326 : #endif
13327 :
13328 : #if SK2_ENABLED
13329 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_SK2(array, method)
13330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13331 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_SK2
13332 : #endif
13333 : use pm_kind, only: SKC => SK2
13334 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13335 : type(qsortrdp_type) , intent(in) :: method
13336 : end subroutine
13337 : #endif
13338 :
13339 : #if SK1_ENABLED
13340 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_SK1(array, method)
13341 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13342 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_SK1
13343 : #endif
13344 : use pm_kind, only: SKC => SK1
13345 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13346 : type(qsortrdp_type) , intent(in) :: method
13347 : end subroutine
13348 : #endif
13349 :
13350 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13351 :
13352 : #if IK5_ENABLED
13353 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_IK5(array, method)
13354 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13355 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_IK5
13356 : #endif
13357 : use pm_kind, only: IKC => IK5
13358 : integer(IKC) , intent(inout) , contiguous :: array(:)
13359 : type(qsortrdp_type) , intent(in) :: method
13360 : end subroutine
13361 : #endif
13362 :
13363 : #if IK4_ENABLED
13364 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_IK4(array, method)
13365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13366 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_IK4
13367 : #endif
13368 : use pm_kind, only: IKC => IK4
13369 : integer(IKC) , intent(inout) , contiguous :: array(:)
13370 : type(qsortrdp_type) , intent(in) :: method
13371 : end subroutine
13372 : #endif
13373 :
13374 : #if IK3_ENABLED
13375 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_IK3(array, method)
13376 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13377 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_IK3
13378 : #endif
13379 : use pm_kind, only: IKC => IK3
13380 : integer(IKC) , intent(inout) , contiguous :: array(:)
13381 : type(qsortrdp_type) , intent(in) :: method
13382 : end subroutine
13383 : #endif
13384 :
13385 : #if IK2_ENABLED
13386 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_IK2(array, method)
13387 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13388 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_IK2
13389 : #endif
13390 : use pm_kind, only: IKC => IK2
13391 : integer(IKC) , intent(inout) , contiguous :: array(:)
13392 : type(qsortrdp_type) , intent(in) :: method
13393 : end subroutine
13394 : #endif
13395 :
13396 : #if IK1_ENABLED
13397 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_IK1(array, method)
13398 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13399 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_IK1
13400 : #endif
13401 : use pm_kind, only: IKC => IK1
13402 : integer(IKC) , intent(inout) , contiguous :: array(:)
13403 : type(qsortrdp_type) , intent(in) :: method
13404 : end subroutine
13405 : #endif
13406 :
13407 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13408 :
13409 : #if LK5_ENABLED
13410 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_LK5(array, method)
13411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13412 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_LK5
13413 : #endif
13414 : use pm_kind, only: LKC => LK5
13415 : logical(LKC) , intent(inout) , contiguous :: array(:)
13416 : type(qsortrdp_type) , intent(in) :: method
13417 : end subroutine
13418 : #endif
13419 :
13420 : #if LK4_ENABLED
13421 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_LK4(array, method)
13422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13423 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_LK4
13424 : #endif
13425 : use pm_kind, only: LKC => LK4
13426 : logical(LKC) , intent(inout) , contiguous :: array(:)
13427 : type(qsortrdp_type) , intent(in) :: method
13428 : end subroutine
13429 : #endif
13430 :
13431 : #if LK3_ENABLED
13432 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_LK3(array, method)
13433 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13434 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_LK3
13435 : #endif
13436 : use pm_kind, only: LKC => LK3
13437 : logical(LKC) , intent(inout) , contiguous :: array(:)
13438 : type(qsortrdp_type) , intent(in) :: method
13439 : end subroutine
13440 : #endif
13441 :
13442 : #if LK2_ENABLED
13443 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_LK2(array, method)
13444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13445 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_LK2
13446 : #endif
13447 : use pm_kind, only: LKC => LK2
13448 : logical(LKC) , intent(inout) , contiguous :: array(:)
13449 : type(qsortrdp_type) , intent(in) :: method
13450 : end subroutine
13451 : #endif
13452 :
13453 : #if LK1_ENABLED
13454 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_LK1(array, method)
13455 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13456 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_LK1
13457 : #endif
13458 : use pm_kind, only: LKC => LK1
13459 : logical(LKC) , intent(inout) , contiguous :: array(:)
13460 : type(qsortrdp_type) , intent(in) :: method
13461 : end subroutine
13462 : #endif
13463 :
13464 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13465 :
13466 : #if CK5_ENABLED
13467 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_CK5(array, method)
13468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13469 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_CK5
13470 : #endif
13471 : use pm_kind, only: CKC => CK5
13472 : complex(CKC) , intent(inout) , contiguous :: array(:)
13473 : type(qsortrdp_type) , intent(in) :: method
13474 : end subroutine
13475 : #endif
13476 :
13477 : #if CK4_ENABLED
13478 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_CK4(array, method)
13479 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13480 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_CK4
13481 : #endif
13482 : use pm_kind, only: CKC => CK4
13483 : complex(CKC) , intent(inout) , contiguous :: array(:)
13484 : type(qsortrdp_type) , intent(in) :: method
13485 : end subroutine
13486 : #endif
13487 :
13488 : #if CK3_ENABLED
13489 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_CK3(array, method)
13490 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13491 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_CK3
13492 : #endif
13493 : use pm_kind, only: CKC => CK3
13494 : complex(CKC) , intent(inout) , contiguous :: array(:)
13495 : type(qsortrdp_type) , intent(in) :: method
13496 : end subroutine
13497 : #endif
13498 :
13499 : #if CK2_ENABLED
13500 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_CK2(array, method)
13501 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13502 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_CK2
13503 : #endif
13504 : use pm_kind, only: CKC => CK2
13505 : complex(CKC) , intent(inout) , contiguous :: array(:)
13506 : type(qsortrdp_type) , intent(in) :: method
13507 : end subroutine
13508 : #endif
13509 :
13510 : #if CK1_ENABLED
13511 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_CK1(array, method)
13512 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13513 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_CK1
13514 : #endif
13515 : use pm_kind, only: CKC => CK1
13516 : complex(CKC) , intent(inout) , contiguous :: array(:)
13517 : type(qsortrdp_type) , intent(in) :: method
13518 : end subroutine
13519 : #endif
13520 :
13521 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13522 :
13523 : #if RK5_ENABLED
13524 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_RK5(array, method)
13525 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13526 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_RK5
13527 : #endif
13528 : use pm_kind, only: RKC => RK5
13529 : real(RKC) , intent(inout) , contiguous :: array(:)
13530 : type(qsortrdp_type) , intent(in) :: method
13531 : end subroutine
13532 : #endif
13533 :
13534 : #if RK4_ENABLED
13535 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_RK4(array, method)
13536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13537 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_RK4
13538 : #endif
13539 : use pm_kind, only: RKC => RK4
13540 : real(RKC) , intent(inout) , contiguous :: array(:)
13541 : type(qsortrdp_type) , intent(in) :: method
13542 : end subroutine
13543 : #endif
13544 :
13545 : #if RK3_ENABLED
13546 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_RK3(array, method)
13547 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13548 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_RK3
13549 : #endif
13550 : use pm_kind, only: RKC => RK3
13551 : real(RKC) , intent(inout) , contiguous :: array(:)
13552 : type(qsortrdp_type) , intent(in) :: method
13553 : end subroutine
13554 : #endif
13555 :
13556 : #if RK2_ENABLED
13557 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_RK2(array, method)
13558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13559 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_RK2
13560 : #endif
13561 : use pm_kind, only: RKC => RK2
13562 : real(RKC) , intent(inout) , contiguous :: array(:)
13563 : type(qsortrdp_type) , intent(in) :: method
13564 : end subroutine
13565 : #endif
13566 :
13567 : #if RK1_ENABLED
13568 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_RK1(array, method)
13569 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13570 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_RK1
13571 : #endif
13572 : use pm_kind, only: RKC => RK1
13573 : real(RKC) , intent(inout) , contiguous :: array(:)
13574 : type(qsortrdp_type) , intent(in) :: method
13575 : end subroutine
13576 : #endif
13577 :
13578 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13579 :
13580 : #if SK5_ENABLED
13581 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_PSSK5(array, method)
13582 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13583 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_PSSK5
13584 : #endif
13585 : use pm_kind, only: SKC => SK5
13586 : use pm_container, only: css_pdt
13587 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13588 : type(qsortrdp_type) , intent(in) :: method
13589 : end subroutine
13590 : #endif
13591 :
13592 : #if SK4_ENABLED
13593 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_PSSK4(array, method)
13594 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13595 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_PSSK4
13596 : #endif
13597 : use pm_kind, only: SKC => SK4
13598 : use pm_container, only: css_pdt
13599 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13600 : type(qsortrdp_type) , intent(in) :: method
13601 : end subroutine
13602 : #endif
13603 :
13604 : #if SK3_ENABLED
13605 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_PSSK3(array, method)
13606 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13607 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_PSSK3
13608 : #endif
13609 : use pm_kind, only: SKC => SK3
13610 : use pm_container, only: css_pdt
13611 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13612 : type(qsortrdp_type) , intent(in) :: method
13613 : end subroutine
13614 : #endif
13615 :
13616 : #if SK2_ENABLED
13617 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_PSSK2(array, method)
13618 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13619 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_PSSK2
13620 : #endif
13621 : use pm_kind, only: SKC => SK2
13622 : use pm_container, only: css_pdt
13623 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13624 : type(qsortrdp_type) , intent(in) :: method
13625 : end subroutine
13626 : #endif
13627 :
13628 : #if SK1_ENABLED
13629 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_PSSK1(array, method)
13630 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13631 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_PSSK1
13632 : #endif
13633 : use pm_kind, only: SKC => SK1
13634 : use pm_container, only: css_pdt
13635 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
13636 : type(qsortrdp_type) , intent(in) :: method
13637 : end subroutine
13638 : #endif
13639 :
13640 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13641 :
13642 : pure recursive module subroutine setSortedArrDefComQsortrdp_D1_BSSK(array, method)
13643 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13644 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComQsortrdp_D1_BSSK
13645 : #endif
13646 : use pm_kind, only: SKC => SK
13647 : use pm_container, only: css_type
13648 : type(css_type) , intent(inout) , contiguous :: array(:)
13649 : type(qsortrdp_type) , intent(in) :: method
13650 : end subroutine
13651 :
13652 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13653 :
13654 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13656 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13657 :
13658 : end interface
13659 :
13660 : ! setSortedArrDefComBubble
13661 :
13662 : interface setSorted
13663 :
13664 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13665 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13667 :
13668 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13669 :
13670 : #if SK5_ENABLED
13671 : pure module subroutine setSortedArrDefComBubble_D0_SK5(array, method)
13672 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13673 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D0_SK5
13674 : #endif
13675 : use pm_kind, only: SKC => SK5
13676 : character(*,SKC) , intent(inout) :: array
13677 : type(bubble_type) , intent(in) :: method
13678 : end subroutine
13679 : #endif
13680 :
13681 : #if SK4_ENABLED
13682 : pure module subroutine setSortedArrDefComBubble_D0_SK4(array, method)
13683 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13684 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D0_SK4
13685 : #endif
13686 : use pm_kind, only: SKC => SK4
13687 : character(*,SKC) , intent(inout) :: array
13688 : type(bubble_type) , intent(in) :: method
13689 : end subroutine
13690 : #endif
13691 :
13692 : #if SK3_ENABLED
13693 : pure module subroutine setSortedArrDefComBubble_D0_SK3(array, method)
13694 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13695 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D0_SK3
13696 : #endif
13697 : use pm_kind, only: SKC => SK3
13698 : character(*,SKC) , intent(inout) :: array
13699 : type(bubble_type) , intent(in) :: method
13700 : end subroutine
13701 : #endif
13702 :
13703 : #if SK2_ENABLED
13704 : pure module subroutine setSortedArrDefComBubble_D0_SK2(array, method)
13705 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13706 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D0_SK2
13707 : #endif
13708 : use pm_kind, only: SKC => SK2
13709 : character(*,SKC) , intent(inout) :: array
13710 : type(bubble_type) , intent(in) :: method
13711 : end subroutine
13712 : #endif
13713 :
13714 : #if SK1_ENABLED
13715 : pure module subroutine setSortedArrDefComBubble_D0_SK1(array, method)
13716 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13717 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D0_SK1
13718 : #endif
13719 : use pm_kind, only: SKC => SK1
13720 : character(*,SKC) , intent(inout) :: array
13721 : type(bubble_type) , intent(in) :: method
13722 : end subroutine
13723 : #endif
13724 :
13725 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13726 :
13727 : #if SK5_ENABLED
13728 : pure module subroutine setSortedArrDefComBubble_D1_SK5(array, method)
13729 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13730 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_SK5
13731 : #endif
13732 : use pm_kind, only: SKC => SK5
13733 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13734 : type(bubble_type) , intent(in) :: method
13735 : end subroutine
13736 : #endif
13737 :
13738 : #if SK4_ENABLED
13739 : pure module subroutine setSortedArrDefComBubble_D1_SK4(array, method)
13740 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13741 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_SK4
13742 : #endif
13743 : use pm_kind, only: SKC => SK4
13744 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13745 : type(bubble_type) , intent(in) :: method
13746 : end subroutine
13747 : #endif
13748 :
13749 : #if SK3_ENABLED
13750 : pure module subroutine setSortedArrDefComBubble_D1_SK3(array, method)
13751 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13752 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_SK3
13753 : #endif
13754 : use pm_kind, only: SKC => SK3
13755 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13756 : type(bubble_type) , intent(in) :: method
13757 : end subroutine
13758 : #endif
13759 :
13760 : #if SK2_ENABLED
13761 : pure module subroutine setSortedArrDefComBubble_D1_SK2(array, method)
13762 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13763 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_SK2
13764 : #endif
13765 : use pm_kind, only: SKC => SK2
13766 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13767 : type(bubble_type) , intent(in) :: method
13768 : end subroutine
13769 : #endif
13770 :
13771 : #if SK1_ENABLED
13772 : pure module subroutine setSortedArrDefComBubble_D1_SK1(array, method)
13773 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13774 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_SK1
13775 : #endif
13776 : use pm_kind, only: SKC => SK1
13777 : character(*,SKC) , intent(inout) , contiguous :: array(:)
13778 : type(bubble_type) , intent(in) :: method
13779 : end subroutine
13780 : #endif
13781 :
13782 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13783 :
13784 : #if IK5_ENABLED
13785 : pure module subroutine setSortedArrDefComBubble_D1_IK5(array, method)
13786 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13787 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_IK5
13788 : #endif
13789 : use pm_kind, only: IKC => IK5
13790 : integer(IKC) , intent(inout) , contiguous :: array(:)
13791 : type(bubble_type) , intent(in) :: method
13792 : end subroutine
13793 : #endif
13794 :
13795 : #if IK4_ENABLED
13796 : pure module subroutine setSortedArrDefComBubble_D1_IK4(array, method)
13797 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13798 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_IK4
13799 : #endif
13800 : use pm_kind, only: IKC => IK4
13801 : integer(IKC) , intent(inout) , contiguous :: array(:)
13802 : type(bubble_type) , intent(in) :: method
13803 : end subroutine
13804 : #endif
13805 :
13806 : #if IK3_ENABLED
13807 : pure module subroutine setSortedArrDefComBubble_D1_IK3(array, method)
13808 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13809 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_IK3
13810 : #endif
13811 : use pm_kind, only: IKC => IK3
13812 : integer(IKC) , intent(inout) , contiguous :: array(:)
13813 : type(bubble_type) , intent(in) :: method
13814 : end subroutine
13815 : #endif
13816 :
13817 : #if IK2_ENABLED
13818 : pure module subroutine setSortedArrDefComBubble_D1_IK2(array, method)
13819 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13820 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_IK2
13821 : #endif
13822 : use pm_kind, only: IKC => IK2
13823 : integer(IKC) , intent(inout) , contiguous :: array(:)
13824 : type(bubble_type) , intent(in) :: method
13825 : end subroutine
13826 : #endif
13827 :
13828 : #if IK1_ENABLED
13829 : pure module subroutine setSortedArrDefComBubble_D1_IK1(array, method)
13830 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13831 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_IK1
13832 : #endif
13833 : use pm_kind, only: IKC => IK1
13834 : integer(IKC) , intent(inout) , contiguous :: array(:)
13835 : type(bubble_type) , intent(in) :: method
13836 : end subroutine
13837 : #endif
13838 :
13839 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13840 :
13841 : #if LK5_ENABLED
13842 : pure module subroutine setSortedArrDefComBubble_D1_LK5(array, method)
13843 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13844 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_LK5
13845 : #endif
13846 : use pm_kind, only: LKC => LK5
13847 : logical(LKC) , intent(inout) , contiguous :: array(:)
13848 : type(bubble_type) , intent(in) :: method
13849 : end subroutine
13850 : #endif
13851 :
13852 : #if LK4_ENABLED
13853 : pure module subroutine setSortedArrDefComBubble_D1_LK4(array, method)
13854 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13855 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_LK4
13856 : #endif
13857 : use pm_kind, only: LKC => LK4
13858 : logical(LKC) , intent(inout) , contiguous :: array(:)
13859 : type(bubble_type) , intent(in) :: method
13860 : end subroutine
13861 : #endif
13862 :
13863 : #if LK3_ENABLED
13864 : pure module subroutine setSortedArrDefComBubble_D1_LK3(array, method)
13865 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13866 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_LK3
13867 : #endif
13868 : use pm_kind, only: LKC => LK3
13869 : logical(LKC) , intent(inout) , contiguous :: array(:)
13870 : type(bubble_type) , intent(in) :: method
13871 : end subroutine
13872 : #endif
13873 :
13874 : #if LK2_ENABLED
13875 : pure module subroutine setSortedArrDefComBubble_D1_LK2(array, method)
13876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13877 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_LK2
13878 : #endif
13879 : use pm_kind, only: LKC => LK2
13880 : logical(LKC) , intent(inout) , contiguous :: array(:)
13881 : type(bubble_type) , intent(in) :: method
13882 : end subroutine
13883 : #endif
13884 :
13885 : #if LK1_ENABLED
13886 : pure module subroutine setSortedArrDefComBubble_D1_LK1(array, method)
13887 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13888 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_LK1
13889 : #endif
13890 : use pm_kind, only: LKC => LK1
13891 : logical(LKC) , intent(inout) , contiguous :: array(:)
13892 : type(bubble_type) , intent(in) :: method
13893 : end subroutine
13894 : #endif
13895 :
13896 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13897 :
13898 : #if CK5_ENABLED
13899 : pure module subroutine setSortedArrDefComBubble_D1_CK5(array, method)
13900 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13901 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_CK5
13902 : #endif
13903 : use pm_kind, only: CKC => CK5
13904 : complex(CKC) , intent(inout) , contiguous :: array(:)
13905 : type(bubble_type) , intent(in) :: method
13906 : end subroutine
13907 : #endif
13908 :
13909 : #if CK4_ENABLED
13910 : pure module subroutine setSortedArrDefComBubble_D1_CK4(array, method)
13911 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13912 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_CK4
13913 : #endif
13914 : use pm_kind, only: CKC => CK4
13915 : complex(CKC) , intent(inout) , contiguous :: array(:)
13916 : type(bubble_type) , intent(in) :: method
13917 : end subroutine
13918 : #endif
13919 :
13920 : #if CK3_ENABLED
13921 : pure module subroutine setSortedArrDefComBubble_D1_CK3(array, method)
13922 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13923 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_CK3
13924 : #endif
13925 : use pm_kind, only: CKC => CK3
13926 : complex(CKC) , intent(inout) , contiguous :: array(:)
13927 : type(bubble_type) , intent(in) :: method
13928 : end subroutine
13929 : #endif
13930 :
13931 : #if CK2_ENABLED
13932 : pure module subroutine setSortedArrDefComBubble_D1_CK2(array, method)
13933 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13934 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_CK2
13935 : #endif
13936 : use pm_kind, only: CKC => CK2
13937 : complex(CKC) , intent(inout) , contiguous :: array(:)
13938 : type(bubble_type) , intent(in) :: method
13939 : end subroutine
13940 : #endif
13941 :
13942 : #if CK1_ENABLED
13943 : pure module subroutine setSortedArrDefComBubble_D1_CK1(array, method)
13944 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13945 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_CK1
13946 : #endif
13947 : use pm_kind, only: CKC => CK1
13948 : complex(CKC) , intent(inout) , contiguous :: array(:)
13949 : type(bubble_type) , intent(in) :: method
13950 : end subroutine
13951 : #endif
13952 :
13953 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13954 :
13955 : #if RK5_ENABLED
13956 : pure module subroutine setSortedArrDefComBubble_D1_RK5(array, method)
13957 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13958 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_RK5
13959 : #endif
13960 : use pm_kind, only: RKC => RK5
13961 : real(RKC) , intent(inout) , contiguous :: array(:)
13962 : type(bubble_type) , intent(in) :: method
13963 : end subroutine
13964 : #endif
13965 :
13966 : #if RK4_ENABLED
13967 : pure module subroutine setSortedArrDefComBubble_D1_RK4(array, method)
13968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13969 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_RK4
13970 : #endif
13971 : use pm_kind, only: RKC => RK4
13972 : real(RKC) , intent(inout) , contiguous :: array(:)
13973 : type(bubble_type) , intent(in) :: method
13974 : end subroutine
13975 : #endif
13976 :
13977 : #if RK3_ENABLED
13978 : pure module subroutine setSortedArrDefComBubble_D1_RK3(array, method)
13979 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13980 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_RK3
13981 : #endif
13982 : use pm_kind, only: RKC => RK3
13983 : real(RKC) , intent(inout) , contiguous :: array(:)
13984 : type(bubble_type) , intent(in) :: method
13985 : end subroutine
13986 : #endif
13987 :
13988 : #if RK2_ENABLED
13989 : pure module subroutine setSortedArrDefComBubble_D1_RK2(array, method)
13990 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13991 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_RK2
13992 : #endif
13993 : use pm_kind, only: RKC => RK2
13994 : real(RKC) , intent(inout) , contiguous :: array(:)
13995 : type(bubble_type) , intent(in) :: method
13996 : end subroutine
13997 : #endif
13998 :
13999 : #if RK1_ENABLED
14000 : pure module subroutine setSortedArrDefComBubble_D1_RK1(array, method)
14001 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14002 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_RK1
14003 : #endif
14004 : use pm_kind, only: RKC => RK1
14005 : real(RKC) , intent(inout) , contiguous :: array(:)
14006 : type(bubble_type) , intent(in) :: method
14007 : end subroutine
14008 : #endif
14009 :
14010 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14011 :
14012 : #if SK5_ENABLED
14013 : pure module subroutine setSortedArrDefComBubble_D1_PSSK5(array, method)
14014 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14015 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_PSSK5
14016 : #endif
14017 : use pm_kind, only: SKC => SK5
14018 : use pm_container, only: css_pdt
14019 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14020 : type(bubble_type) , intent(in) :: method
14021 : end subroutine
14022 : #endif
14023 :
14024 : #if SK4_ENABLED
14025 : pure module subroutine setSortedArrDefComBubble_D1_PSSK4(array, method)
14026 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14027 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_PSSK4
14028 : #endif
14029 : use pm_kind, only: SKC => SK4
14030 : use pm_container, only: css_pdt
14031 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14032 : type(bubble_type) , intent(in) :: method
14033 : end subroutine
14034 : #endif
14035 :
14036 : #if SK3_ENABLED
14037 : pure module subroutine setSortedArrDefComBubble_D1_PSSK3(array, method)
14038 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14039 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_PSSK3
14040 : #endif
14041 : use pm_kind, only: SKC => SK3
14042 : use pm_container, only: css_pdt
14043 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14044 : type(bubble_type) , intent(in) :: method
14045 : end subroutine
14046 : #endif
14047 :
14048 : #if SK2_ENABLED
14049 : pure module subroutine setSortedArrDefComBubble_D1_PSSK2(array, method)
14050 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14051 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_PSSK2
14052 : #endif
14053 : use pm_kind, only: SKC => SK2
14054 : use pm_container, only: css_pdt
14055 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14056 : type(bubble_type) , intent(in) :: method
14057 : end subroutine
14058 : #endif
14059 :
14060 : #if SK1_ENABLED
14061 : pure module subroutine setSortedArrDefComBubble_D1_PSSK1(array, method)
14062 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14063 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_PSSK1
14064 : #endif
14065 : use pm_kind, only: SKC => SK1
14066 : use pm_container, only: css_pdt
14067 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14068 : type(bubble_type) , intent(in) :: method
14069 : end subroutine
14070 : #endif
14071 :
14072 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14073 :
14074 : pure module subroutine setSortedArrDefComBubble_D1_BSSK(array, method)
14075 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14076 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComBubble_D1_BSSK
14077 : #endif
14078 : use pm_kind, only: SKC => SK
14079 : use pm_container, only: css_type
14080 : type(css_type) , intent(inout) , contiguous :: array(:)
14081 : type(bubble_type) , intent(in) :: method
14082 : end subroutine
14083 :
14084 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14085 :
14086 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14087 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14088 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14089 :
14090 : end interface
14091 :
14092 : ! setSortedArrDefComHeapi
14093 :
14094 : interface setSorted
14095 :
14096 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14097 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14098 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14099 :
14100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14101 :
14102 : #if SK5_ENABLED
14103 : pure module subroutine setSortedArrDefComHeapi_D0_SK5(array, method)
14104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D0_SK5
14106 : #endif
14107 : use pm_kind, only: SKC => SK5
14108 : character(*,SKC) , intent(inout) :: array
14109 : type(heapi_type) , intent(in) :: method
14110 : end subroutine
14111 : #endif
14112 :
14113 : #if SK4_ENABLED
14114 : pure module subroutine setSortedArrDefComHeapi_D0_SK4(array, method)
14115 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14116 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D0_SK4
14117 : #endif
14118 : use pm_kind, only: SKC => SK4
14119 : character(*,SKC) , intent(inout) :: array
14120 : type(heapi_type) , intent(in) :: method
14121 : end subroutine
14122 : #endif
14123 :
14124 : #if SK3_ENABLED
14125 : pure module subroutine setSortedArrDefComHeapi_D0_SK3(array, method)
14126 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14127 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D0_SK3
14128 : #endif
14129 : use pm_kind, only: SKC => SK3
14130 : character(*,SKC) , intent(inout) :: array
14131 : type(heapi_type) , intent(in) :: method
14132 : end subroutine
14133 : #endif
14134 :
14135 : #if SK2_ENABLED
14136 : pure module subroutine setSortedArrDefComHeapi_D0_SK2(array, method)
14137 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14138 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D0_SK2
14139 : #endif
14140 : use pm_kind, only: SKC => SK2
14141 : character(*,SKC) , intent(inout) :: array
14142 : type(heapi_type) , intent(in) :: method
14143 : end subroutine
14144 : #endif
14145 :
14146 : #if SK1_ENABLED
14147 : pure module subroutine setSortedArrDefComHeapi_D0_SK1(array, method)
14148 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14149 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D0_SK1
14150 : #endif
14151 : use pm_kind, only: SKC => SK1
14152 : character(*,SKC) , intent(inout) :: array
14153 : type(heapi_type) , intent(in) :: method
14154 : end subroutine
14155 : #endif
14156 :
14157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14158 :
14159 : #if SK5_ENABLED
14160 : pure module subroutine setSortedArrDefComHeapi_D1_SK5(array, method)
14161 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14162 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_SK5
14163 : #endif
14164 : use pm_kind, only: SKC => SK5
14165 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14166 : type(heapi_type) , intent(in) :: method
14167 : end subroutine
14168 : #endif
14169 :
14170 : #if SK4_ENABLED
14171 : pure module subroutine setSortedArrDefComHeapi_D1_SK4(array, method)
14172 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14173 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_SK4
14174 : #endif
14175 : use pm_kind, only: SKC => SK4
14176 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14177 : type(heapi_type) , intent(in) :: method
14178 : end subroutine
14179 : #endif
14180 :
14181 : #if SK3_ENABLED
14182 : pure module subroutine setSortedArrDefComHeapi_D1_SK3(array, method)
14183 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14184 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_SK3
14185 : #endif
14186 : use pm_kind, only: SKC => SK3
14187 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14188 : type(heapi_type) , intent(in) :: method
14189 : end subroutine
14190 : #endif
14191 :
14192 : #if SK2_ENABLED
14193 : pure module subroutine setSortedArrDefComHeapi_D1_SK2(array, method)
14194 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14195 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_SK2
14196 : #endif
14197 : use pm_kind, only: SKC => SK2
14198 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14199 : type(heapi_type) , intent(in) :: method
14200 : end subroutine
14201 : #endif
14202 :
14203 : #if SK1_ENABLED
14204 : pure module subroutine setSortedArrDefComHeapi_D1_SK1(array, method)
14205 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14206 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_SK1
14207 : #endif
14208 : use pm_kind, only: SKC => SK1
14209 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14210 : type(heapi_type) , intent(in) :: method
14211 : end subroutine
14212 : #endif
14213 :
14214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14215 :
14216 : #if IK5_ENABLED
14217 : pure module subroutine setSortedArrDefComHeapi_D1_IK5(array, method)
14218 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14219 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_IK5
14220 : #endif
14221 : use pm_kind, only: IKC => IK5
14222 : integer(IKC) , intent(inout) , contiguous :: array(:)
14223 : type(heapi_type) , intent(in) :: method
14224 : end subroutine
14225 : #endif
14226 :
14227 : #if IK4_ENABLED
14228 : pure module subroutine setSortedArrDefComHeapi_D1_IK4(array, method)
14229 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14230 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_IK4
14231 : #endif
14232 : use pm_kind, only: IKC => IK4
14233 : integer(IKC) , intent(inout) , contiguous :: array(:)
14234 : type(heapi_type) , intent(in) :: method
14235 : end subroutine
14236 : #endif
14237 :
14238 : #if IK3_ENABLED
14239 : pure module subroutine setSortedArrDefComHeapi_D1_IK3(array, method)
14240 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14241 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_IK3
14242 : #endif
14243 : use pm_kind, only: IKC => IK3
14244 : integer(IKC) , intent(inout) , contiguous :: array(:)
14245 : type(heapi_type) , intent(in) :: method
14246 : end subroutine
14247 : #endif
14248 :
14249 : #if IK2_ENABLED
14250 : pure module subroutine setSortedArrDefComHeapi_D1_IK2(array, method)
14251 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14252 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_IK2
14253 : #endif
14254 : use pm_kind, only: IKC => IK2
14255 : integer(IKC) , intent(inout) , contiguous :: array(:)
14256 : type(heapi_type) , intent(in) :: method
14257 : end subroutine
14258 : #endif
14259 :
14260 : #if IK1_ENABLED
14261 : pure module subroutine setSortedArrDefComHeapi_D1_IK1(array, method)
14262 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14263 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_IK1
14264 : #endif
14265 : use pm_kind, only: IKC => IK1
14266 : integer(IKC) , intent(inout) , contiguous :: array(:)
14267 : type(heapi_type) , intent(in) :: method
14268 : end subroutine
14269 : #endif
14270 :
14271 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14272 :
14273 : #if LK5_ENABLED
14274 : pure module subroutine setSortedArrDefComHeapi_D1_LK5(array, method)
14275 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14276 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_LK5
14277 : #endif
14278 : use pm_kind, only: LKC => LK5
14279 : logical(LKC) , intent(inout) , contiguous :: array(:)
14280 : type(heapi_type) , intent(in) :: method
14281 : end subroutine
14282 : #endif
14283 :
14284 : #if LK4_ENABLED
14285 : pure module subroutine setSortedArrDefComHeapi_D1_LK4(array, method)
14286 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14287 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_LK4
14288 : #endif
14289 : use pm_kind, only: LKC => LK4
14290 : logical(LKC) , intent(inout) , contiguous :: array(:)
14291 : type(heapi_type) , intent(in) :: method
14292 : end subroutine
14293 : #endif
14294 :
14295 : #if LK3_ENABLED
14296 : pure module subroutine setSortedArrDefComHeapi_D1_LK3(array, method)
14297 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14298 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_LK3
14299 : #endif
14300 : use pm_kind, only: LKC => LK3
14301 : logical(LKC) , intent(inout) , contiguous :: array(:)
14302 : type(heapi_type) , intent(in) :: method
14303 : end subroutine
14304 : #endif
14305 :
14306 : #if LK2_ENABLED
14307 : pure module subroutine setSortedArrDefComHeapi_D1_LK2(array, method)
14308 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14309 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_LK2
14310 : #endif
14311 : use pm_kind, only: LKC => LK2
14312 : logical(LKC) , intent(inout) , contiguous :: array(:)
14313 : type(heapi_type) , intent(in) :: method
14314 : end subroutine
14315 : #endif
14316 :
14317 : #if LK1_ENABLED
14318 : pure module subroutine setSortedArrDefComHeapi_D1_LK1(array, method)
14319 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14320 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_LK1
14321 : #endif
14322 : use pm_kind, only: LKC => LK1
14323 : logical(LKC) , intent(inout) , contiguous :: array(:)
14324 : type(heapi_type) , intent(in) :: method
14325 : end subroutine
14326 : #endif
14327 :
14328 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14329 :
14330 : #if CK5_ENABLED
14331 : pure module subroutine setSortedArrDefComHeapi_D1_CK5(array, method)
14332 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14333 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_CK5
14334 : #endif
14335 : use pm_kind, only: CKC => CK5
14336 : complex(CKC) , intent(inout) , contiguous :: array(:)
14337 : type(heapi_type) , intent(in) :: method
14338 : end subroutine
14339 : #endif
14340 :
14341 : #if CK4_ENABLED
14342 : pure module subroutine setSortedArrDefComHeapi_D1_CK4(array, method)
14343 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14344 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_CK4
14345 : #endif
14346 : use pm_kind, only: CKC => CK4
14347 : complex(CKC) , intent(inout) , contiguous :: array(:)
14348 : type(heapi_type) , intent(in) :: method
14349 : end subroutine
14350 : #endif
14351 :
14352 : #if CK3_ENABLED
14353 : pure module subroutine setSortedArrDefComHeapi_D1_CK3(array, method)
14354 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14355 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_CK3
14356 : #endif
14357 : use pm_kind, only: CKC => CK3
14358 : complex(CKC) , intent(inout) , contiguous :: array(:)
14359 : type(heapi_type) , intent(in) :: method
14360 : end subroutine
14361 : #endif
14362 :
14363 : #if CK2_ENABLED
14364 : pure module subroutine setSortedArrDefComHeapi_D1_CK2(array, method)
14365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14366 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_CK2
14367 : #endif
14368 : use pm_kind, only: CKC => CK2
14369 : complex(CKC) , intent(inout) , contiguous :: array(:)
14370 : type(heapi_type) , intent(in) :: method
14371 : end subroutine
14372 : #endif
14373 :
14374 : #if CK1_ENABLED
14375 : pure module subroutine setSortedArrDefComHeapi_D1_CK1(array, method)
14376 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14377 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_CK1
14378 : #endif
14379 : use pm_kind, only: CKC => CK1
14380 : complex(CKC) , intent(inout) , contiguous :: array(:)
14381 : type(heapi_type) , intent(in) :: method
14382 : end subroutine
14383 : #endif
14384 :
14385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14386 :
14387 : #if RK5_ENABLED
14388 : pure module subroutine setSortedArrDefComHeapi_D1_RK5(array, method)
14389 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14390 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_RK5
14391 : #endif
14392 : use pm_kind, only: RKC => RK5
14393 : real(RKC) , intent(inout) , contiguous :: array(:)
14394 : type(heapi_type) , intent(in) :: method
14395 : end subroutine
14396 : #endif
14397 :
14398 : #if RK4_ENABLED
14399 : pure module subroutine setSortedArrDefComHeapi_D1_RK4(array, method)
14400 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14401 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_RK4
14402 : #endif
14403 : use pm_kind, only: RKC => RK4
14404 : real(RKC) , intent(inout) , contiguous :: array(:)
14405 : type(heapi_type) , intent(in) :: method
14406 : end subroutine
14407 : #endif
14408 :
14409 : #if RK3_ENABLED
14410 : pure module subroutine setSortedArrDefComHeapi_D1_RK3(array, method)
14411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14412 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_RK3
14413 : #endif
14414 : use pm_kind, only: RKC => RK3
14415 : real(RKC) , intent(inout) , contiguous :: array(:)
14416 : type(heapi_type) , intent(in) :: method
14417 : end subroutine
14418 : #endif
14419 :
14420 : #if RK2_ENABLED
14421 : pure module subroutine setSortedArrDefComHeapi_D1_RK2(array, method)
14422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14423 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_RK2
14424 : #endif
14425 : use pm_kind, only: RKC => RK2
14426 : real(RKC) , intent(inout) , contiguous :: array(:)
14427 : type(heapi_type) , intent(in) :: method
14428 : end subroutine
14429 : #endif
14430 :
14431 : #if RK1_ENABLED
14432 : pure module subroutine setSortedArrDefComHeapi_D1_RK1(array, method)
14433 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14434 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_RK1
14435 : #endif
14436 : use pm_kind, only: RKC => RK1
14437 : real(RKC) , intent(inout) , contiguous :: array(:)
14438 : type(heapi_type) , intent(in) :: method
14439 : end subroutine
14440 : #endif
14441 :
14442 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14443 :
14444 : #if SK5_ENABLED
14445 : pure module subroutine setSortedArrDefComHeapi_D1_PSSK5(array, method)
14446 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14447 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_PSSK5
14448 : #endif
14449 : use pm_kind, only: SKC => SK5
14450 : use pm_container, only: css_pdt
14451 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14452 : type(heapi_type) , intent(in) :: method
14453 : end subroutine
14454 : #endif
14455 :
14456 : #if SK4_ENABLED
14457 : pure module subroutine setSortedArrDefComHeapi_D1_PSSK4(array, method)
14458 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14459 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_PSSK4
14460 : #endif
14461 : use pm_kind, only: SKC => SK4
14462 : use pm_container, only: css_pdt
14463 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14464 : type(heapi_type) , intent(in) :: method
14465 : end subroutine
14466 : #endif
14467 :
14468 : #if SK3_ENABLED
14469 : pure module subroutine setSortedArrDefComHeapi_D1_PSSK3(array, method)
14470 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14471 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_PSSK3
14472 : #endif
14473 : use pm_kind, only: SKC => SK3
14474 : use pm_container, only: css_pdt
14475 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14476 : type(heapi_type) , intent(in) :: method
14477 : end subroutine
14478 : #endif
14479 :
14480 : #if SK2_ENABLED
14481 : pure module subroutine setSortedArrDefComHeapi_D1_PSSK2(array, method)
14482 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14483 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_PSSK2
14484 : #endif
14485 : use pm_kind, only: SKC => SK2
14486 : use pm_container, only: css_pdt
14487 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14488 : type(heapi_type) , intent(in) :: method
14489 : end subroutine
14490 : #endif
14491 :
14492 : #if SK1_ENABLED
14493 : pure module subroutine setSortedArrDefComHeapi_D1_PSSK1(array, method)
14494 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14495 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_PSSK1
14496 : #endif
14497 : use pm_kind, only: SKC => SK1
14498 : use pm_container, only: css_pdt
14499 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14500 : type(heapi_type) , intent(in) :: method
14501 : end subroutine
14502 : #endif
14503 :
14504 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14505 :
14506 : pure module subroutine setSortedArrDefComHeapi_D1_BSSK(array, method)
14507 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14508 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapi_D1_BSSK
14509 : #endif
14510 : use pm_kind, only: SKC => SK
14511 : use pm_container, only: css_type
14512 : type(css_type) , intent(inout) , contiguous :: array(:)
14513 : type(heapi_type) , intent(in) :: method
14514 : end subroutine
14515 :
14516 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14517 :
14518 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14519 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14520 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14521 :
14522 : end interface
14523 :
14524 : ! setSortedArrDefComHeapr
14525 :
14526 : interface setSorted
14527 :
14528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14529 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14530 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14531 :
14532 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14533 :
14534 : #if SK5_ENABLED
14535 : pure module subroutine setSortedArrDefComHeapr_D0_SK5(array, method)
14536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14537 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D0_SK5
14538 : #endif
14539 : use pm_kind, only: SKC => SK5
14540 : character(*,SKC) , intent(inout) :: array
14541 : type(heapr_type) , intent(in) :: method
14542 : end subroutine
14543 : #endif
14544 :
14545 : #if SK4_ENABLED
14546 : pure module subroutine setSortedArrDefComHeapr_D0_SK4(array, method)
14547 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14548 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D0_SK4
14549 : #endif
14550 : use pm_kind, only: SKC => SK4
14551 : character(*,SKC) , intent(inout) :: array
14552 : type(heapr_type) , intent(in) :: method
14553 : end subroutine
14554 : #endif
14555 :
14556 : #if SK3_ENABLED
14557 : pure module subroutine setSortedArrDefComHeapr_D0_SK3(array, method)
14558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14559 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D0_SK3
14560 : #endif
14561 : use pm_kind, only: SKC => SK3
14562 : character(*,SKC) , intent(inout) :: array
14563 : type(heapr_type) , intent(in) :: method
14564 : end subroutine
14565 : #endif
14566 :
14567 : #if SK2_ENABLED
14568 : pure module subroutine setSortedArrDefComHeapr_D0_SK2(array, method)
14569 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14570 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D0_SK2
14571 : #endif
14572 : use pm_kind, only: SKC => SK2
14573 : character(*,SKC) , intent(inout) :: array
14574 : type(heapr_type) , intent(in) :: method
14575 : end subroutine
14576 : #endif
14577 :
14578 : #if SK1_ENABLED
14579 : pure module subroutine setSortedArrDefComHeapr_D0_SK1(array, method)
14580 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14581 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D0_SK1
14582 : #endif
14583 : use pm_kind, only: SKC => SK1
14584 : character(*,SKC) , intent(inout) :: array
14585 : type(heapr_type) , intent(in) :: method
14586 : end subroutine
14587 : #endif
14588 :
14589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14590 :
14591 : #if SK5_ENABLED
14592 : pure module subroutine setSortedArrDefComHeapr_D1_SK5(array, method)
14593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14594 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_SK5
14595 : #endif
14596 : use pm_kind, only: SKC => SK5
14597 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14598 : type(heapr_type) , intent(in) :: method
14599 : end subroutine
14600 : #endif
14601 :
14602 : #if SK4_ENABLED
14603 : pure module subroutine setSortedArrDefComHeapr_D1_SK4(array, method)
14604 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14605 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_SK4
14606 : #endif
14607 : use pm_kind, only: SKC => SK4
14608 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14609 : type(heapr_type) , intent(in) :: method
14610 : end subroutine
14611 : #endif
14612 :
14613 : #if SK3_ENABLED
14614 : pure module subroutine setSortedArrDefComHeapr_D1_SK3(array, method)
14615 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14616 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_SK3
14617 : #endif
14618 : use pm_kind, only: SKC => SK3
14619 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14620 : type(heapr_type) , intent(in) :: method
14621 : end subroutine
14622 : #endif
14623 :
14624 : #if SK2_ENABLED
14625 : pure module subroutine setSortedArrDefComHeapr_D1_SK2(array, method)
14626 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14627 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_SK2
14628 : #endif
14629 : use pm_kind, only: SKC => SK2
14630 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14631 : type(heapr_type) , intent(in) :: method
14632 : end subroutine
14633 : #endif
14634 :
14635 : #if SK1_ENABLED
14636 : pure module subroutine setSortedArrDefComHeapr_D1_SK1(array, method)
14637 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14638 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_SK1
14639 : #endif
14640 : use pm_kind, only: SKC => SK1
14641 : character(*,SKC) , intent(inout) , contiguous :: array(:)
14642 : type(heapr_type) , intent(in) :: method
14643 : end subroutine
14644 : #endif
14645 :
14646 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14647 :
14648 : #if IK5_ENABLED
14649 : pure module subroutine setSortedArrDefComHeapr_D1_IK5(array, method)
14650 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14651 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_IK5
14652 : #endif
14653 : use pm_kind, only: IKC => IK5
14654 : integer(IKC) , intent(inout) , contiguous :: array(:)
14655 : type(heapr_type) , intent(in) :: method
14656 : end subroutine
14657 : #endif
14658 :
14659 : #if IK4_ENABLED
14660 : pure module subroutine setSortedArrDefComHeapr_D1_IK4(array, method)
14661 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14662 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_IK4
14663 : #endif
14664 : use pm_kind, only: IKC => IK4
14665 : integer(IKC) , intent(inout) , contiguous :: array(:)
14666 : type(heapr_type) , intent(in) :: method
14667 : end subroutine
14668 : #endif
14669 :
14670 : #if IK3_ENABLED
14671 : pure module subroutine setSortedArrDefComHeapr_D1_IK3(array, method)
14672 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14673 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_IK3
14674 : #endif
14675 : use pm_kind, only: IKC => IK3
14676 : integer(IKC) , intent(inout) , contiguous :: array(:)
14677 : type(heapr_type) , intent(in) :: method
14678 : end subroutine
14679 : #endif
14680 :
14681 : #if IK2_ENABLED
14682 : pure module subroutine setSortedArrDefComHeapr_D1_IK2(array, method)
14683 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14684 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_IK2
14685 : #endif
14686 : use pm_kind, only: IKC => IK2
14687 : integer(IKC) , intent(inout) , contiguous :: array(:)
14688 : type(heapr_type) , intent(in) :: method
14689 : end subroutine
14690 : #endif
14691 :
14692 : #if IK1_ENABLED
14693 : pure module subroutine setSortedArrDefComHeapr_D1_IK1(array, method)
14694 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14695 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_IK1
14696 : #endif
14697 : use pm_kind, only: IKC => IK1
14698 : integer(IKC) , intent(inout) , contiguous :: array(:)
14699 : type(heapr_type) , intent(in) :: method
14700 : end subroutine
14701 : #endif
14702 :
14703 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14704 :
14705 : #if LK5_ENABLED
14706 : pure module subroutine setSortedArrDefComHeapr_D1_LK5(array, method)
14707 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14708 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_LK5
14709 : #endif
14710 : use pm_kind, only: LKC => LK5
14711 : logical(LKC) , intent(inout) , contiguous :: array(:)
14712 : type(heapr_type) , intent(in) :: method
14713 : end subroutine
14714 : #endif
14715 :
14716 : #if LK4_ENABLED
14717 : pure module subroutine setSortedArrDefComHeapr_D1_LK4(array, method)
14718 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14719 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_LK4
14720 : #endif
14721 : use pm_kind, only: LKC => LK4
14722 : logical(LKC) , intent(inout) , contiguous :: array(:)
14723 : type(heapr_type) , intent(in) :: method
14724 : end subroutine
14725 : #endif
14726 :
14727 : #if LK3_ENABLED
14728 : pure module subroutine setSortedArrDefComHeapr_D1_LK3(array, method)
14729 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14730 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_LK3
14731 : #endif
14732 : use pm_kind, only: LKC => LK3
14733 : logical(LKC) , intent(inout) , contiguous :: array(:)
14734 : type(heapr_type) , intent(in) :: method
14735 : end subroutine
14736 : #endif
14737 :
14738 : #if LK2_ENABLED
14739 : pure module subroutine setSortedArrDefComHeapr_D1_LK2(array, method)
14740 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14741 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_LK2
14742 : #endif
14743 : use pm_kind, only: LKC => LK2
14744 : logical(LKC) , intent(inout) , contiguous :: array(:)
14745 : type(heapr_type) , intent(in) :: method
14746 : end subroutine
14747 : #endif
14748 :
14749 : #if LK1_ENABLED
14750 : pure module subroutine setSortedArrDefComHeapr_D1_LK1(array, method)
14751 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14752 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_LK1
14753 : #endif
14754 : use pm_kind, only: LKC => LK1
14755 : logical(LKC) , intent(inout) , contiguous :: array(:)
14756 : type(heapr_type) , intent(in) :: method
14757 : end subroutine
14758 : #endif
14759 :
14760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14761 :
14762 : #if CK5_ENABLED
14763 : pure module subroutine setSortedArrDefComHeapr_D1_CK5(array, method)
14764 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14765 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_CK5
14766 : #endif
14767 : use pm_kind, only: CKC => CK5
14768 : complex(CKC) , intent(inout) , contiguous :: array(:)
14769 : type(heapr_type) , intent(in) :: method
14770 : end subroutine
14771 : #endif
14772 :
14773 : #if CK4_ENABLED
14774 : pure module subroutine setSortedArrDefComHeapr_D1_CK4(array, method)
14775 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14776 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_CK4
14777 : #endif
14778 : use pm_kind, only: CKC => CK4
14779 : complex(CKC) , intent(inout) , contiguous :: array(:)
14780 : type(heapr_type) , intent(in) :: method
14781 : end subroutine
14782 : #endif
14783 :
14784 : #if CK3_ENABLED
14785 : pure module subroutine setSortedArrDefComHeapr_D1_CK3(array, method)
14786 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14787 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_CK3
14788 : #endif
14789 : use pm_kind, only: CKC => CK3
14790 : complex(CKC) , intent(inout) , contiguous :: array(:)
14791 : type(heapr_type) , intent(in) :: method
14792 : end subroutine
14793 : #endif
14794 :
14795 : #if CK2_ENABLED
14796 : pure module subroutine setSortedArrDefComHeapr_D1_CK2(array, method)
14797 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14798 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_CK2
14799 : #endif
14800 : use pm_kind, only: CKC => CK2
14801 : complex(CKC) , intent(inout) , contiguous :: array(:)
14802 : type(heapr_type) , intent(in) :: method
14803 : end subroutine
14804 : #endif
14805 :
14806 : #if CK1_ENABLED
14807 : pure module subroutine setSortedArrDefComHeapr_D1_CK1(array, method)
14808 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14809 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_CK1
14810 : #endif
14811 : use pm_kind, only: CKC => CK1
14812 : complex(CKC) , intent(inout) , contiguous :: array(:)
14813 : type(heapr_type) , intent(in) :: method
14814 : end subroutine
14815 : #endif
14816 :
14817 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14818 :
14819 : #if RK5_ENABLED
14820 : pure module subroutine setSortedArrDefComHeapr_D1_RK5(array, method)
14821 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14822 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_RK5
14823 : #endif
14824 : use pm_kind, only: RKC => RK5
14825 : real(RKC) , intent(inout) , contiguous :: array(:)
14826 : type(heapr_type) , intent(in) :: method
14827 : end subroutine
14828 : #endif
14829 :
14830 : #if RK4_ENABLED
14831 : pure module subroutine setSortedArrDefComHeapr_D1_RK4(array, method)
14832 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14833 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_RK4
14834 : #endif
14835 : use pm_kind, only: RKC => RK4
14836 : real(RKC) , intent(inout) , contiguous :: array(:)
14837 : type(heapr_type) , intent(in) :: method
14838 : end subroutine
14839 : #endif
14840 :
14841 : #if RK3_ENABLED
14842 : pure module subroutine setSortedArrDefComHeapr_D1_RK3(array, method)
14843 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14844 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_RK3
14845 : #endif
14846 : use pm_kind, only: RKC => RK3
14847 : real(RKC) , intent(inout) , contiguous :: array(:)
14848 : type(heapr_type) , intent(in) :: method
14849 : end subroutine
14850 : #endif
14851 :
14852 : #if RK2_ENABLED
14853 : pure module subroutine setSortedArrDefComHeapr_D1_RK2(array, method)
14854 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14855 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_RK2
14856 : #endif
14857 : use pm_kind, only: RKC => RK2
14858 : real(RKC) , intent(inout) , contiguous :: array(:)
14859 : type(heapr_type) , intent(in) :: method
14860 : end subroutine
14861 : #endif
14862 :
14863 : #if RK1_ENABLED
14864 : pure module subroutine setSortedArrDefComHeapr_D1_RK1(array, method)
14865 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14866 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_RK1
14867 : #endif
14868 : use pm_kind, only: RKC => RK1
14869 : real(RKC) , intent(inout) , contiguous :: array(:)
14870 : type(heapr_type) , intent(in) :: method
14871 : end subroutine
14872 : #endif
14873 :
14874 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14875 :
14876 : #if SK5_ENABLED
14877 : pure module subroutine setSortedArrDefComHeapr_D1_PSSK5(array, method)
14878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14879 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_PSSK5
14880 : #endif
14881 : use pm_kind, only: SKC => SK5
14882 : use pm_container, only: css_pdt
14883 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14884 : type(heapr_type) , intent(in) :: method
14885 : end subroutine
14886 : #endif
14887 :
14888 : #if SK4_ENABLED
14889 : pure module subroutine setSortedArrDefComHeapr_D1_PSSK4(array, method)
14890 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14891 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_PSSK4
14892 : #endif
14893 : use pm_kind, only: SKC => SK4
14894 : use pm_container, only: css_pdt
14895 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14896 : type(heapr_type) , intent(in) :: method
14897 : end subroutine
14898 : #endif
14899 :
14900 : #if SK3_ENABLED
14901 : pure module subroutine setSortedArrDefComHeapr_D1_PSSK3(array, method)
14902 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14903 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_PSSK3
14904 : #endif
14905 : use pm_kind, only: SKC => SK3
14906 : use pm_container, only: css_pdt
14907 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14908 : type(heapr_type) , intent(in) :: method
14909 : end subroutine
14910 : #endif
14911 :
14912 : #if SK2_ENABLED
14913 : pure module subroutine setSortedArrDefComHeapr_D1_PSSK2(array, method)
14914 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14915 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_PSSK2
14916 : #endif
14917 : use pm_kind, only: SKC => SK2
14918 : use pm_container, only: css_pdt
14919 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14920 : type(heapr_type) , intent(in) :: method
14921 : end subroutine
14922 : #endif
14923 :
14924 : #if SK1_ENABLED
14925 : pure module subroutine setSortedArrDefComHeapr_D1_PSSK1(array, method)
14926 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14927 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_PSSK1
14928 : #endif
14929 : use pm_kind, only: SKC => SK1
14930 : use pm_container, only: css_pdt
14931 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
14932 : type(heapr_type) , intent(in) :: method
14933 : end subroutine
14934 : #endif
14935 :
14936 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14937 :
14938 : pure module subroutine setSortedArrDefComHeapr_D1_BSSK(array, method)
14939 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14940 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComHeapr_D1_BSSK
14941 : #endif
14942 : use pm_kind, only: SKC => SK
14943 : use pm_container, only: css_type
14944 : type(css_type) , intent(inout) , contiguous :: array(:)
14945 : type(heapr_type) , intent(in) :: method
14946 : end subroutine
14947 :
14948 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14949 :
14950 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14951 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14952 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14953 :
14954 : end interface
14955 :
14956 : ! setSortedArrDefComInsertionl
14957 :
14958 : interface setSorted
14959 :
14960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14961 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14962 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14963 :
14964 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14965 :
14966 : #if SK5_ENABLED
14967 : pure module subroutine setSortedArrDefComInsertionl_D0_SK5(array, method)
14968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14969 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D0_SK5
14970 : #endif
14971 : use pm_kind, only: SKC => SK5
14972 : character(*,SKC) , intent(inout) :: array
14973 : type(insertionl_type) , intent(in) :: method
14974 : end subroutine
14975 : #endif
14976 :
14977 : #if SK4_ENABLED
14978 : pure module subroutine setSortedArrDefComInsertionl_D0_SK4(array, method)
14979 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14980 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D0_SK4
14981 : #endif
14982 : use pm_kind, only: SKC => SK4
14983 : character(*,SKC) , intent(inout) :: array
14984 : type(insertionl_type) , intent(in) :: method
14985 : end subroutine
14986 : #endif
14987 :
14988 : #if SK3_ENABLED
14989 : pure module subroutine setSortedArrDefComInsertionl_D0_SK3(array, method)
14990 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14991 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D0_SK3
14992 : #endif
14993 : use pm_kind, only: SKC => SK3
14994 : character(*,SKC) , intent(inout) :: array
14995 : type(insertionl_type) , intent(in) :: method
14996 : end subroutine
14997 : #endif
14998 :
14999 : #if SK2_ENABLED
15000 : pure module subroutine setSortedArrDefComInsertionl_D0_SK2(array, method)
15001 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15002 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D0_SK2
15003 : #endif
15004 : use pm_kind, only: SKC => SK2
15005 : character(*,SKC) , intent(inout) :: array
15006 : type(insertionl_type) , intent(in) :: method
15007 : end subroutine
15008 : #endif
15009 :
15010 : #if SK1_ENABLED
15011 : pure module subroutine setSortedArrDefComInsertionl_D0_SK1(array, method)
15012 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15013 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D0_SK1
15014 : #endif
15015 : use pm_kind, only: SKC => SK1
15016 : character(*,SKC) , intent(inout) :: array
15017 : type(insertionl_type) , intent(in) :: method
15018 : end subroutine
15019 : #endif
15020 :
15021 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15022 :
15023 : #if SK5_ENABLED
15024 : pure module subroutine setSortedArrDefComInsertionl_D1_SK5(array, method)
15025 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15026 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_SK5
15027 : #endif
15028 : use pm_kind, only: SKC => SK5
15029 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15030 : type(insertionl_type) , intent(in) :: method
15031 : end subroutine
15032 : #endif
15033 :
15034 : #if SK4_ENABLED
15035 : pure module subroutine setSortedArrDefComInsertionl_D1_SK4(array, method)
15036 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15037 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_SK4
15038 : #endif
15039 : use pm_kind, only: SKC => SK4
15040 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15041 : type(insertionl_type) , intent(in) :: method
15042 : end subroutine
15043 : #endif
15044 :
15045 : #if SK3_ENABLED
15046 : pure module subroutine setSortedArrDefComInsertionl_D1_SK3(array, method)
15047 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15048 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_SK3
15049 : #endif
15050 : use pm_kind, only: SKC => SK3
15051 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15052 : type(insertionl_type) , intent(in) :: method
15053 : end subroutine
15054 : #endif
15055 :
15056 : #if SK2_ENABLED
15057 : pure module subroutine setSortedArrDefComInsertionl_D1_SK2(array, method)
15058 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15059 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_SK2
15060 : #endif
15061 : use pm_kind, only: SKC => SK2
15062 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15063 : type(insertionl_type) , intent(in) :: method
15064 : end subroutine
15065 : #endif
15066 :
15067 : #if SK1_ENABLED
15068 : pure module subroutine setSortedArrDefComInsertionl_D1_SK1(array, method)
15069 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15070 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_SK1
15071 : #endif
15072 : use pm_kind, only: SKC => SK1
15073 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15074 : type(insertionl_type) , intent(in) :: method
15075 : end subroutine
15076 : #endif
15077 :
15078 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15079 :
15080 : #if IK5_ENABLED
15081 : pure module subroutine setSortedArrDefComInsertionl_D1_IK5(array, method)
15082 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15083 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_IK5
15084 : #endif
15085 : use pm_kind, only: IKC => IK5
15086 : integer(IKC) , intent(inout) , contiguous :: array(:)
15087 : type(insertionl_type) , intent(in) :: method
15088 : end subroutine
15089 : #endif
15090 :
15091 : #if IK4_ENABLED
15092 : pure module subroutine setSortedArrDefComInsertionl_D1_IK4(array, method)
15093 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15094 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_IK4
15095 : #endif
15096 : use pm_kind, only: IKC => IK4
15097 : integer(IKC) , intent(inout) , contiguous :: array(:)
15098 : type(insertionl_type) , intent(in) :: method
15099 : end subroutine
15100 : #endif
15101 :
15102 : #if IK3_ENABLED
15103 : pure module subroutine setSortedArrDefComInsertionl_D1_IK3(array, method)
15104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_IK3
15106 : #endif
15107 : use pm_kind, only: IKC => IK3
15108 : integer(IKC) , intent(inout) , contiguous :: array(:)
15109 : type(insertionl_type) , intent(in) :: method
15110 : end subroutine
15111 : #endif
15112 :
15113 : #if IK2_ENABLED
15114 : pure module subroutine setSortedArrDefComInsertionl_D1_IK2(array, method)
15115 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15116 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_IK2
15117 : #endif
15118 : use pm_kind, only: IKC => IK2
15119 : integer(IKC) , intent(inout) , contiguous :: array(:)
15120 : type(insertionl_type) , intent(in) :: method
15121 : end subroutine
15122 : #endif
15123 :
15124 : #if IK1_ENABLED
15125 : pure module subroutine setSortedArrDefComInsertionl_D1_IK1(array, method)
15126 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15127 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_IK1
15128 : #endif
15129 : use pm_kind, only: IKC => IK1
15130 : integer(IKC) , intent(inout) , contiguous :: array(:)
15131 : type(insertionl_type) , intent(in) :: method
15132 : end subroutine
15133 : #endif
15134 :
15135 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15136 :
15137 : #if LK5_ENABLED
15138 : pure module subroutine setSortedArrDefComInsertionl_D1_LK5(array, method)
15139 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15140 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_LK5
15141 : #endif
15142 : use pm_kind, only: LKC => LK5
15143 : logical(LKC) , intent(inout) , contiguous :: array(:)
15144 : type(insertionl_type) , intent(in) :: method
15145 : end subroutine
15146 : #endif
15147 :
15148 : #if LK4_ENABLED
15149 : pure module subroutine setSortedArrDefComInsertionl_D1_LK4(array, method)
15150 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15151 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_LK4
15152 : #endif
15153 : use pm_kind, only: LKC => LK4
15154 : logical(LKC) , intent(inout) , contiguous :: array(:)
15155 : type(insertionl_type) , intent(in) :: method
15156 : end subroutine
15157 : #endif
15158 :
15159 : #if LK3_ENABLED
15160 : pure module subroutine setSortedArrDefComInsertionl_D1_LK3(array, method)
15161 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15162 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_LK3
15163 : #endif
15164 : use pm_kind, only: LKC => LK3
15165 : logical(LKC) , intent(inout) , contiguous :: array(:)
15166 : type(insertionl_type) , intent(in) :: method
15167 : end subroutine
15168 : #endif
15169 :
15170 : #if LK2_ENABLED
15171 : pure module subroutine setSortedArrDefComInsertionl_D1_LK2(array, method)
15172 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15173 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_LK2
15174 : #endif
15175 : use pm_kind, only: LKC => LK2
15176 : logical(LKC) , intent(inout) , contiguous :: array(:)
15177 : type(insertionl_type) , intent(in) :: method
15178 : end subroutine
15179 : #endif
15180 :
15181 : #if LK1_ENABLED
15182 : pure module subroutine setSortedArrDefComInsertionl_D1_LK1(array, method)
15183 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15184 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_LK1
15185 : #endif
15186 : use pm_kind, only: LKC => LK1
15187 : logical(LKC) , intent(inout) , contiguous :: array(:)
15188 : type(insertionl_type) , intent(in) :: method
15189 : end subroutine
15190 : #endif
15191 :
15192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15193 :
15194 : #if CK5_ENABLED
15195 : pure module subroutine setSortedArrDefComInsertionl_D1_CK5(array, method)
15196 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15197 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_CK5
15198 : #endif
15199 : use pm_kind, only: CKC => CK5
15200 : complex(CKC) , intent(inout) , contiguous :: array(:)
15201 : type(insertionl_type) , intent(in) :: method
15202 : end subroutine
15203 : #endif
15204 :
15205 : #if CK4_ENABLED
15206 : pure module subroutine setSortedArrDefComInsertionl_D1_CK4(array, method)
15207 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15208 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_CK4
15209 : #endif
15210 : use pm_kind, only: CKC => CK4
15211 : complex(CKC) , intent(inout) , contiguous :: array(:)
15212 : type(insertionl_type) , intent(in) :: method
15213 : end subroutine
15214 : #endif
15215 :
15216 : #if CK3_ENABLED
15217 : pure module subroutine setSortedArrDefComInsertionl_D1_CK3(array, method)
15218 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15219 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_CK3
15220 : #endif
15221 : use pm_kind, only: CKC => CK3
15222 : complex(CKC) , intent(inout) , contiguous :: array(:)
15223 : type(insertionl_type) , intent(in) :: method
15224 : end subroutine
15225 : #endif
15226 :
15227 : #if CK2_ENABLED
15228 : pure module subroutine setSortedArrDefComInsertionl_D1_CK2(array, method)
15229 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15230 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_CK2
15231 : #endif
15232 : use pm_kind, only: CKC => CK2
15233 : complex(CKC) , intent(inout) , contiguous :: array(:)
15234 : type(insertionl_type) , intent(in) :: method
15235 : end subroutine
15236 : #endif
15237 :
15238 : #if CK1_ENABLED
15239 : pure module subroutine setSortedArrDefComInsertionl_D1_CK1(array, method)
15240 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15241 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_CK1
15242 : #endif
15243 : use pm_kind, only: CKC => CK1
15244 : complex(CKC) , intent(inout) , contiguous :: array(:)
15245 : type(insertionl_type) , intent(in) :: method
15246 : end subroutine
15247 : #endif
15248 :
15249 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15250 :
15251 : #if RK5_ENABLED
15252 : pure module subroutine setSortedArrDefComInsertionl_D1_RK5(array, method)
15253 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15254 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_RK5
15255 : #endif
15256 : use pm_kind, only: RKC => RK5
15257 : real(RKC) , intent(inout) , contiguous :: array(:)
15258 : type(insertionl_type) , intent(in) :: method
15259 : end subroutine
15260 : #endif
15261 :
15262 : #if RK4_ENABLED
15263 : pure module subroutine setSortedArrDefComInsertionl_D1_RK4(array, method)
15264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15265 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_RK4
15266 : #endif
15267 : use pm_kind, only: RKC => RK4
15268 : real(RKC) , intent(inout) , contiguous :: array(:)
15269 : type(insertionl_type) , intent(in) :: method
15270 : end subroutine
15271 : #endif
15272 :
15273 : #if RK3_ENABLED
15274 : pure module subroutine setSortedArrDefComInsertionl_D1_RK3(array, method)
15275 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15276 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_RK3
15277 : #endif
15278 : use pm_kind, only: RKC => RK3
15279 : real(RKC) , intent(inout) , contiguous :: array(:)
15280 : type(insertionl_type) , intent(in) :: method
15281 : end subroutine
15282 : #endif
15283 :
15284 : #if RK2_ENABLED
15285 : pure module subroutine setSortedArrDefComInsertionl_D1_RK2(array, method)
15286 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15287 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_RK2
15288 : #endif
15289 : use pm_kind, only: RKC => RK2
15290 : real(RKC) , intent(inout) , contiguous :: array(:)
15291 : type(insertionl_type) , intent(in) :: method
15292 : end subroutine
15293 : #endif
15294 :
15295 : #if RK1_ENABLED
15296 : pure module subroutine setSortedArrDefComInsertionl_D1_RK1(array, method)
15297 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15298 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_RK1
15299 : #endif
15300 : use pm_kind, only: RKC => RK1
15301 : real(RKC) , intent(inout) , contiguous :: array(:)
15302 : type(insertionl_type) , intent(in) :: method
15303 : end subroutine
15304 : #endif
15305 :
15306 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15307 :
15308 : #if SK5_ENABLED
15309 : pure module subroutine setSortedArrDefComInsertionl_D1_PSSK5(array, method)
15310 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15311 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_PSSK5
15312 : #endif
15313 : use pm_kind, only: SKC => SK5
15314 : use pm_container, only: css_pdt
15315 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15316 : type(insertionl_type) , intent(in) :: method
15317 : end subroutine
15318 : #endif
15319 :
15320 : #if SK4_ENABLED
15321 : pure module subroutine setSortedArrDefComInsertionl_D1_PSSK4(array, method)
15322 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15323 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_PSSK4
15324 : #endif
15325 : use pm_kind, only: SKC => SK4
15326 : use pm_container, only: css_pdt
15327 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15328 : type(insertionl_type) , intent(in) :: method
15329 : end subroutine
15330 : #endif
15331 :
15332 : #if SK3_ENABLED
15333 : pure module subroutine setSortedArrDefComInsertionl_D1_PSSK3(array, method)
15334 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15335 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_PSSK3
15336 : #endif
15337 : use pm_kind, only: SKC => SK3
15338 : use pm_container, only: css_pdt
15339 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15340 : type(insertionl_type) , intent(in) :: method
15341 : end subroutine
15342 : #endif
15343 :
15344 : #if SK2_ENABLED
15345 : pure module subroutine setSortedArrDefComInsertionl_D1_PSSK2(array, method)
15346 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15347 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_PSSK2
15348 : #endif
15349 : use pm_kind, only: SKC => SK2
15350 : use pm_container, only: css_pdt
15351 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15352 : type(insertionl_type) , intent(in) :: method
15353 : end subroutine
15354 : #endif
15355 :
15356 : #if SK1_ENABLED
15357 : pure module subroutine setSortedArrDefComInsertionl_D1_PSSK1(array, method)
15358 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15359 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_PSSK1
15360 : #endif
15361 : use pm_kind, only: SKC => SK1
15362 : use pm_container, only: css_pdt
15363 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15364 : type(insertionl_type) , intent(in) :: method
15365 : end subroutine
15366 : #endif
15367 :
15368 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15369 :
15370 : pure module subroutine setSortedArrDefComInsertionl_D1_BSSK(array, method)
15371 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15372 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionl_D1_BSSK
15373 : #endif
15374 : use pm_kind, only: SKC => SK
15375 : use pm_container, only: css_type
15376 : type(css_type) , intent(inout) , contiguous :: array(:)
15377 : type(insertionl_type) , intent(in) :: method
15378 : end subroutine
15379 :
15380 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15381 :
15382 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15383 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15385 :
15386 : end interface
15387 :
15388 : ! setSortedArrDefComInsertionb
15389 :
15390 : interface setSorted
15391 :
15392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15395 :
15396 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15397 :
15398 : #if SK5_ENABLED
15399 : pure module subroutine setSortedArrDefComInsertionb_D0_SK5(array, method)
15400 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15401 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D0_SK5
15402 : #endif
15403 : use pm_kind, only: SKC => SK5
15404 : character(*,SKC) , intent(inout) :: array
15405 : type(insertionb_type) , intent(in) :: method
15406 : end subroutine
15407 : #endif
15408 :
15409 : #if SK4_ENABLED
15410 : pure module subroutine setSortedArrDefComInsertionb_D0_SK4(array, method)
15411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15412 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D0_SK4
15413 : #endif
15414 : use pm_kind, only: SKC => SK4
15415 : character(*,SKC) , intent(inout) :: array
15416 : type(insertionb_type) , intent(in) :: method
15417 : end subroutine
15418 : #endif
15419 :
15420 : #if SK3_ENABLED
15421 : pure module subroutine setSortedArrDefComInsertionb_D0_SK3(array, method)
15422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15423 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D0_SK3
15424 : #endif
15425 : use pm_kind, only: SKC => SK3
15426 : character(*,SKC) , intent(inout) :: array
15427 : type(insertionb_type) , intent(in) :: method
15428 : end subroutine
15429 : #endif
15430 :
15431 : #if SK2_ENABLED
15432 : pure module subroutine setSortedArrDefComInsertionb_D0_SK2(array, method)
15433 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15434 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D0_SK2
15435 : #endif
15436 : use pm_kind, only: SKC => SK2
15437 : character(*,SKC) , intent(inout) :: array
15438 : type(insertionb_type) , intent(in) :: method
15439 : end subroutine
15440 : #endif
15441 :
15442 : #if SK1_ENABLED
15443 : pure module subroutine setSortedArrDefComInsertionb_D0_SK1(array, method)
15444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15445 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D0_SK1
15446 : #endif
15447 : use pm_kind, only: SKC => SK1
15448 : character(*,SKC) , intent(inout) :: array
15449 : type(insertionb_type) , intent(in) :: method
15450 : end subroutine
15451 : #endif
15452 :
15453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15454 :
15455 : #if SK5_ENABLED
15456 : pure module subroutine setSortedArrDefComInsertionb_D1_SK5(array, method)
15457 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15458 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_SK5
15459 : #endif
15460 : use pm_kind, only: SKC => SK5
15461 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15462 : type(insertionb_type) , intent(in) :: method
15463 : end subroutine
15464 : #endif
15465 :
15466 : #if SK4_ENABLED
15467 : pure module subroutine setSortedArrDefComInsertionb_D1_SK4(array, method)
15468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15469 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_SK4
15470 : #endif
15471 : use pm_kind, only: SKC => SK4
15472 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15473 : type(insertionb_type) , intent(in) :: method
15474 : end subroutine
15475 : #endif
15476 :
15477 : #if SK3_ENABLED
15478 : pure module subroutine setSortedArrDefComInsertionb_D1_SK3(array, method)
15479 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15480 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_SK3
15481 : #endif
15482 : use pm_kind, only: SKC => SK3
15483 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15484 : type(insertionb_type) , intent(in) :: method
15485 : end subroutine
15486 : #endif
15487 :
15488 : #if SK2_ENABLED
15489 : pure module subroutine setSortedArrDefComInsertionb_D1_SK2(array, method)
15490 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15491 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_SK2
15492 : #endif
15493 : use pm_kind, only: SKC => SK2
15494 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15495 : type(insertionb_type) , intent(in) :: method
15496 : end subroutine
15497 : #endif
15498 :
15499 : #if SK1_ENABLED
15500 : pure module subroutine setSortedArrDefComInsertionb_D1_SK1(array, method)
15501 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15502 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_SK1
15503 : #endif
15504 : use pm_kind, only: SKC => SK1
15505 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15506 : type(insertionb_type) , intent(in) :: method
15507 : end subroutine
15508 : #endif
15509 :
15510 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15511 :
15512 : #if IK5_ENABLED
15513 : pure module subroutine setSortedArrDefComInsertionb_D1_IK5(array, method)
15514 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15515 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_IK5
15516 : #endif
15517 : use pm_kind, only: IKC => IK5
15518 : integer(IKC) , intent(inout) , contiguous :: array(:)
15519 : type(insertionb_type) , intent(in) :: method
15520 : end subroutine
15521 : #endif
15522 :
15523 : #if IK4_ENABLED
15524 : pure module subroutine setSortedArrDefComInsertionb_D1_IK4(array, method)
15525 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15526 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_IK4
15527 : #endif
15528 : use pm_kind, only: IKC => IK4
15529 : integer(IKC) , intent(inout) , contiguous :: array(:)
15530 : type(insertionb_type) , intent(in) :: method
15531 : end subroutine
15532 : #endif
15533 :
15534 : #if IK3_ENABLED
15535 : pure module subroutine setSortedArrDefComInsertionb_D1_IK3(array, method)
15536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15537 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_IK3
15538 : #endif
15539 : use pm_kind, only: IKC => IK3
15540 : integer(IKC) , intent(inout) , contiguous :: array(:)
15541 : type(insertionb_type) , intent(in) :: method
15542 : end subroutine
15543 : #endif
15544 :
15545 : #if IK2_ENABLED
15546 : pure module subroutine setSortedArrDefComInsertionb_D1_IK2(array, method)
15547 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15548 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_IK2
15549 : #endif
15550 : use pm_kind, only: IKC => IK2
15551 : integer(IKC) , intent(inout) , contiguous :: array(:)
15552 : type(insertionb_type) , intent(in) :: method
15553 : end subroutine
15554 : #endif
15555 :
15556 : #if IK1_ENABLED
15557 : pure module subroutine setSortedArrDefComInsertionb_D1_IK1(array, method)
15558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15559 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_IK1
15560 : #endif
15561 : use pm_kind, only: IKC => IK1
15562 : integer(IKC) , intent(inout) , contiguous :: array(:)
15563 : type(insertionb_type) , intent(in) :: method
15564 : end subroutine
15565 : #endif
15566 :
15567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15568 :
15569 : #if LK5_ENABLED
15570 : pure module subroutine setSortedArrDefComInsertionb_D1_LK5(array, method)
15571 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15572 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_LK5
15573 : #endif
15574 : use pm_kind, only: LKC => LK5
15575 : logical(LKC) , intent(inout) , contiguous :: array(:)
15576 : type(insertionb_type) , intent(in) :: method
15577 : end subroutine
15578 : #endif
15579 :
15580 : #if LK4_ENABLED
15581 : pure module subroutine setSortedArrDefComInsertionb_D1_LK4(array, method)
15582 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15583 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_LK4
15584 : #endif
15585 : use pm_kind, only: LKC => LK4
15586 : logical(LKC) , intent(inout) , contiguous :: array(:)
15587 : type(insertionb_type) , intent(in) :: method
15588 : end subroutine
15589 : #endif
15590 :
15591 : #if LK3_ENABLED
15592 : pure module subroutine setSortedArrDefComInsertionb_D1_LK3(array, method)
15593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15594 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_LK3
15595 : #endif
15596 : use pm_kind, only: LKC => LK3
15597 : logical(LKC) , intent(inout) , contiguous :: array(:)
15598 : type(insertionb_type) , intent(in) :: method
15599 : end subroutine
15600 : #endif
15601 :
15602 : #if LK2_ENABLED
15603 : pure module subroutine setSortedArrDefComInsertionb_D1_LK2(array, method)
15604 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15605 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_LK2
15606 : #endif
15607 : use pm_kind, only: LKC => LK2
15608 : logical(LKC) , intent(inout) , contiguous :: array(:)
15609 : type(insertionb_type) , intent(in) :: method
15610 : end subroutine
15611 : #endif
15612 :
15613 : #if LK1_ENABLED
15614 : pure module subroutine setSortedArrDefComInsertionb_D1_LK1(array, method)
15615 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15616 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_LK1
15617 : #endif
15618 : use pm_kind, only: LKC => LK1
15619 : logical(LKC) , intent(inout) , contiguous :: array(:)
15620 : type(insertionb_type) , intent(in) :: method
15621 : end subroutine
15622 : #endif
15623 :
15624 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15625 :
15626 : #if CK5_ENABLED
15627 : pure module subroutine setSortedArrDefComInsertionb_D1_CK5(array, method)
15628 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15629 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_CK5
15630 : #endif
15631 : use pm_kind, only: CKC => CK5
15632 : complex(CKC) , intent(inout) , contiguous :: array(:)
15633 : type(insertionb_type) , intent(in) :: method
15634 : end subroutine
15635 : #endif
15636 :
15637 : #if CK4_ENABLED
15638 : pure module subroutine setSortedArrDefComInsertionb_D1_CK4(array, method)
15639 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15640 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_CK4
15641 : #endif
15642 : use pm_kind, only: CKC => CK4
15643 : complex(CKC) , intent(inout) , contiguous :: array(:)
15644 : type(insertionb_type) , intent(in) :: method
15645 : end subroutine
15646 : #endif
15647 :
15648 : #if CK3_ENABLED
15649 : pure module subroutine setSortedArrDefComInsertionb_D1_CK3(array, method)
15650 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15651 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_CK3
15652 : #endif
15653 : use pm_kind, only: CKC => CK3
15654 : complex(CKC) , intent(inout) , contiguous :: array(:)
15655 : type(insertionb_type) , intent(in) :: method
15656 : end subroutine
15657 : #endif
15658 :
15659 : #if CK2_ENABLED
15660 : pure module subroutine setSortedArrDefComInsertionb_D1_CK2(array, method)
15661 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15662 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_CK2
15663 : #endif
15664 : use pm_kind, only: CKC => CK2
15665 : complex(CKC) , intent(inout) , contiguous :: array(:)
15666 : type(insertionb_type) , intent(in) :: method
15667 : end subroutine
15668 : #endif
15669 :
15670 : #if CK1_ENABLED
15671 : pure module subroutine setSortedArrDefComInsertionb_D1_CK1(array, method)
15672 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15673 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_CK1
15674 : #endif
15675 : use pm_kind, only: CKC => CK1
15676 : complex(CKC) , intent(inout) , contiguous :: array(:)
15677 : type(insertionb_type) , intent(in) :: method
15678 : end subroutine
15679 : #endif
15680 :
15681 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15682 :
15683 : #if RK5_ENABLED
15684 : pure module subroutine setSortedArrDefComInsertionb_D1_RK5(array, method)
15685 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15686 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_RK5
15687 : #endif
15688 : use pm_kind, only: RKC => RK5
15689 : real(RKC) , intent(inout) , contiguous :: array(:)
15690 : type(insertionb_type) , intent(in) :: method
15691 : end subroutine
15692 : #endif
15693 :
15694 : #if RK4_ENABLED
15695 : pure module subroutine setSortedArrDefComInsertionb_D1_RK4(array, method)
15696 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15697 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_RK4
15698 : #endif
15699 : use pm_kind, only: RKC => RK4
15700 : real(RKC) , intent(inout) , contiguous :: array(:)
15701 : type(insertionb_type) , intent(in) :: method
15702 : end subroutine
15703 : #endif
15704 :
15705 : #if RK3_ENABLED
15706 : pure module subroutine setSortedArrDefComInsertionb_D1_RK3(array, method)
15707 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15708 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_RK3
15709 : #endif
15710 : use pm_kind, only: RKC => RK3
15711 : real(RKC) , intent(inout) , contiguous :: array(:)
15712 : type(insertionb_type) , intent(in) :: method
15713 : end subroutine
15714 : #endif
15715 :
15716 : #if RK2_ENABLED
15717 : pure module subroutine setSortedArrDefComInsertionb_D1_RK2(array, method)
15718 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15719 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_RK2
15720 : #endif
15721 : use pm_kind, only: RKC => RK2
15722 : real(RKC) , intent(inout) , contiguous :: array(:)
15723 : type(insertionb_type) , intent(in) :: method
15724 : end subroutine
15725 : #endif
15726 :
15727 : #if RK1_ENABLED
15728 : pure module subroutine setSortedArrDefComInsertionb_D1_RK1(array, method)
15729 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15730 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_RK1
15731 : #endif
15732 : use pm_kind, only: RKC => RK1
15733 : real(RKC) , intent(inout) , contiguous :: array(:)
15734 : type(insertionb_type) , intent(in) :: method
15735 : end subroutine
15736 : #endif
15737 :
15738 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15739 :
15740 : #if SK5_ENABLED
15741 : pure module subroutine setSortedArrDefComInsertionb_D1_PSSK5(array, method)
15742 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15743 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_PSSK5
15744 : #endif
15745 : use pm_kind, only: SKC => SK5
15746 : use pm_container, only: css_pdt
15747 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15748 : type(insertionb_type) , intent(in) :: method
15749 : end subroutine
15750 : #endif
15751 :
15752 : #if SK4_ENABLED
15753 : pure module subroutine setSortedArrDefComInsertionb_D1_PSSK4(array, method)
15754 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15755 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_PSSK4
15756 : #endif
15757 : use pm_kind, only: SKC => SK4
15758 : use pm_container, only: css_pdt
15759 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15760 : type(insertionb_type) , intent(in) :: method
15761 : end subroutine
15762 : #endif
15763 :
15764 : #if SK3_ENABLED
15765 : pure module subroutine setSortedArrDefComInsertionb_D1_PSSK3(array, method)
15766 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15767 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_PSSK3
15768 : #endif
15769 : use pm_kind, only: SKC => SK3
15770 : use pm_container, only: css_pdt
15771 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15772 : type(insertionb_type) , intent(in) :: method
15773 : end subroutine
15774 : #endif
15775 :
15776 : #if SK2_ENABLED
15777 : pure module subroutine setSortedArrDefComInsertionb_D1_PSSK2(array, method)
15778 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15779 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_PSSK2
15780 : #endif
15781 : use pm_kind, only: SKC => SK2
15782 : use pm_container, only: css_pdt
15783 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15784 : type(insertionb_type) , intent(in) :: method
15785 : end subroutine
15786 : #endif
15787 :
15788 : #if SK1_ENABLED
15789 : pure module subroutine setSortedArrDefComInsertionb_D1_PSSK1(array, method)
15790 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15791 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_PSSK1
15792 : #endif
15793 : use pm_kind, only: SKC => SK1
15794 : use pm_container, only: css_pdt
15795 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
15796 : type(insertionb_type) , intent(in) :: method
15797 : end subroutine
15798 : #endif
15799 :
15800 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15801 :
15802 : pure module subroutine setSortedArrDefComInsertionb_D1_BSSK(array, method)
15803 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15804 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComInsertionb_D1_BSSK
15805 : #endif
15806 : use pm_kind, only: SKC => SK
15807 : use pm_container, only: css_type
15808 : type(css_type) , intent(inout) , contiguous :: array(:)
15809 : type(insertionb_type) , intent(in) :: method
15810 : end subroutine
15811 :
15812 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15813 :
15814 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15815 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15816 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15817 :
15818 : end interface
15819 :
15820 : ! setSortedArrDefComMerger
15821 :
15822 : interface setSorted
15823 :
15824 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15825 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15826 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15827 :
15828 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15829 :
15830 : #if SK5_ENABLED
15831 : PURE recursive module subroutine setSortedArrDefComMerger_D0_SK5(array, method)
15832 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15833 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D0_SK5
15834 : #endif
15835 : use pm_kind, only: SKC => SK5
15836 : character(*,SKC) , intent(inout) :: array
15837 : type(merger_type) , intent(in) :: method
15838 : end subroutine
15839 : #endif
15840 :
15841 : #if SK4_ENABLED
15842 : PURE recursive module subroutine setSortedArrDefComMerger_D0_SK4(array, method)
15843 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15844 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D0_SK4
15845 : #endif
15846 : use pm_kind, only: SKC => SK4
15847 : character(*,SKC) , intent(inout) :: array
15848 : type(merger_type) , intent(in) :: method
15849 : end subroutine
15850 : #endif
15851 :
15852 : #if SK3_ENABLED
15853 : PURE recursive module subroutine setSortedArrDefComMerger_D0_SK3(array, method)
15854 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15855 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D0_SK3
15856 : #endif
15857 : use pm_kind, only: SKC => SK3
15858 : character(*,SKC) , intent(inout) :: array
15859 : type(merger_type) , intent(in) :: method
15860 : end subroutine
15861 : #endif
15862 :
15863 : #if SK2_ENABLED
15864 : PURE recursive module subroutine setSortedArrDefComMerger_D0_SK2(array, method)
15865 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15866 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D0_SK2
15867 : #endif
15868 : use pm_kind, only: SKC => SK2
15869 : character(*,SKC) , intent(inout) :: array
15870 : type(merger_type) , intent(in) :: method
15871 : end subroutine
15872 : #endif
15873 :
15874 : #if SK1_ENABLED
15875 : PURE recursive module subroutine setSortedArrDefComMerger_D0_SK1(array, method)
15876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15877 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D0_SK1
15878 : #endif
15879 : use pm_kind, only: SKC => SK1
15880 : character(*,SKC) , intent(inout) :: array
15881 : type(merger_type) , intent(in) :: method
15882 : end subroutine
15883 : #endif
15884 :
15885 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15886 :
15887 : #if SK5_ENABLED
15888 : PURE recursive module subroutine setSortedArrDefComMerger_D1_SK5(array, method)
15889 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15890 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_SK5
15891 : #endif
15892 : use pm_kind, only: SKC => SK5
15893 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15894 : type(merger_type) , intent(in) :: method
15895 : end subroutine
15896 : #endif
15897 :
15898 : #if SK4_ENABLED
15899 : PURE recursive module subroutine setSortedArrDefComMerger_D1_SK4(array, method)
15900 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15901 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_SK4
15902 : #endif
15903 : use pm_kind, only: SKC => SK4
15904 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15905 : type(merger_type) , intent(in) :: method
15906 : end subroutine
15907 : #endif
15908 :
15909 : #if SK3_ENABLED
15910 : PURE recursive module subroutine setSortedArrDefComMerger_D1_SK3(array, method)
15911 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15912 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_SK3
15913 : #endif
15914 : use pm_kind, only: SKC => SK3
15915 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15916 : type(merger_type) , intent(in) :: method
15917 : end subroutine
15918 : #endif
15919 :
15920 : #if SK2_ENABLED
15921 : PURE recursive module subroutine setSortedArrDefComMerger_D1_SK2(array, method)
15922 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15923 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_SK2
15924 : #endif
15925 : use pm_kind, only: SKC => SK2
15926 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15927 : type(merger_type) , intent(in) :: method
15928 : end subroutine
15929 : #endif
15930 :
15931 : #if SK1_ENABLED
15932 : PURE recursive module subroutine setSortedArrDefComMerger_D1_SK1(array, method)
15933 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15934 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_SK1
15935 : #endif
15936 : use pm_kind, only: SKC => SK1
15937 : character(*,SKC) , intent(inout) , contiguous :: array(:)
15938 : type(merger_type) , intent(in) :: method
15939 : end subroutine
15940 : #endif
15941 :
15942 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15943 :
15944 : #if IK5_ENABLED
15945 : PURE recursive module subroutine setSortedArrDefComMerger_D1_IK5(array, method)
15946 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15947 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_IK5
15948 : #endif
15949 : use pm_kind, only: IKC => IK5
15950 : integer(IKC) , intent(inout) , contiguous :: array(:)
15951 : type(merger_type) , intent(in) :: method
15952 : end subroutine
15953 : #endif
15954 :
15955 : #if IK4_ENABLED
15956 : PURE recursive module subroutine setSortedArrDefComMerger_D1_IK4(array, method)
15957 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15958 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_IK4
15959 : #endif
15960 : use pm_kind, only: IKC => IK4
15961 : integer(IKC) , intent(inout) , contiguous :: array(:)
15962 : type(merger_type) , intent(in) :: method
15963 : end subroutine
15964 : #endif
15965 :
15966 : #if IK3_ENABLED
15967 : PURE recursive module subroutine setSortedArrDefComMerger_D1_IK3(array, method)
15968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15969 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_IK3
15970 : #endif
15971 : use pm_kind, only: IKC => IK3
15972 : integer(IKC) , intent(inout) , contiguous :: array(:)
15973 : type(merger_type) , intent(in) :: method
15974 : end subroutine
15975 : #endif
15976 :
15977 : #if IK2_ENABLED
15978 : PURE recursive module subroutine setSortedArrDefComMerger_D1_IK2(array, method)
15979 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15980 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_IK2
15981 : #endif
15982 : use pm_kind, only: IKC => IK2
15983 : integer(IKC) , intent(inout) , contiguous :: array(:)
15984 : type(merger_type) , intent(in) :: method
15985 : end subroutine
15986 : #endif
15987 :
15988 : #if IK1_ENABLED
15989 : PURE recursive module subroutine setSortedArrDefComMerger_D1_IK1(array, method)
15990 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15991 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_IK1
15992 : #endif
15993 : use pm_kind, only: IKC => IK1
15994 : integer(IKC) , intent(inout) , contiguous :: array(:)
15995 : type(merger_type) , intent(in) :: method
15996 : end subroutine
15997 : #endif
15998 :
15999 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16000 :
16001 : #if LK5_ENABLED
16002 : PURE recursive module subroutine setSortedArrDefComMerger_D1_LK5(array, method)
16003 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16004 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_LK5
16005 : #endif
16006 : use pm_kind, only: LKC => LK5
16007 : logical(LKC) , intent(inout) , contiguous :: array(:)
16008 : type(merger_type) , intent(in) :: method
16009 : end subroutine
16010 : #endif
16011 :
16012 : #if LK4_ENABLED
16013 : PURE recursive module subroutine setSortedArrDefComMerger_D1_LK4(array, method)
16014 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16015 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_LK4
16016 : #endif
16017 : use pm_kind, only: LKC => LK4
16018 : logical(LKC) , intent(inout) , contiguous :: array(:)
16019 : type(merger_type) , intent(in) :: method
16020 : end subroutine
16021 : #endif
16022 :
16023 : #if LK3_ENABLED
16024 : PURE recursive module subroutine setSortedArrDefComMerger_D1_LK3(array, method)
16025 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16026 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_LK3
16027 : #endif
16028 : use pm_kind, only: LKC => LK3
16029 : logical(LKC) , intent(inout) , contiguous :: array(:)
16030 : type(merger_type) , intent(in) :: method
16031 : end subroutine
16032 : #endif
16033 :
16034 : #if LK2_ENABLED
16035 : PURE recursive module subroutine setSortedArrDefComMerger_D1_LK2(array, method)
16036 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16037 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_LK2
16038 : #endif
16039 : use pm_kind, only: LKC => LK2
16040 : logical(LKC) , intent(inout) , contiguous :: array(:)
16041 : type(merger_type) , intent(in) :: method
16042 : end subroutine
16043 : #endif
16044 :
16045 : #if LK1_ENABLED
16046 : PURE recursive module subroutine setSortedArrDefComMerger_D1_LK1(array, method)
16047 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16048 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_LK1
16049 : #endif
16050 : use pm_kind, only: LKC => LK1
16051 : logical(LKC) , intent(inout) , contiguous :: array(:)
16052 : type(merger_type) , intent(in) :: method
16053 : end subroutine
16054 : #endif
16055 :
16056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16057 :
16058 : #if CK5_ENABLED
16059 : PURE recursive module subroutine setSortedArrDefComMerger_D1_CK5(array, method)
16060 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16061 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_CK5
16062 : #endif
16063 : use pm_kind, only: CKC => CK5
16064 : complex(CKC) , intent(inout) , contiguous :: array(:)
16065 : type(merger_type) , intent(in) :: method
16066 : end subroutine
16067 : #endif
16068 :
16069 : #if CK4_ENABLED
16070 : PURE recursive module subroutine setSortedArrDefComMerger_D1_CK4(array, method)
16071 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16072 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_CK4
16073 : #endif
16074 : use pm_kind, only: CKC => CK4
16075 : complex(CKC) , intent(inout) , contiguous :: array(:)
16076 : type(merger_type) , intent(in) :: method
16077 : end subroutine
16078 : #endif
16079 :
16080 : #if CK3_ENABLED
16081 : PURE recursive module subroutine setSortedArrDefComMerger_D1_CK3(array, method)
16082 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16083 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_CK3
16084 : #endif
16085 : use pm_kind, only: CKC => CK3
16086 : complex(CKC) , intent(inout) , contiguous :: array(:)
16087 : type(merger_type) , intent(in) :: method
16088 : end subroutine
16089 : #endif
16090 :
16091 : #if CK2_ENABLED
16092 : PURE recursive module subroutine setSortedArrDefComMerger_D1_CK2(array, method)
16093 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16094 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_CK2
16095 : #endif
16096 : use pm_kind, only: CKC => CK2
16097 : complex(CKC) , intent(inout) , contiguous :: array(:)
16098 : type(merger_type) , intent(in) :: method
16099 : end subroutine
16100 : #endif
16101 :
16102 : #if CK1_ENABLED
16103 : PURE recursive module subroutine setSortedArrDefComMerger_D1_CK1(array, method)
16104 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16105 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_CK1
16106 : #endif
16107 : use pm_kind, only: CKC => CK1
16108 : complex(CKC) , intent(inout) , contiguous :: array(:)
16109 : type(merger_type) , intent(in) :: method
16110 : end subroutine
16111 : #endif
16112 :
16113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16114 :
16115 : #if RK5_ENABLED
16116 : PURE recursive module subroutine setSortedArrDefComMerger_D1_RK5(array, method)
16117 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16118 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_RK5
16119 : #endif
16120 : use pm_kind, only: RKC => RK5
16121 : real(RKC) , intent(inout) , contiguous :: array(:)
16122 : type(merger_type) , intent(in) :: method
16123 : end subroutine
16124 : #endif
16125 :
16126 : #if RK4_ENABLED
16127 : PURE recursive module subroutine setSortedArrDefComMerger_D1_RK4(array, method)
16128 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16129 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_RK4
16130 : #endif
16131 : use pm_kind, only: RKC => RK4
16132 : real(RKC) , intent(inout) , contiguous :: array(:)
16133 : type(merger_type) , intent(in) :: method
16134 : end subroutine
16135 : #endif
16136 :
16137 : #if RK3_ENABLED
16138 : PURE recursive module subroutine setSortedArrDefComMerger_D1_RK3(array, method)
16139 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16140 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_RK3
16141 : #endif
16142 : use pm_kind, only: RKC => RK3
16143 : real(RKC) , intent(inout) , contiguous :: array(:)
16144 : type(merger_type) , intent(in) :: method
16145 : end subroutine
16146 : #endif
16147 :
16148 : #if RK2_ENABLED
16149 : PURE recursive module subroutine setSortedArrDefComMerger_D1_RK2(array, method)
16150 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16151 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_RK2
16152 : #endif
16153 : use pm_kind, only: RKC => RK2
16154 : real(RKC) , intent(inout) , contiguous :: array(:)
16155 : type(merger_type) , intent(in) :: method
16156 : end subroutine
16157 : #endif
16158 :
16159 : #if RK1_ENABLED
16160 : PURE recursive module subroutine setSortedArrDefComMerger_D1_RK1(array, method)
16161 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16162 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_RK1
16163 : #endif
16164 : use pm_kind, only: RKC => RK1
16165 : real(RKC) , intent(inout) , contiguous :: array(:)
16166 : type(merger_type) , intent(in) :: method
16167 : end subroutine
16168 : #endif
16169 :
16170 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16171 :
16172 : #if SK5_ENABLED
16173 : PURE recursive module subroutine setSortedArrDefComMerger_D1_PSSK5(array, method)
16174 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16175 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_PSSK5
16176 : #endif
16177 : use pm_kind, only: SKC => SK5
16178 : use pm_container, only: css_pdt
16179 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16180 : type(merger_type) , intent(in) :: method
16181 : end subroutine
16182 : #endif
16183 :
16184 : #if SK4_ENABLED
16185 : PURE recursive module subroutine setSortedArrDefComMerger_D1_PSSK4(array, method)
16186 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16187 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_PSSK4
16188 : #endif
16189 : use pm_kind, only: SKC => SK4
16190 : use pm_container, only: css_pdt
16191 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16192 : type(merger_type) , intent(in) :: method
16193 : end subroutine
16194 : #endif
16195 :
16196 : #if SK3_ENABLED
16197 : PURE recursive module subroutine setSortedArrDefComMerger_D1_PSSK3(array, method)
16198 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16199 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_PSSK3
16200 : #endif
16201 : use pm_kind, only: SKC => SK3
16202 : use pm_container, only: css_pdt
16203 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16204 : type(merger_type) , intent(in) :: method
16205 : end subroutine
16206 : #endif
16207 :
16208 : #if SK2_ENABLED
16209 : PURE recursive module subroutine setSortedArrDefComMerger_D1_PSSK2(array, method)
16210 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16211 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_PSSK2
16212 : #endif
16213 : use pm_kind, only: SKC => SK2
16214 : use pm_container, only: css_pdt
16215 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16216 : type(merger_type) , intent(in) :: method
16217 : end subroutine
16218 : #endif
16219 :
16220 : #if SK1_ENABLED
16221 : PURE recursive module subroutine setSortedArrDefComMerger_D1_PSSK1(array, method)
16222 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16223 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_PSSK1
16224 : #endif
16225 : use pm_kind, only: SKC => SK1
16226 : use pm_container, only: css_pdt
16227 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16228 : type(merger_type) , intent(in) :: method
16229 : end subroutine
16230 : #endif
16231 :
16232 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16233 :
16234 : PURE recursive module subroutine setSortedArrDefComMerger_D1_BSSK(array, method)
16235 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16236 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComMerger_D1_BSSK
16237 : #endif
16238 : use pm_kind, only: SKC => SK
16239 : use pm_container, only: css_type
16240 : type(css_type) , intent(inout) , contiguous :: array(:)
16241 : type(merger_type) , intent(in) :: method
16242 : end subroutine
16243 :
16244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16245 :
16246 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16247 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16249 :
16250 : end interface
16251 :
16252 : ! setSortedArrDefComSelection
16253 :
16254 : interface setSorted
16255 :
16256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16258 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16259 :
16260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16261 :
16262 : #if SK5_ENABLED
16263 : pure module subroutine setSortedArrDefComSelection_D0_SK5(array, method)
16264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16265 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D0_SK5
16266 : #endif
16267 : use pm_kind, only: SKC => SK5
16268 : character(*,SKC) , intent(inout) :: array
16269 : type(selection_type) , intent(in) :: method
16270 : end subroutine
16271 : #endif
16272 :
16273 : #if SK4_ENABLED
16274 : pure module subroutine setSortedArrDefComSelection_D0_SK4(array, method)
16275 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16276 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D0_SK4
16277 : #endif
16278 : use pm_kind, only: SKC => SK4
16279 : character(*,SKC) , intent(inout) :: array
16280 : type(selection_type) , intent(in) :: method
16281 : end subroutine
16282 : #endif
16283 :
16284 : #if SK3_ENABLED
16285 : pure module subroutine setSortedArrDefComSelection_D0_SK3(array, method)
16286 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16287 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D0_SK3
16288 : #endif
16289 : use pm_kind, only: SKC => SK3
16290 : character(*,SKC) , intent(inout) :: array
16291 : type(selection_type) , intent(in) :: method
16292 : end subroutine
16293 : #endif
16294 :
16295 : #if SK2_ENABLED
16296 : pure module subroutine setSortedArrDefComSelection_D0_SK2(array, method)
16297 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16298 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D0_SK2
16299 : #endif
16300 : use pm_kind, only: SKC => SK2
16301 : character(*,SKC) , intent(inout) :: array
16302 : type(selection_type) , intent(in) :: method
16303 : end subroutine
16304 : #endif
16305 :
16306 : #if SK1_ENABLED
16307 : pure module subroutine setSortedArrDefComSelection_D0_SK1(array, method)
16308 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16309 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D0_SK1
16310 : #endif
16311 : use pm_kind, only: SKC => SK1
16312 : character(*,SKC) , intent(inout) :: array
16313 : type(selection_type) , intent(in) :: method
16314 : end subroutine
16315 : #endif
16316 :
16317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16318 :
16319 : #if SK5_ENABLED
16320 : pure module subroutine setSortedArrDefComSelection_D1_SK5(array, method)
16321 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16322 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_SK5
16323 : #endif
16324 : use pm_kind, only: SKC => SK5
16325 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16326 : type(selection_type) , intent(in) :: method
16327 : end subroutine
16328 : #endif
16329 :
16330 : #if SK4_ENABLED
16331 : pure module subroutine setSortedArrDefComSelection_D1_SK4(array, method)
16332 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16333 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_SK4
16334 : #endif
16335 : use pm_kind, only: SKC => SK4
16336 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16337 : type(selection_type) , intent(in) :: method
16338 : end subroutine
16339 : #endif
16340 :
16341 : #if SK3_ENABLED
16342 : pure module subroutine setSortedArrDefComSelection_D1_SK3(array, method)
16343 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16344 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_SK3
16345 : #endif
16346 : use pm_kind, only: SKC => SK3
16347 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16348 : type(selection_type) , intent(in) :: method
16349 : end subroutine
16350 : #endif
16351 :
16352 : #if SK2_ENABLED
16353 : pure module subroutine setSortedArrDefComSelection_D1_SK2(array, method)
16354 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16355 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_SK2
16356 : #endif
16357 : use pm_kind, only: SKC => SK2
16358 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16359 : type(selection_type) , intent(in) :: method
16360 : end subroutine
16361 : #endif
16362 :
16363 : #if SK1_ENABLED
16364 : pure module subroutine setSortedArrDefComSelection_D1_SK1(array, method)
16365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16366 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_SK1
16367 : #endif
16368 : use pm_kind, only: SKC => SK1
16369 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16370 : type(selection_type) , intent(in) :: method
16371 : end subroutine
16372 : #endif
16373 :
16374 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16375 :
16376 : #if IK5_ENABLED
16377 : pure module subroutine setSortedArrDefComSelection_D1_IK5(array, method)
16378 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16379 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_IK5
16380 : #endif
16381 : use pm_kind, only: IKC => IK5
16382 : integer(IKC) , intent(inout) , contiguous :: array(:)
16383 : type(selection_type) , intent(in) :: method
16384 : end subroutine
16385 : #endif
16386 :
16387 : #if IK4_ENABLED
16388 : pure module subroutine setSortedArrDefComSelection_D1_IK4(array, method)
16389 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16390 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_IK4
16391 : #endif
16392 : use pm_kind, only: IKC => IK4
16393 : integer(IKC) , intent(inout) , contiguous :: array(:)
16394 : type(selection_type) , intent(in) :: method
16395 : end subroutine
16396 : #endif
16397 :
16398 : #if IK3_ENABLED
16399 : pure module subroutine setSortedArrDefComSelection_D1_IK3(array, method)
16400 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16401 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_IK3
16402 : #endif
16403 : use pm_kind, only: IKC => IK3
16404 : integer(IKC) , intent(inout) , contiguous :: array(:)
16405 : type(selection_type) , intent(in) :: method
16406 : end subroutine
16407 : #endif
16408 :
16409 : #if IK2_ENABLED
16410 : pure module subroutine setSortedArrDefComSelection_D1_IK2(array, method)
16411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16412 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_IK2
16413 : #endif
16414 : use pm_kind, only: IKC => IK2
16415 : integer(IKC) , intent(inout) , contiguous :: array(:)
16416 : type(selection_type) , intent(in) :: method
16417 : end subroutine
16418 : #endif
16419 :
16420 : #if IK1_ENABLED
16421 : pure module subroutine setSortedArrDefComSelection_D1_IK1(array, method)
16422 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16423 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_IK1
16424 : #endif
16425 : use pm_kind, only: IKC => IK1
16426 : integer(IKC) , intent(inout) , contiguous :: array(:)
16427 : type(selection_type) , intent(in) :: method
16428 : end subroutine
16429 : #endif
16430 :
16431 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16432 :
16433 : #if LK5_ENABLED
16434 : pure module subroutine setSortedArrDefComSelection_D1_LK5(array, method)
16435 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16436 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_LK5
16437 : #endif
16438 : use pm_kind, only: LKC => LK5
16439 : logical(LKC) , intent(inout) , contiguous :: array(:)
16440 : type(selection_type) , intent(in) :: method
16441 : end subroutine
16442 : #endif
16443 :
16444 : #if LK4_ENABLED
16445 : pure module subroutine setSortedArrDefComSelection_D1_LK4(array, method)
16446 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16447 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_LK4
16448 : #endif
16449 : use pm_kind, only: LKC => LK4
16450 : logical(LKC) , intent(inout) , contiguous :: array(:)
16451 : type(selection_type) , intent(in) :: method
16452 : end subroutine
16453 : #endif
16454 :
16455 : #if LK3_ENABLED
16456 : pure module subroutine setSortedArrDefComSelection_D1_LK3(array, method)
16457 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16458 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_LK3
16459 : #endif
16460 : use pm_kind, only: LKC => LK3
16461 : logical(LKC) , intent(inout) , contiguous :: array(:)
16462 : type(selection_type) , intent(in) :: method
16463 : end subroutine
16464 : #endif
16465 :
16466 : #if LK2_ENABLED
16467 : pure module subroutine setSortedArrDefComSelection_D1_LK2(array, method)
16468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16469 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_LK2
16470 : #endif
16471 : use pm_kind, only: LKC => LK2
16472 : logical(LKC) , intent(inout) , contiguous :: array(:)
16473 : type(selection_type) , intent(in) :: method
16474 : end subroutine
16475 : #endif
16476 :
16477 : #if LK1_ENABLED
16478 : pure module subroutine setSortedArrDefComSelection_D1_LK1(array, method)
16479 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16480 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_LK1
16481 : #endif
16482 : use pm_kind, only: LKC => LK1
16483 : logical(LKC) , intent(inout) , contiguous :: array(:)
16484 : type(selection_type) , intent(in) :: method
16485 : end subroutine
16486 : #endif
16487 :
16488 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16489 :
16490 : #if CK5_ENABLED
16491 : pure module subroutine setSortedArrDefComSelection_D1_CK5(array, method)
16492 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16493 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_CK5
16494 : #endif
16495 : use pm_kind, only: CKC => CK5
16496 : complex(CKC) , intent(inout) , contiguous :: array(:)
16497 : type(selection_type) , intent(in) :: method
16498 : end subroutine
16499 : #endif
16500 :
16501 : #if CK4_ENABLED
16502 : pure module subroutine setSortedArrDefComSelection_D1_CK4(array, method)
16503 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16504 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_CK4
16505 : #endif
16506 : use pm_kind, only: CKC => CK4
16507 : complex(CKC) , intent(inout) , contiguous :: array(:)
16508 : type(selection_type) , intent(in) :: method
16509 : end subroutine
16510 : #endif
16511 :
16512 : #if CK3_ENABLED
16513 : pure module subroutine setSortedArrDefComSelection_D1_CK3(array, method)
16514 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16515 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_CK3
16516 : #endif
16517 : use pm_kind, only: CKC => CK3
16518 : complex(CKC) , intent(inout) , contiguous :: array(:)
16519 : type(selection_type) , intent(in) :: method
16520 : end subroutine
16521 : #endif
16522 :
16523 : #if CK2_ENABLED
16524 : pure module subroutine setSortedArrDefComSelection_D1_CK2(array, method)
16525 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16526 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_CK2
16527 : #endif
16528 : use pm_kind, only: CKC => CK2
16529 : complex(CKC) , intent(inout) , contiguous :: array(:)
16530 : type(selection_type) , intent(in) :: method
16531 : end subroutine
16532 : #endif
16533 :
16534 : #if CK1_ENABLED
16535 : pure module subroutine setSortedArrDefComSelection_D1_CK1(array, method)
16536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16537 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_CK1
16538 : #endif
16539 : use pm_kind, only: CKC => CK1
16540 : complex(CKC) , intent(inout) , contiguous :: array(:)
16541 : type(selection_type) , intent(in) :: method
16542 : end subroutine
16543 : #endif
16544 :
16545 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16546 :
16547 : #if RK5_ENABLED
16548 : pure module subroutine setSortedArrDefComSelection_D1_RK5(array, method)
16549 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16550 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_RK5
16551 : #endif
16552 : use pm_kind, only: RKC => RK5
16553 : real(RKC) , intent(inout) , contiguous :: array(:)
16554 : type(selection_type) , intent(in) :: method
16555 : end subroutine
16556 : #endif
16557 :
16558 : #if RK4_ENABLED
16559 : pure module subroutine setSortedArrDefComSelection_D1_RK4(array, method)
16560 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16561 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_RK4
16562 : #endif
16563 : use pm_kind, only: RKC => RK4
16564 : real(RKC) , intent(inout) , contiguous :: array(:)
16565 : type(selection_type) , intent(in) :: method
16566 : end subroutine
16567 : #endif
16568 :
16569 : #if RK3_ENABLED
16570 : pure module subroutine setSortedArrDefComSelection_D1_RK3(array, method)
16571 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16572 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_RK3
16573 : #endif
16574 : use pm_kind, only: RKC => RK3
16575 : real(RKC) , intent(inout) , contiguous :: array(:)
16576 : type(selection_type) , intent(in) :: method
16577 : end subroutine
16578 : #endif
16579 :
16580 : #if RK2_ENABLED
16581 : pure module subroutine setSortedArrDefComSelection_D1_RK2(array, method)
16582 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16583 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_RK2
16584 : #endif
16585 : use pm_kind, only: RKC => RK2
16586 : real(RKC) , intent(inout) , contiguous :: array(:)
16587 : type(selection_type) , intent(in) :: method
16588 : end subroutine
16589 : #endif
16590 :
16591 : #if RK1_ENABLED
16592 : pure module subroutine setSortedArrDefComSelection_D1_RK1(array, method)
16593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16594 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_RK1
16595 : #endif
16596 : use pm_kind, only: RKC => RK1
16597 : real(RKC) , intent(inout) , contiguous :: array(:)
16598 : type(selection_type) , intent(in) :: method
16599 : end subroutine
16600 : #endif
16601 :
16602 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16603 :
16604 : #if SK5_ENABLED
16605 : pure module subroutine setSortedArrDefComSelection_D1_PSSK5(array, method)
16606 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16607 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_PSSK5
16608 : #endif
16609 : use pm_kind, only: SKC => SK5
16610 : use pm_container, only: css_pdt
16611 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16612 : type(selection_type) , intent(in) :: method
16613 : end subroutine
16614 : #endif
16615 :
16616 : #if SK4_ENABLED
16617 : pure module subroutine setSortedArrDefComSelection_D1_PSSK4(array, method)
16618 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16619 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_PSSK4
16620 : #endif
16621 : use pm_kind, only: SKC => SK4
16622 : use pm_container, only: css_pdt
16623 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16624 : type(selection_type) , intent(in) :: method
16625 : end subroutine
16626 : #endif
16627 :
16628 : #if SK3_ENABLED
16629 : pure module subroutine setSortedArrDefComSelection_D1_PSSK3(array, method)
16630 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16631 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_PSSK3
16632 : #endif
16633 : use pm_kind, only: SKC => SK3
16634 : use pm_container, only: css_pdt
16635 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16636 : type(selection_type) , intent(in) :: method
16637 : end subroutine
16638 : #endif
16639 :
16640 : #if SK2_ENABLED
16641 : pure module subroutine setSortedArrDefComSelection_D1_PSSK2(array, method)
16642 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16643 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_PSSK2
16644 : #endif
16645 : use pm_kind, only: SKC => SK2
16646 : use pm_container, only: css_pdt
16647 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16648 : type(selection_type) , intent(in) :: method
16649 : end subroutine
16650 : #endif
16651 :
16652 : #if SK1_ENABLED
16653 : pure module subroutine setSortedArrDefComSelection_D1_PSSK1(array, method)
16654 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16655 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_PSSK1
16656 : #endif
16657 : use pm_kind, only: SKC => SK1
16658 : use pm_container, only: css_pdt
16659 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
16660 : type(selection_type) , intent(in) :: method
16661 : end subroutine
16662 : #endif
16663 :
16664 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16665 :
16666 : pure module subroutine setSortedArrDefComSelection_D1_BSSK(array, method)
16667 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16668 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComSelection_D1_BSSK
16669 : #endif
16670 : use pm_kind, only: SKC => SK
16671 : use pm_container, only: css_type
16672 : type(css_type) , intent(inout) , contiguous :: array(:)
16673 : type(selection_type) , intent(in) :: method
16674 : end subroutine
16675 :
16676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16677 :
16678 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16679 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16680 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16681 :
16682 : end interface
16683 :
16684 : ! setSortedArrDefComShell
16685 :
16686 : interface setSorted
16687 :
16688 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16689 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16690 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16691 :
16692 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16693 :
16694 : #if SK5_ENABLED
16695 : pure module subroutine setSortedArrDefComShell_D0_SK5(array, method)
16696 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16697 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D0_SK5
16698 : #endif
16699 : use pm_kind, only: SKC => SK5
16700 : character(*,SKC) , intent(inout) :: array
16701 : type(shell_type) , intent(in) :: method
16702 : end subroutine
16703 : #endif
16704 :
16705 : #if SK4_ENABLED
16706 : pure module subroutine setSortedArrDefComShell_D0_SK4(array, method)
16707 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16708 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D0_SK4
16709 : #endif
16710 : use pm_kind, only: SKC => SK4
16711 : character(*,SKC) , intent(inout) :: array
16712 : type(shell_type) , intent(in) :: method
16713 : end subroutine
16714 : #endif
16715 :
16716 : #if SK3_ENABLED
16717 : pure module subroutine setSortedArrDefComShell_D0_SK3(array, method)
16718 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16719 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D0_SK3
16720 : #endif
16721 : use pm_kind, only: SKC => SK3
16722 : character(*,SKC) , intent(inout) :: array
16723 : type(shell_type) , intent(in) :: method
16724 : end subroutine
16725 : #endif
16726 :
16727 : #if SK2_ENABLED
16728 : pure module subroutine setSortedArrDefComShell_D0_SK2(array, method)
16729 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16730 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D0_SK2
16731 : #endif
16732 : use pm_kind, only: SKC => SK2
16733 : character(*,SKC) , intent(inout) :: array
16734 : type(shell_type) , intent(in) :: method
16735 : end subroutine
16736 : #endif
16737 :
16738 : #if SK1_ENABLED
16739 : pure module subroutine setSortedArrDefComShell_D0_SK1(array, method)
16740 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16741 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D0_SK1
16742 : #endif
16743 : use pm_kind, only: SKC => SK1
16744 : character(*,SKC) , intent(inout) :: array
16745 : type(shell_type) , intent(in) :: method
16746 : end subroutine
16747 : #endif
16748 :
16749 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16750 :
16751 : #if SK5_ENABLED
16752 : pure module subroutine setSortedArrDefComShell_D1_SK5(array, method)
16753 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16754 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_SK5
16755 : #endif
16756 : use pm_kind, only: SKC => SK5
16757 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16758 : type(shell_type) , intent(in) :: method
16759 : end subroutine
16760 : #endif
16761 :
16762 : #if SK4_ENABLED
16763 : pure module subroutine setSortedArrDefComShell_D1_SK4(array, method)
16764 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16765 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_SK4
16766 : #endif
16767 : use pm_kind, only: SKC => SK4
16768 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16769 : type(shell_type) , intent(in) :: method
16770 : end subroutine
16771 : #endif
16772 :
16773 : #if SK3_ENABLED
16774 : pure module subroutine setSortedArrDefComShell_D1_SK3(array, method)
16775 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16776 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_SK3
16777 : #endif
16778 : use pm_kind, only: SKC => SK3
16779 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16780 : type(shell_type) , intent(in) :: method
16781 : end subroutine
16782 : #endif
16783 :
16784 : #if SK2_ENABLED
16785 : pure module subroutine setSortedArrDefComShell_D1_SK2(array, method)
16786 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16787 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_SK2
16788 : #endif
16789 : use pm_kind, only: SKC => SK2
16790 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16791 : type(shell_type) , intent(in) :: method
16792 : end subroutine
16793 : #endif
16794 :
16795 : #if SK1_ENABLED
16796 : pure module subroutine setSortedArrDefComShell_D1_SK1(array, method)
16797 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16798 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_SK1
16799 : #endif
16800 : use pm_kind, only: SKC => SK1
16801 : character(*,SKC) , intent(inout) , contiguous :: array(:)
16802 : type(shell_type) , intent(in) :: method
16803 : end subroutine
16804 : #endif
16805 :
16806 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16807 :
16808 : #if IK5_ENABLED
16809 : pure module subroutine setSortedArrDefComShell_D1_IK5(array, method)
16810 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16811 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_IK5
16812 : #endif
16813 : use pm_kind, only: IKC => IK5
16814 : integer(IKC) , intent(inout) , contiguous :: array(:)
16815 : type(shell_type) , intent(in) :: method
16816 : end subroutine
16817 : #endif
16818 :
16819 : #if IK4_ENABLED
16820 : pure module subroutine setSortedArrDefComShell_D1_IK4(array, method)
16821 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16822 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_IK4
16823 : #endif
16824 : use pm_kind, only: IKC => IK4
16825 : integer(IKC) , intent(inout) , contiguous :: array(:)
16826 : type(shell_type) , intent(in) :: method
16827 : end subroutine
16828 : #endif
16829 :
16830 : #if IK3_ENABLED
16831 : pure module subroutine setSortedArrDefComShell_D1_IK3(array, method)
16832 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16833 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_IK3
16834 : #endif
16835 : use pm_kind, only: IKC => IK3
16836 : integer(IKC) , intent(inout) , contiguous :: array(:)
16837 : type(shell_type) , intent(in) :: method
16838 : end subroutine
16839 : #endif
16840 :
16841 : #if IK2_ENABLED
16842 : pure module subroutine setSortedArrDefComShell_D1_IK2(array, method)
16843 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16844 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_IK2
16845 : #endif
16846 : use pm_kind, only: IKC => IK2
16847 : integer(IKC) , intent(inout) , contiguous :: array(:)
16848 : type(shell_type) , intent(in) :: method
16849 : end subroutine
16850 : #endif
16851 :
16852 : #if IK1_ENABLED
16853 : pure module subroutine setSortedArrDefComShell_D1_IK1(array, method)
16854 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16855 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_IK1
16856 : #endif
16857 : use pm_kind, only: IKC => IK1
16858 : integer(IKC) , intent(inout) , contiguous :: array(:)
16859 : type(shell_type) , intent(in) :: method
16860 : end subroutine
16861 : #endif
16862 :
16863 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16864 :
16865 : #if LK5_ENABLED
16866 : pure module subroutine setSortedArrDefComShell_D1_LK5(array, method)
16867 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16868 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_LK5
16869 : #endif
16870 : use pm_kind, only: LKC => LK5
16871 : logical(LKC) , intent(inout) , contiguous :: array(:)
16872 : type(shell_type) , intent(in) :: method
16873 : end subroutine
16874 : #endif
16875 :
16876 : #if LK4_ENABLED
16877 : pure module subroutine setSortedArrDefComShell_D1_LK4(array, method)
16878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16879 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_LK4
16880 : #endif
16881 : use pm_kind, only: LKC => LK4
16882 : logical(LKC) , intent(inout) , contiguous :: array(:)
16883 : type(shell_type) , intent(in) :: method
16884 : end subroutine
16885 : #endif
16886 :
16887 : #if LK3_ENABLED
16888 : pure module subroutine setSortedArrDefComShell_D1_LK3(array, method)
16889 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16890 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_LK3
16891 : #endif
16892 : use pm_kind, only: LKC => LK3
16893 : logical(LKC) , intent(inout) , contiguous :: array(:)
16894 : type(shell_type) , intent(in) :: method
16895 : end subroutine
16896 : #endif
16897 :
16898 : #if LK2_ENABLED
16899 : pure module subroutine setSortedArrDefComShell_D1_LK2(array, method)
16900 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16901 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_LK2
16902 : #endif
16903 : use pm_kind, only: LKC => LK2
16904 : logical(LKC) , intent(inout) , contiguous :: array(:)
16905 : type(shell_type) , intent(in) :: method
16906 : end subroutine
16907 : #endif
16908 :
16909 : #if LK1_ENABLED
16910 : pure module subroutine setSortedArrDefComShell_D1_LK1(array, method)
16911 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16912 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_LK1
16913 : #endif
16914 : use pm_kind, only: LKC => LK1
16915 : logical(LKC) , intent(inout) , contiguous :: array(:)
16916 : type(shell_type) , intent(in) :: method
16917 : end subroutine
16918 : #endif
16919 :
16920 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16921 :
16922 : #if CK5_ENABLED
16923 : pure module subroutine setSortedArrDefComShell_D1_CK5(array, method)
16924 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16925 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_CK5
16926 : #endif
16927 : use pm_kind, only: CKC => CK5
16928 : complex(CKC) , intent(inout) , contiguous :: array(:)
16929 : type(shell_type) , intent(in) :: method
16930 : end subroutine
16931 : #endif
16932 :
16933 : #if CK4_ENABLED
16934 : pure module subroutine setSortedArrDefComShell_D1_CK4(array, method)
16935 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16936 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_CK4
16937 : #endif
16938 : use pm_kind, only: CKC => CK4
16939 : complex(CKC) , intent(inout) , contiguous :: array(:)
16940 : type(shell_type) , intent(in) :: method
16941 : end subroutine
16942 : #endif
16943 :
16944 : #if CK3_ENABLED
16945 : pure module subroutine setSortedArrDefComShell_D1_CK3(array, method)
16946 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16947 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_CK3
16948 : #endif
16949 : use pm_kind, only: CKC => CK3
16950 : complex(CKC) , intent(inout) , contiguous :: array(:)
16951 : type(shell_type) , intent(in) :: method
16952 : end subroutine
16953 : #endif
16954 :
16955 : #if CK2_ENABLED
16956 : pure module subroutine setSortedArrDefComShell_D1_CK2(array, method)
16957 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16958 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_CK2
16959 : #endif
16960 : use pm_kind, only: CKC => CK2
16961 : complex(CKC) , intent(inout) , contiguous :: array(:)
16962 : type(shell_type) , intent(in) :: method
16963 : end subroutine
16964 : #endif
16965 :
16966 : #if CK1_ENABLED
16967 : pure module subroutine setSortedArrDefComShell_D1_CK1(array, method)
16968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16969 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_CK1
16970 : #endif
16971 : use pm_kind, only: CKC => CK1
16972 : complex(CKC) , intent(inout) , contiguous :: array(:)
16973 : type(shell_type) , intent(in) :: method
16974 : end subroutine
16975 : #endif
16976 :
16977 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16978 :
16979 : #if RK5_ENABLED
16980 : pure module subroutine setSortedArrDefComShell_D1_RK5(array, method)
16981 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16982 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_RK5
16983 : #endif
16984 : use pm_kind, only: RKC => RK5
16985 : real(RKC) , intent(inout) , contiguous :: array(:)
16986 : type(shell_type) , intent(in) :: method
16987 : end subroutine
16988 : #endif
16989 :
16990 : #if RK4_ENABLED
16991 : pure module subroutine setSortedArrDefComShell_D1_RK4(array, method)
16992 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16993 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_RK4
16994 : #endif
16995 : use pm_kind, only: RKC => RK4
16996 : real(RKC) , intent(inout) , contiguous :: array(:)
16997 : type(shell_type) , intent(in) :: method
16998 : end subroutine
16999 : #endif
17000 :
17001 : #if RK3_ENABLED
17002 : pure module subroutine setSortedArrDefComShell_D1_RK3(array, method)
17003 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17004 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_RK3
17005 : #endif
17006 : use pm_kind, only: RKC => RK3
17007 : real(RKC) , intent(inout) , contiguous :: array(:)
17008 : type(shell_type) , intent(in) :: method
17009 : end subroutine
17010 : #endif
17011 :
17012 : #if RK2_ENABLED
17013 : pure module subroutine setSortedArrDefComShell_D1_RK2(array, method)
17014 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17015 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_RK2
17016 : #endif
17017 : use pm_kind, only: RKC => RK2
17018 : real(RKC) , intent(inout) , contiguous :: array(:)
17019 : type(shell_type) , intent(in) :: method
17020 : end subroutine
17021 : #endif
17022 :
17023 : #if RK1_ENABLED
17024 : pure module subroutine setSortedArrDefComShell_D1_RK1(array, method)
17025 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17026 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_RK1
17027 : #endif
17028 : use pm_kind, only: RKC => RK1
17029 : real(RKC) , intent(inout) , contiguous :: array(:)
17030 : type(shell_type) , intent(in) :: method
17031 : end subroutine
17032 : #endif
17033 :
17034 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17035 :
17036 : #if SK5_ENABLED
17037 : pure module subroutine setSortedArrDefComShell_D1_PSSK5(array, method)
17038 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17039 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_PSSK5
17040 : #endif
17041 : use pm_kind, only: SKC => SK5
17042 : use pm_container, only: css_pdt
17043 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
17044 : type(shell_type) , intent(in) :: method
17045 : end subroutine
17046 : #endif
17047 :
17048 : #if SK4_ENABLED
17049 : pure module subroutine setSortedArrDefComShell_D1_PSSK4(array, method)
17050 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17051 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_PSSK4
17052 : #endif
17053 : use pm_kind, only: SKC => SK4
17054 : use pm_container, only: css_pdt
17055 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
17056 : type(shell_type) , intent(in) :: method
17057 : end subroutine
17058 : #endif
17059 :
17060 : #if SK3_ENABLED
17061 : pure module subroutine setSortedArrDefComShell_D1_PSSK3(array, method)
17062 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17063 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_PSSK3
17064 : #endif
17065 : use pm_kind, only: SKC => SK3
17066 : use pm_container, only: css_pdt
17067 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
17068 : type(shell_type) , intent(in) :: method
17069 : end subroutine
17070 : #endif
17071 :
17072 : #if SK2_ENABLED
17073 : pure module subroutine setSortedArrDefComShell_D1_PSSK2(array, method)
17074 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17075 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_PSSK2
17076 : #endif
17077 : use pm_kind, only: SKC => SK2
17078 : use pm_container, only: css_pdt
17079 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
17080 : type(shell_type) , intent(in) :: method
17081 : end subroutine
17082 : #endif
17083 :
17084 : #if SK1_ENABLED
17085 : pure module subroutine setSortedArrDefComShell_D1_PSSK1(array, method)
17086 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17087 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_PSSK1
17088 : #endif
17089 : use pm_kind, only: SKC => SK1
17090 : use pm_container, only: css_pdt
17091 : type(css_pdt(SKC)) , intent(inout) , contiguous :: array(:)
17092 : type(shell_type) , intent(in) :: method
17093 : end subroutine
17094 : #endif
17095 :
17096 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17097 :
17098 : pure module subroutine setSortedArrDefComShell_D1_BSSK(array, method)
17099 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17100 : !DEC$ ATTRIBUTES DLLEXPORT :: setSortedArrDefComShell_D1_BSSK
17101 : #endif
17102 : use pm_kind, only: SKC => SK
17103 : use pm_container, only: css_type
17104 : type(css_type) , intent(inout) , contiguous :: array(:)
17105 : type(shell_type) , intent(in) :: method
17106 : end subroutine
17107 :
17108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17109 :
17110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17112 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17113 :
17114 : end interface
17115 :
17116 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17117 :
17118 0 : end module pm_arraySort
|