ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arraySort.F90
Go to the documentation of this file.
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
86
87!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88
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
147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
148 !DIR$ ATTRIBUTES DLLEXPORT :: insertionl
149#endif
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
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
230
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: SKG => SK5
245 character(*,SKG) , 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: SKG => SK4
256 character(*,SKG) , 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: SKG => SK3
267 character(*,SKG) , 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: SKG => SK2
278 character(*,SKG) , 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: SKG => SK1
289 character(*,SKG) , 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: SKG => SK5
302 character(*,SKG) , 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: SKG => SK4
313 character(*,SKG) , 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: SKG => SK3
324 character(*,SKG) , 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: SKG => SK2
335 character(*,SKG) , 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: SKG => SK1
346 character(*,SKG) , 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: IKG => IK5
359 integer(IKG) , 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: IKG => IK4
370 integer(IKG) , 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: IKG => IK3
381 integer(IKG) , 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: IKG => IK2
392 integer(IKG) , 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: IKG => IK1
403 integer(IKG) , 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: LKG => LK5
416 logical(LKG) , 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: LKG => LK4
427 logical(LKG) , 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: LKG => LK3
438 logical(LKG) , 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: LKG => LK2
449 logical(LKG) , 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: LKG => LK1
460 logical(LKG) , 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: RKG => RK5
473 real(RKG) , 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: RKG => RK4
484 real(RKG) , 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: RKG => RK3
495 real(RKG) , 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: RKG => RK2
506 real(RKG) , 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: RKG => RK1
517 real(RKG) , 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: CKG => CK5
530 complex(CKG) , 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: CKG => CK4
541 complex(CKG) , 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: CKG => CK3
552 complex(CKG) , 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: CKG => CK2
563 complex(CKG) , 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: CKG => CK1
574 complex(CKG) , intent(in) , contiguous :: array(:)
575 logical(LK) :: ascendingAll
576 end function
577#endif
578
579 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
580
581#if PDT_ENABLED
582
583#if SK5_ENABLED
584 PURE module function isAscendingAllDefCom_D1_PSSK5(array) result(ascendingAll)
585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
586 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK5
587#endif
588 use pm_kind, only: SKG => SK5
589 use pm_container, only: css_pdt
590 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
591 logical(LK) :: ascendingAll
592 end function
593#endif
594
595#if SK4_ENABLED
596 PURE module function isAscendingAllDefCom_D1_PSSK4(array) result(ascendingAll)
597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
598 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK4
599#endif
600 use pm_kind, only: SKG => SK4
601 use pm_container, only: css_pdt
602 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
603 logical(LK) :: ascendingAll
604 end function
605#endif
606
607#if SK3_ENABLED
608 PURE module function isAscendingAllDefCom_D1_PSSK3(array) result(ascendingAll)
609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
610 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK3
611#endif
612 use pm_kind, only: SKG => SK3
613 use pm_container, only: css_pdt
614 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
615 logical(LK) :: ascendingAll
616 end function
617#endif
618
619#if SK2_ENABLED
620 PURE module function isAscendingAllDefCom_D1_PSSK2(array) result(ascendingAll)
621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
622 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK2
623#endif
624 use pm_kind, only: SKG => SK2
625 use pm_container, only: css_pdt
626 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
627 logical(LK) :: ascendingAll
628 end function
629#endif
630
631#if SK1_ENABLED
632 PURE module function isAscendingAllDefCom_D1_PSSK1(array) result(ascendingAll)
633#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
634 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_PSSK1
635#endif
636 use pm_kind, only: SKG => SK1
637 use pm_container, only: css_pdt
638 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
639 logical(LK) :: ascendingAll
640 end function
641#endif
642
643#endif
644!PDT_ENABLED
645
646 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
647
648 PURE module function isAscendingAllDefCom_D1_BSSK(array) result(ascendingAll)
649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
650 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingAllDefCom_D1_BSSK
651#endif
652 use pm_kind, only: SKG => SK
653 use pm_container, only: css_type
654 type(css_type) , intent(in) , contiguous :: array(:)
655 logical(LK) :: ascendingAll
656 end function
657
658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
659
660 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
661 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
662 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663
664 end interface
665
666!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
667
729
731
732 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
733 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
734 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
735
736 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
737
738#if SK5_ENABLED
739 PURE module function isDescendingAllDefCom_D0_SK5(array) result(descendingAll)
740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
741 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK5
742#endif
743 use pm_kind, only: SKG => SK5
744 character(*,SKG) , intent(in) :: array
745 logical(LK) :: descendingAll
746 end function
747#endif
748
749#if SK4_ENABLED
750 PURE module function isDescendingAllDefCom_D0_SK4(array) result(descendingAll)
751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
752 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK4
753#endif
754 use pm_kind, only: SKG => SK4
755 character(*,SKG) , intent(in) :: array
756 logical(LK) :: descendingAll
757 end function
758#endif
759
760#if SK3_ENABLED
761 PURE module function isDescendingAllDefCom_D0_SK3(array) result(descendingAll)
762#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
763 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK3
764#endif
765 use pm_kind, only: SKG => SK3
766 character(*,SKG) , intent(in) :: array
767 logical(LK) :: descendingAll
768 end function
769#endif
770
771#if SK2_ENABLED
772 PURE module function isDescendingAllDefCom_D0_SK2(array) result(descendingAll)
773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
774 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK2
775#endif
776 use pm_kind, only: SKG => SK2
777 character(*,SKG) , intent(in) :: array
778 logical(LK) :: descendingAll
779 end function
780#endif
781
782#if SK1_ENABLED
783 PURE module function isDescendingAllDefCom_D0_SK1(array) result(descendingAll)
784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
785 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D0_SK1
786#endif
787 use pm_kind, only: SKG => SK1
788 character(*,SKG) , intent(in) :: array
789 logical(LK) :: descendingAll
790 end function
791#endif
792
793 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
794
795#if SK5_ENABLED
796 PURE module function isDescendingAllDefCom_D1_SK5(array) result(descendingAll)
797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
798 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK5
799#endif
800 use pm_kind, only: SKG => SK5
801 character(*,SKG) , intent(in) , contiguous :: array(:)
802 logical(LK) :: descendingAll
803 end function
804#endif
805
806#if SK4_ENABLED
807 PURE module function isDescendingAllDefCom_D1_SK4(array) result(descendingAll)
808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
809 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK4
810#endif
811 use pm_kind, only: SKG => SK4
812 character(*,SKG) , intent(in) , contiguous :: array(:)
813 logical(LK) :: descendingAll
814 end function
815#endif
816
817#if SK3_ENABLED
818 PURE module function isDescendingAllDefCom_D1_SK3(array) result(descendingAll)
819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
820 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK3
821#endif
822 use pm_kind, only: SKG => SK3
823 character(*,SKG) , intent(in) , contiguous :: array(:)
824 logical(LK) :: descendingAll
825 end function
826#endif
827
828#if SK2_ENABLED
829 PURE module function isDescendingAllDefCom_D1_SK2(array) result(descendingAll)
830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
831 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK2
832#endif
833 use pm_kind, only: SKG => SK2
834 character(*,SKG) , intent(in) , contiguous :: array(:)
835 logical(LK) :: descendingAll
836 end function
837#endif
838
839#if SK1_ENABLED
840 PURE module function isDescendingAllDefCom_D1_SK1(array) result(descendingAll)
841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
842 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_SK1
843#endif
844 use pm_kind, only: SKG => SK1
845 character(*,SKG) , intent(in) , contiguous :: array(:)
846 logical(LK) :: descendingAll
847 end function
848#endif
849
850 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
851
852#if IK5_ENABLED
853 PURE module function isDescendingAllDefCom_D1_IK5(array) result(descendingAll)
854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
855 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK5
856#endif
857 use pm_kind, only: IKG => IK5
858 integer(IKG) , intent(in) , contiguous :: array(:)
859 logical(LK) :: descendingAll
860 end function
861#endif
862
863#if IK4_ENABLED
864 PURE module function isDescendingAllDefCom_D1_IK4(array) result(descendingAll)
865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
866 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK4
867#endif
868 use pm_kind, only: IKG => IK4
869 integer(IKG) , intent(in) , contiguous :: array(:)
870 logical(LK) :: descendingAll
871 end function
872#endif
873
874#if IK3_ENABLED
875 PURE module function isDescendingAllDefCom_D1_IK3(array) result(descendingAll)
876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
877 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK3
878#endif
879 use pm_kind, only: IKG => IK3
880 integer(IKG) , intent(in) , contiguous :: array(:)
881 logical(LK) :: descendingAll
882 end function
883#endif
884
885#if IK2_ENABLED
886 PURE module function isDescendingAllDefCom_D1_IK2(array) result(descendingAll)
887#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
888 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK2
889#endif
890 use pm_kind, only: IKG => IK2
891 integer(IKG) , intent(in) , contiguous :: array(:)
892 logical(LK) :: descendingAll
893 end function
894#endif
895
896#if IK1_ENABLED
897 PURE module function isDescendingAllDefCom_D1_IK1(array) result(descendingAll)
898#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
899 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_IK1
900#endif
901 use pm_kind, only: IKG => IK1
902 integer(IKG) , intent(in) , contiguous :: array(:)
903 logical(LK) :: descendingAll
904 end function
905#endif
906
907 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
908
909#if LK5_ENABLED
910 PURE module function isDescendingAllDefCom_D1_LK5(array) result(descendingAll)
911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
912 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK5
913#endif
914 use pm_kind, only: LKG => LK5
915 logical(LKG) , intent(in) , contiguous :: array(:)
916 logical(LK) :: descendingAll
917 end function
918#endif
919
920#if LK4_ENABLED
921 PURE module function isDescendingAllDefCom_D1_LK4(array) result(descendingAll)
922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
923 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK4
924#endif
925 use pm_kind, only: LKG => LK4
926 logical(LKG) , intent(in) , contiguous :: array(:)
927 logical(LK) :: descendingAll
928 end function
929#endif
930
931#if LK3_ENABLED
932 PURE module function isDescendingAllDefCom_D1_LK3(array) result(descendingAll)
933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
934 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK3
935#endif
936 use pm_kind, only: LKG => LK3
937 logical(LKG) , intent(in) , contiguous :: array(:)
938 logical(LK) :: descendingAll
939 end function
940#endif
941
942#if LK2_ENABLED
943 PURE module function isDescendingAllDefCom_D1_LK2(array) result(descendingAll)
944#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
945 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK2
946#endif
947 use pm_kind, only: LKG => LK2
948 logical(LKG) , intent(in) , contiguous :: array(:)
949 logical(LK) :: descendingAll
950 end function
951#endif
952
953#if LK1_ENABLED
954 PURE module function isDescendingAllDefCom_D1_LK1(array) result(descendingAll)
955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
956 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_LK1
957#endif
958 use pm_kind, only: LKG => LK1
959 logical(LKG) , intent(in) , contiguous :: array(:)
960 logical(LK) :: descendingAll
961 end function
962#endif
963
964 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
965
966#if RK5_ENABLED
967 PURE module function isDescendingAllDefCom_D1_RK5(array) result(descendingAll)
968#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
969 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK5
970#endif
971 use pm_kind, only: RKG => RK5
972 real(RKG) , intent(in) , contiguous :: array(:)
973 logical(LK) :: descendingAll
974 end function
975#endif
976
977#if RK4_ENABLED
978 PURE module function isDescendingAllDefCom_D1_RK4(array) result(descendingAll)
979#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
980 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK4
981#endif
982 use pm_kind, only: RKG => RK4
983 real(RKG) , intent(in) , contiguous :: array(:)
984 logical(LK) :: descendingAll
985 end function
986#endif
987
988#if RK3_ENABLED
989 PURE module function isDescendingAllDefCom_D1_RK3(array) result(descendingAll)
990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
991 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK3
992#endif
993 use pm_kind, only: RKG => RK3
994 real(RKG) , intent(in) , contiguous :: array(:)
995 logical(LK) :: descendingAll
996 end function
997#endif
998
999#if RK2_ENABLED
1000 PURE module function isDescendingAllDefCom_D1_RK2(array) result(descendingAll)
1001#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1002 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK2
1003#endif
1004 use pm_kind, only: RKG => RK2
1005 real(RKG) , intent(in) , contiguous :: array(:)
1006 logical(LK) :: descendingAll
1007 end function
1008#endif
1009
1010#if RK1_ENABLED
1011 PURE module function isDescendingAllDefCom_D1_RK1(array) result(descendingAll)
1012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1013 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_RK1
1014#endif
1015 use pm_kind, only: RKG => RK1
1016 real(RKG) , intent(in) , contiguous :: array(:)
1017 logical(LK) :: descendingAll
1018 end function
1019#endif
1020
1021 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1022
1023#if CK5_ENABLED
1024 PURE module function isDescendingAllDefCom_D1_CK5(array) result(descendingAll)
1025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1026 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK5
1027#endif
1028 use pm_kind, only: CKG => CK5
1029 complex(CKG) , intent(in) , contiguous :: array(:)
1030 logical(LK) :: descendingAll
1031 end function
1032#endif
1033
1034#if CK4_ENABLED
1035 PURE module function isDescendingAllDefCom_D1_CK4(array) result(descendingAll)
1036#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1037 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK4
1038#endif
1039 use pm_kind, only: CKG => CK4
1040 complex(CKG) , intent(in) , contiguous :: array(:)
1041 logical(LK) :: descendingAll
1042 end function
1043#endif
1044
1045#if CK3_ENABLED
1046 PURE module function isDescendingAllDefCom_D1_CK3(array) result(descendingAll)
1047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1048 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK3
1049#endif
1050 use pm_kind, only: CKG => CK3
1051 complex(CKG) , intent(in) , contiguous :: array(:)
1052 logical(LK) :: descendingAll
1053 end function
1054#endif
1055
1056#if CK2_ENABLED
1057 PURE module function isDescendingAllDefCom_D1_CK2(array) result(descendingAll)
1058#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1059 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK2
1060#endif
1061 use pm_kind, only: CKG => CK2
1062 complex(CKG) , intent(in) , contiguous :: array(:)
1063 logical(LK) :: descendingAll
1064 end function
1065#endif
1066
1067#if CK1_ENABLED
1068 PURE module function isDescendingAllDefCom_D1_CK1(array) result(descendingAll)
1069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1070 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_CK1
1071#endif
1072 use pm_kind, only: CKG => CK1
1073 complex(CKG) , intent(in) , contiguous :: array(:)
1074 logical(LK) :: descendingAll
1075 end function
1076#endif
1077
1078 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1079
1080#if PDT_ENABLED
1081
1082#if SK5_ENABLED
1083 PURE module function isDescendingAllDefCom_D1_PSSK5(array) result(descendingAll)
1084#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1085 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK5
1086#endif
1087 use pm_kind, only: SKG => SK5
1088 use pm_container, only: css_pdt
1089 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1090 logical(LK) :: descendingAll
1091 end function
1092#endif
1093
1094#if SK4_ENABLED
1095 PURE module function isDescendingAllDefCom_D1_PSSK4(array) result(descendingAll)
1096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1097 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK4
1098#endif
1099 use pm_kind, only: SKG => SK4
1100 use pm_container, only: css_pdt
1101 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1102 logical(LK) :: descendingAll
1103 end function
1104#endif
1105
1106#if SK3_ENABLED
1107 PURE module function isDescendingAllDefCom_D1_PSSK3(array) result(descendingAll)
1108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1109 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK3
1110#endif
1111 use pm_kind, only: SKG => SK3
1112 use pm_container, only: css_pdt
1113 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1114 logical(LK) :: descendingAll
1115 end function
1116#endif
1117
1118#if SK2_ENABLED
1119 PURE module function isDescendingAllDefCom_D1_PSSK2(array) result(descendingAll)
1120#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1121 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK2
1122#endif
1123 use pm_kind, only: SKG => SK2
1124 use pm_container, only: css_pdt
1125 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1126 logical(LK) :: descendingAll
1127 end function
1128#endif
1129
1130#if SK1_ENABLED
1131 PURE module function isDescendingAllDefCom_D1_PSSK1(array) result(descendingAll)
1132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1133 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_PSSK1
1134#endif
1135 use pm_kind, only: SKG => SK1
1136 use pm_container, only: css_pdt
1137 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1138 logical(LK) :: descendingAll
1139 end function
1140#endif
1141
1142#endif
1143!PDT_ENABLED
1144
1145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1146
1147 PURE module function isDescendingAllDefCom_D1_BSSK(array) result(descendingAll)
1148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1149 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingAllDefCom_D1_BSSK
1150#endif
1151 use pm_kind, only: SKG => SK
1152 use pm_container, only: css_type
1153 type(css_type) , intent(in) , contiguous :: array(:)
1154 logical(LK) :: descendingAll
1155 end function
1156
1157 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1158
1159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1160 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1162
1163 end interface
1164
1165!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1166
1228
1229 interface isAscending
1230
1231 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1233 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1234
1235 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1236
1237#if SK5_ENABLED
1238 PURE module function isAscendingDefCom_D0_SK5(array) result(ascending)
1239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1240 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK5
1241#endif
1242 use pm_kind, only: SKG => SK5
1243 character(*,SKG) , intent(in) :: array
1244 logical(LK) :: ascending
1245 end function
1246#endif
1247
1248#if SK4_ENABLED
1249 PURE module function isAscendingDefCom_D0_SK4(array) result(ascending)
1250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1251 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK4
1252#endif
1253 use pm_kind, only: SKG => SK4
1254 character(*,SKG) , intent(in) :: array
1255 logical(LK) :: ascending
1256 end function
1257#endif
1258
1259#if SK3_ENABLED
1260 PURE module function isAscendingDefCom_D0_SK3(array) result(ascending)
1261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1262 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK3
1263#endif
1264 use pm_kind, only: SKG => SK3
1265 character(*,SKG) , intent(in) :: array
1266 logical(LK) :: ascending
1267 end function
1268#endif
1269
1270#if SK2_ENABLED
1271 PURE module function isAscendingDefCom_D0_SK2(array) result(ascending)
1272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1273 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK2
1274#endif
1275 use pm_kind, only: SKG => SK2
1276 character(*,SKG) , intent(in) :: array
1277 logical(LK) :: ascending
1278 end function
1279#endif
1280
1281#if SK1_ENABLED
1282 PURE module function isAscendingDefCom_D0_SK1(array) result(ascending)
1283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1284 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D0_SK1
1285#endif
1286 use pm_kind, only: SKG => SK1
1287 character(*,SKG) , intent(in) :: array
1288 logical(LK) :: ascending
1289 end function
1290#endif
1291
1292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1293
1294#if SK5_ENABLED
1295 PURE module function isAscendingDefCom_D1_SK5(array) result(ascending)
1296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1297 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK5
1298#endif
1299 use pm_kind, only: SKG => SK5
1300 character(*,SKG) , intent(in) , contiguous :: array(:)
1301 logical(LK) :: ascending
1302 end function
1303#endif
1304
1305#if SK4_ENABLED
1306 PURE module function isAscendingDefCom_D1_SK4(array) result(ascending)
1307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1308 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK4
1309#endif
1310 use pm_kind, only: SKG => SK4
1311 character(*,SKG) , intent(in) , contiguous :: array(:)
1312 logical(LK) :: ascending
1313 end function
1314#endif
1315
1316#if SK3_ENABLED
1317 PURE module function isAscendingDefCom_D1_SK3(array) result(ascending)
1318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1319 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK3
1320#endif
1321 use pm_kind, only: SKG => SK3
1322 character(*,SKG) , intent(in) , contiguous :: array(:)
1323 logical(LK) :: ascending
1324 end function
1325#endif
1326
1327#if SK2_ENABLED
1328 PURE module function isAscendingDefCom_D1_SK2(array) result(ascending)
1329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1330 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK2
1331#endif
1332 use pm_kind, only: SKG => SK2
1333 character(*,SKG) , intent(in) , contiguous :: array(:)
1334 logical(LK) :: ascending
1335 end function
1336#endif
1337
1338#if SK1_ENABLED
1339 PURE module function isAscendingDefCom_D1_SK1(array) result(ascending)
1340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1341 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_SK1
1342#endif
1343 use pm_kind, only: SKG => SK1
1344 character(*,SKG) , intent(in) , contiguous :: array(:)
1345 logical(LK) :: ascending
1346 end function
1347#endif
1348
1349 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1350
1351#if IK5_ENABLED
1352 PURE module function isAscendingDefCom_D1_IK5(array) result(ascending)
1353#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1354 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK5
1355#endif
1356 use pm_kind, only: IKG => IK5
1357 integer(IKG) , intent(in) , contiguous :: array(:)
1358 logical(LK) :: ascending
1359 end function
1360#endif
1361
1362#if IK4_ENABLED
1363 PURE module function isAscendingDefCom_D1_IK4(array) result(ascending)
1364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1365 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK4
1366#endif
1367 use pm_kind, only: IKG => IK4
1368 integer(IKG) , intent(in) , contiguous :: array(:)
1369 logical(LK) :: ascending
1370 end function
1371#endif
1372
1373#if IK3_ENABLED
1374 PURE module function isAscendingDefCom_D1_IK3(array) result(ascending)
1375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1376 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK3
1377#endif
1378 use pm_kind, only: IKG => IK3
1379 integer(IKG) , intent(in) , contiguous :: array(:)
1380 logical(LK) :: ascending
1381 end function
1382#endif
1383
1384#if IK2_ENABLED
1385 PURE module function isAscendingDefCom_D1_IK2(array) result(ascending)
1386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1387 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK2
1388#endif
1389 use pm_kind, only: IKG => IK2
1390 integer(IKG) , intent(in) , contiguous :: array(:)
1391 logical(LK) :: ascending
1392 end function
1393#endif
1394
1395#if IK1_ENABLED
1396 PURE module function isAscendingDefCom_D1_IK1(array) result(ascending)
1397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1398 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_IK1
1399#endif
1400 use pm_kind, only: IKG => IK1
1401 integer(IKG) , intent(in) , contiguous :: array(:)
1402 logical(LK) :: ascending
1403 end function
1404#endif
1405
1406 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1407
1408#if LK5_ENABLED
1409 PURE module function isAscendingDefCom_D1_LK5(array) result(ascending)
1410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1411 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK5
1412#endif
1413 use pm_kind, only: LKG => LK5
1414 logical(LKG) , intent(in) , contiguous :: array(:)
1415 logical(LK) :: ascending
1416 end function
1417#endif
1418
1419#if LK4_ENABLED
1420 PURE module function isAscendingDefCom_D1_LK4(array) result(ascending)
1421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1422 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK4
1423#endif
1424 use pm_kind, only: LKG => LK4
1425 logical(LKG) , intent(in) , contiguous :: array(:)
1426 logical(LK) :: ascending
1427 end function
1428#endif
1429
1430#if LK3_ENABLED
1431 PURE module function isAscendingDefCom_D1_LK3(array) result(ascending)
1432#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1433 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK3
1434#endif
1435 use pm_kind, only: LKG => LK3
1436 logical(LKG) , intent(in) , contiguous :: array(:)
1437 logical(LK) :: ascending
1438 end function
1439#endif
1440
1441#if LK2_ENABLED
1442 PURE module function isAscendingDefCom_D1_LK2(array) result(ascending)
1443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1444 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK2
1445#endif
1446 use pm_kind, only: LKG => LK2
1447 logical(LKG) , intent(in) , contiguous :: array(:)
1448 logical(LK) :: ascending
1449 end function
1450#endif
1451
1452#if LK1_ENABLED
1453 PURE module function isAscendingDefCom_D1_LK1(array) result(ascending)
1454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1455 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_LK1
1456#endif
1457 use pm_kind, only: LKG => LK1
1458 logical(LKG) , intent(in) , contiguous :: array(:)
1459 logical(LK) :: ascending
1460 end function
1461#endif
1462
1463 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1464
1465#if RK5_ENABLED
1466 PURE module function isAscendingDefCom_D1_RK5(array) result(ascending)
1467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1468 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK5
1469#endif
1470 use pm_kind, only: RKG => RK5
1471 real(RKG) , intent(in) , contiguous :: array(:)
1472 logical(LK) :: ascending
1473 end function
1474#endif
1475
1476#if RK4_ENABLED
1477 PURE module function isAscendingDefCom_D1_RK4(array) result(ascending)
1478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1479 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK4
1480#endif
1481 use pm_kind, only: RKG => RK4
1482 real(RKG) , intent(in) , contiguous :: array(:)
1483 logical(LK) :: ascending
1484 end function
1485#endif
1486
1487#if RK3_ENABLED
1488 PURE module function isAscendingDefCom_D1_RK3(array) result(ascending)
1489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1490 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK3
1491#endif
1492 use pm_kind, only: RKG => RK3
1493 real(RKG) , intent(in) , contiguous :: array(:)
1494 logical(LK) :: ascending
1495 end function
1496#endif
1497
1498#if RK2_ENABLED
1499 PURE module function isAscendingDefCom_D1_RK2(array) result(ascending)
1500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1501 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK2
1502#endif
1503 use pm_kind, only: RKG => RK2
1504 real(RKG) , intent(in) , contiguous :: array(:)
1505 logical(LK) :: ascending
1506 end function
1507#endif
1508
1509#if RK1_ENABLED
1510 PURE module function isAscendingDefCom_D1_RK1(array) result(ascending)
1511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1512 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_RK1
1513#endif
1514 use pm_kind, only: RKG => RK1
1515 real(RKG) , intent(in) , contiguous :: array(:)
1516 logical(LK) :: ascending
1517 end function
1518#endif
1519
1520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1521
1522#if CK5_ENABLED
1523 PURE module function isAscendingDefCom_D1_CK5(array) result(ascending)
1524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1525 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK5
1526#endif
1527 use pm_kind, only: CKG => CK5
1528 complex(CKG) , intent(in) , contiguous :: array(:)
1529 logical(LK) :: ascending
1530 end function
1531#endif
1532
1533#if CK4_ENABLED
1534 PURE module function isAscendingDefCom_D1_CK4(array) result(ascending)
1535#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1536 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK4
1537#endif
1538 use pm_kind, only: CKG => CK4
1539 complex(CKG) , intent(in) , contiguous :: array(:)
1540 logical(LK) :: ascending
1541 end function
1542#endif
1543
1544#if CK3_ENABLED
1545 PURE module function isAscendingDefCom_D1_CK3(array) result(ascending)
1546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1547 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK3
1548#endif
1549 use pm_kind, only: CKG => CK3
1550 complex(CKG) , intent(in) , contiguous :: array(:)
1551 logical(LK) :: ascending
1552 end function
1553#endif
1554
1555#if CK2_ENABLED
1556 PURE module function isAscendingDefCom_D1_CK2(array) result(ascending)
1557#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1558 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK2
1559#endif
1560 use pm_kind, only: CKG => CK2
1561 complex(CKG) , intent(in) , contiguous :: array(:)
1562 logical(LK) :: ascending
1563 end function
1564#endif
1565
1566#if CK1_ENABLED
1567 PURE module function isAscendingDefCom_D1_CK1(array) result(ascending)
1568#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1569 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_CK1
1570#endif
1571 use pm_kind, only: CKG => CK1
1572 complex(CKG) , intent(in) , contiguous :: array(:)
1573 logical(LK) :: ascending
1574 end function
1575#endif
1576
1577 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1578
1579#if PDT_ENABLED
1580
1581#if SK5_ENABLED
1582 PURE module function isAscendingDefCom_D1_PSSK5(array) result(ascending)
1583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1584 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK5
1585#endif
1586 use pm_kind, only: SKG => SK5
1587 use pm_container, only: css_pdt
1588 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1589 logical(LK) :: ascending
1590 end function
1591#endif
1592
1593#if SK4_ENABLED
1594 PURE module function isAscendingDefCom_D1_PSSK4(array) result(ascending)
1595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1596 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK4
1597#endif
1598 use pm_kind, only: SKG => SK4
1599 use pm_container, only: css_pdt
1600 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1601 logical(LK) :: ascending
1602 end function
1603#endif
1604
1605#if SK3_ENABLED
1606 PURE module function isAscendingDefCom_D1_PSSK3(array) result(ascending)
1607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1608 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK3
1609#endif
1610 use pm_kind, only: SKG => SK3
1611 use pm_container, only: css_pdt
1612 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1613 logical(LK) :: ascending
1614 end function
1615#endif
1616
1617#if SK2_ENABLED
1618 PURE module function isAscendingDefCom_D1_PSSK2(array) result(ascending)
1619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1620 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK2
1621#endif
1622 use pm_kind, only: SKG => SK2
1623 use pm_container, only: css_pdt
1624 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1625 logical(LK) :: ascending
1626 end function
1627#endif
1628
1629#if SK1_ENABLED
1630 PURE module function isAscendingDefCom_D1_PSSK1(array) result(ascending)
1631#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1632 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_PSSK1
1633#endif
1634 use pm_kind, only: SKG => SK1
1635 use pm_container, only: css_pdt
1636 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
1637 logical(LK) :: ascending
1638 end function
1639#endif
1640
1641#endif
1642!PDT_ENABLED
1643
1644 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1645
1646 PURE module function isAscendingDefCom_D1_BSSK(array) result(ascending)
1647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1648 !DEC$ ATTRIBUTES DLLEXPORT :: isAscendingDefCom_D1_BSSK
1649#endif
1650 use pm_kind, only: SKG => SK
1651 use pm_container, only: css_type
1652 type(css_type) , intent(in) , contiguous :: array(:)
1653 logical(LK) :: ascending
1654 end function
1655
1656 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1657
1658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1659 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1660 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1661
1662 end interface
1663
1664!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1665
1725
1726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1727 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1728 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1729
1730 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1731
1732#if SK5_ENABLED
1733 PURE module function isDescendingDefCom_D0_SK5(array) result(descending)
1734#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1735 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK5
1736#endif
1737 use pm_kind, only: SKG => SK5
1738 character(*,SKG) , intent(in) :: array
1739 logical(LK) :: descending
1740 end function
1741#endif
1742
1743#if SK4_ENABLED
1744 PURE module function isDescendingDefCom_D0_SK4(array) result(descending)
1745#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1746 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK4
1747#endif
1748 use pm_kind, only: SKG => SK4
1749 character(*,SKG) , intent(in) :: array
1750 logical(LK) :: descending
1751 end function
1752#endif
1753
1754#if SK3_ENABLED
1755 PURE module function isDescendingDefCom_D0_SK3(array) result(descending)
1756#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1757 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK3
1758#endif
1759 use pm_kind, only: SKG => SK3
1760 character(*,SKG) , intent(in) :: array
1761 logical(LK) :: descending
1762 end function
1763#endif
1764
1765#if SK2_ENABLED
1766 PURE module function isDescendingDefCom_D0_SK2(array) result(descending)
1767#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1768 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK2
1769#endif
1770 use pm_kind, only: SKG => SK2
1771 character(*,SKG) , intent(in) :: array
1772 logical(LK) :: descending
1773 end function
1774#endif
1775
1776#if SK1_ENABLED
1777 PURE module function isDescendingDefCom_D0_SK1(array) result(descending)
1778#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1779 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D0_SK1
1780#endif
1781 use pm_kind, only: SKG => SK1
1782 character(*,SKG) , intent(in) :: array
1783 logical(LK) :: descending
1784 end function
1785#endif
1786
1787 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1788
1789#if SK5_ENABLED
1790 PURE module function isDescendingDefCom_D1_SK5(array) result(descending)
1791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1792 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK5
1793#endif
1794 use pm_kind, only: SKG => SK5
1795 character(*,SKG) , intent(in) , contiguous :: array(:)
1796 logical(LK) :: descending
1797 end function
1798#endif
1799
1800#if SK4_ENABLED
1801 PURE module function isDescendingDefCom_D1_SK4(array) result(descending)
1802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1803 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK4
1804#endif
1805 use pm_kind, only: SKG => SK4
1806 character(*,SKG) , intent(in) , contiguous :: array(:)
1807 logical(LK) :: descending
1808 end function
1809#endif
1810
1811#if SK3_ENABLED
1812 PURE module function isDescendingDefCom_D1_SK3(array) result(descending)
1813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1814 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK3
1815#endif
1816 use pm_kind, only: SKG => SK3
1817 character(*,SKG) , intent(in) , contiguous :: array(:)
1818 logical(LK) :: descending
1819 end function
1820#endif
1821
1822#if SK2_ENABLED
1823 PURE module function isDescendingDefCom_D1_SK2(array) result(descending)
1824#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1825 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK2
1826#endif
1827 use pm_kind, only: SKG => SK2
1828 character(*,SKG) , intent(in) , contiguous :: array(:)
1829 logical(LK) :: descending
1830 end function
1831#endif
1832
1833#if SK1_ENABLED
1834 PURE module function isDescendingDefCom_D1_SK1(array) result(descending)
1835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1836 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_SK1
1837#endif
1838 use pm_kind, only: SKG => SK1
1839 character(*,SKG) , intent(in) , contiguous :: array(:)
1840 logical(LK) :: descending
1841 end function
1842#endif
1843
1844 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1845
1846#if IK5_ENABLED
1847 PURE module function isDescendingDefCom_D1_IK5(array) result(descending)
1848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1849 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK5
1850#endif
1851 use pm_kind, only: IKG => IK5
1852 integer(IKG) , intent(in) , contiguous :: array(:)
1853 logical(LK) :: descending
1854 end function
1855#endif
1856
1857#if IK4_ENABLED
1858 PURE module function isDescendingDefCom_D1_IK4(array) result(descending)
1859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1860 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK4
1861#endif
1862 use pm_kind, only: IKG => IK4
1863 integer(IKG) , intent(in) , contiguous :: array(:)
1864 logical(LK) :: descending
1865 end function
1866#endif
1867
1868#if IK3_ENABLED
1869 PURE module function isDescendingDefCom_D1_IK3(array) result(descending)
1870#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1871 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK3
1872#endif
1873 use pm_kind, only: IKG => IK3
1874 integer(IKG) , intent(in) , contiguous :: array(:)
1875 logical(LK) :: descending
1876 end function
1877#endif
1878
1879#if IK2_ENABLED
1880 PURE module function isDescendingDefCom_D1_IK2(array) result(descending)
1881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1882 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK2
1883#endif
1884 use pm_kind, only: IKG => IK2
1885 integer(IKG) , intent(in) , contiguous :: array(:)
1886 logical(LK) :: descending
1887 end function
1888#endif
1889
1890#if IK1_ENABLED
1891 PURE module function isDescendingDefCom_D1_IK1(array) result(descending)
1892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1893 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_IK1
1894#endif
1895 use pm_kind, only: IKG => IK1
1896 integer(IKG) , intent(in) , contiguous :: array(:)
1897 logical(LK) :: descending
1898 end function
1899#endif
1900
1901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1902
1903#if LK5_ENABLED
1904 PURE module function isDescendingDefCom_D1_LK5(array) result(descending)
1905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1906 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK5
1907#endif
1908 use pm_kind, only: LKG => LK5
1909 logical(LKG) , intent(in) , contiguous :: array(:)
1910 logical(LK) :: descending
1911 end function
1912#endif
1913
1914#if LK4_ENABLED
1915 PURE module function isDescendingDefCom_D1_LK4(array) result(descending)
1916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1917 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK4
1918#endif
1919 use pm_kind, only: LKG => LK4
1920 logical(LKG) , intent(in) , contiguous :: array(:)
1921 logical(LK) :: descending
1922 end function
1923#endif
1924
1925#if LK3_ENABLED
1926 PURE module function isDescendingDefCom_D1_LK3(array) result(descending)
1927#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1928 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK3
1929#endif
1930 use pm_kind, only: LKG => LK3
1931 logical(LKG) , intent(in) , contiguous :: array(:)
1932 logical(LK) :: descending
1933 end function
1934#endif
1935
1936#if LK2_ENABLED
1937 PURE module function isDescendingDefCom_D1_LK2(array) result(descending)
1938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1939 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK2
1940#endif
1941 use pm_kind, only: LKG => LK2
1942 logical(LKG) , intent(in) , contiguous :: array(:)
1943 logical(LK) :: descending
1944 end function
1945#endif
1946
1947#if LK1_ENABLED
1948 PURE module function isDescendingDefCom_D1_LK1(array) result(descending)
1949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1950 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_LK1
1951#endif
1952 use pm_kind, only: LKG => LK1
1953 logical(LKG) , intent(in) , contiguous :: array(:)
1954 logical(LK) :: descending
1955 end function
1956#endif
1957
1958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1959
1960#if RK5_ENABLED
1961 PURE module function isDescendingDefCom_D1_RK5(array) result(descending)
1962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1963 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK5
1964#endif
1965 use pm_kind, only: RKG => RK5
1966 real(RKG) , intent(in) , contiguous :: array(:)
1967 logical(LK) :: descending
1968 end function
1969#endif
1970
1971#if RK4_ENABLED
1972 PURE module function isDescendingDefCom_D1_RK4(array) result(descending)
1973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1974 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK4
1975#endif
1976 use pm_kind, only: RKG => RK4
1977 real(RKG) , intent(in) , contiguous :: array(:)
1978 logical(LK) :: descending
1979 end function
1980#endif
1981
1982#if RK3_ENABLED
1983 PURE module function isDescendingDefCom_D1_RK3(array) result(descending)
1984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1985 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK3
1986#endif
1987 use pm_kind, only: RKG => RK3
1988 real(RKG) , intent(in) , contiguous :: array(:)
1989 logical(LK) :: descending
1990 end function
1991#endif
1992
1993#if RK2_ENABLED
1994 PURE module function isDescendingDefCom_D1_RK2(array) result(descending)
1995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1996 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK2
1997#endif
1998 use pm_kind, only: RKG => RK2
1999 real(RKG) , intent(in) , contiguous :: array(:)
2000 logical(LK) :: descending
2001 end function
2002#endif
2003
2004#if RK1_ENABLED
2005 PURE module function isDescendingDefCom_D1_RK1(array) result(descending)
2006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2007 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_RK1
2008#endif
2009 use pm_kind, only: RKG => RK1
2010 real(RKG) , intent(in) , contiguous :: array(:)
2011 logical(LK) :: descending
2012 end function
2013#endif
2014
2015 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2016
2017#if CK5_ENABLED
2018 PURE module function isDescendingDefCom_D1_CK5(array) result(descending)
2019#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2020 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK5
2021#endif
2022 use pm_kind, only: CKG => CK5
2023 complex(CKG) , intent(in) , contiguous :: array(:)
2024 logical(LK) :: descending
2025 end function
2026#endif
2027
2028#if CK4_ENABLED
2029 PURE module function isDescendingDefCom_D1_CK4(array) result(descending)
2030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2031 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK4
2032#endif
2033 use pm_kind, only: CKG => CK4
2034 complex(CKG) , intent(in) , contiguous :: array(:)
2035 logical(LK) :: descending
2036 end function
2037#endif
2038
2039#if CK3_ENABLED
2040 PURE module function isDescendingDefCom_D1_CK3(array) result(descending)
2041#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2042 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK3
2043#endif
2044 use pm_kind, only: CKG => CK3
2045 complex(CKG) , intent(in) , contiguous :: array(:)
2046 logical(LK) :: descending
2047 end function
2048#endif
2049
2050#if CK2_ENABLED
2051 PURE module function isDescendingDefCom_D1_CK2(array) result(descending)
2052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2053 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK2
2054#endif
2055 use pm_kind, only: CKG => CK2
2056 complex(CKG) , intent(in) , contiguous :: array(:)
2057 logical(LK) :: descending
2058 end function
2059#endif
2060
2061#if CK1_ENABLED
2062 PURE module function isDescendingDefCom_D1_CK1(array) result(descending)
2063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2064 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_CK1
2065#endif
2066 use pm_kind, only: CKG => CK1
2067 complex(CKG) , intent(in) , contiguous :: array(:)
2068 logical(LK) :: descending
2069 end function
2070#endif
2071
2072 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2073
2074#if PDT_ENABLED
2075
2076#if SK5_ENABLED
2077 PURE module function isDescendingDefCom_D1_PSSK5(array) result(descending)
2078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2079 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK5
2080#endif
2081 use pm_kind, only: SKG => SK5
2082 use pm_container, only: css_pdt
2083 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2084 logical(LK) :: descending
2085 end function
2086#endif
2087
2088#if SK4_ENABLED
2089 PURE module function isDescendingDefCom_D1_PSSK4(array) result(descending)
2090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2091 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK4
2092#endif
2093 use pm_kind, only: SKG => SK4
2094 use pm_container, only: css_pdt
2095 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2096 logical(LK) :: descending
2097 end function
2098#endif
2099
2100#if SK3_ENABLED
2101 PURE module function isDescendingDefCom_D1_PSSK3(array) result(descending)
2102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2103 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK3
2104#endif
2105 use pm_kind, only: SKG => SK3
2106 use pm_container, only: css_pdt
2107 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2108 logical(LK) :: descending
2109 end function
2110#endif
2111
2112#if SK2_ENABLED
2113 PURE module function isDescendingDefCom_D1_PSSK2(array) result(descending)
2114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2115 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK2
2116#endif
2117 use pm_kind, only: SKG => SK2
2118 use pm_container, only: css_pdt
2119 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2120 logical(LK) :: descending
2121 end function
2122#endif
2123
2124#if SK1_ENABLED
2125 PURE module function isDescendingDefCom_D1_PSSK1(array) result(descending)
2126#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2127 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_PSSK1
2128#endif
2129 use pm_kind, only: SKG => SK1
2130 use pm_container, only: css_pdt
2131 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2132 logical(LK) :: descending
2133 end function
2134#endif
2135
2136#endif
2137!PDT_ENABLED
2138
2139 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2140
2141 PURE module function isDescendingDefCom_D1_BSSK(array) result(descending)
2142#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2143 !DEC$ ATTRIBUTES DLLEXPORT :: isDescendingDefCom_D1_BSSK
2144#endif
2145 use pm_kind, only: SKG => SK
2146 use pm_container, only: css_type
2147 type(css_type) , intent(in) , contiguous :: array(:)
2148 logical(LK) :: descending
2149 end function
2150
2151 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2152
2153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2154 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2155 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2156
2157 end interface
2158
2159!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2160
2251 interface isSorted
2252
2253 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2254 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2255 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2256
2257 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2258
2259#if SK5_ENABLED
2260 PURE module function isSortedDefCom_D0_SK5(array) result(sorted)
2261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2262 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK5
2263#endif
2264 use pm_kind, only: SKG => SK5
2265 character(*,SKG) , intent(in) :: array
2266 logical(LK) :: sorted
2267 end function
2268#endif
2269
2270#if SK4_ENABLED
2271 PURE module function isSortedDefCom_D0_SK4(array) result(sorted)
2272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2273 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK4
2274#endif
2275 use pm_kind, only: SKG => SK4
2276 character(*,SKG) , intent(in) :: array
2277 logical(LK) :: sorted
2278 end function
2279#endif
2280
2281#if SK3_ENABLED
2282 PURE module function isSortedDefCom_D0_SK3(array) result(sorted)
2283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2284 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK3
2285#endif
2286 use pm_kind, only: SKG => SK3
2287 character(*,SKG) , intent(in) :: array
2288 logical(LK) :: sorted
2289 end function
2290#endif
2291
2292#if SK2_ENABLED
2293 PURE module function isSortedDefCom_D0_SK2(array) result(sorted)
2294#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2295 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK2
2296#endif
2297 use pm_kind, only: SKG => SK2
2298 character(*,SKG) , intent(in) :: array
2299 logical(LK) :: sorted
2300 end function
2301#endif
2302
2303#if SK1_ENABLED
2304 PURE module function isSortedDefCom_D0_SK1(array) result(sorted)
2305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2306 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D0_SK1
2307#endif
2308 use pm_kind, only: SKG => SK1
2309 character(*,SKG) , intent(in) :: array
2310 logical(LK) :: sorted
2311 end function
2312#endif
2313
2314 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2315
2316#if SK5_ENABLED
2317 PURE module function isSortedDefCom_D1_SK5(array) result(sorted)
2318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2319 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK5
2320#endif
2321 use pm_kind, only: SKG => SK5
2322 character(*,SKG) , intent(in) , contiguous :: array(:)
2323 logical(LK) :: sorted
2324 end function
2325#endif
2326
2327#if SK4_ENABLED
2328 PURE module function isSortedDefCom_D1_SK4(array) result(sorted)
2329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2330 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK4
2331#endif
2332 use pm_kind, only: SKG => SK4
2333 character(*,SKG) , intent(in) , contiguous :: array(:)
2334 logical(LK) :: sorted
2335 end function
2336#endif
2337
2338#if SK3_ENABLED
2339 PURE module function isSortedDefCom_D1_SK3(array) result(sorted)
2340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2341 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK3
2342#endif
2343 use pm_kind, only: SKG => SK3
2344 character(*,SKG) , intent(in) , contiguous :: array(:)
2345 logical(LK) :: sorted
2346 end function
2347#endif
2348
2349#if SK2_ENABLED
2350 PURE module function isSortedDefCom_D1_SK2(array) result(sorted)
2351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2352 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK2
2353#endif
2354 use pm_kind, only: SKG => SK2
2355 character(*,SKG) , intent(in) , contiguous :: array(:)
2356 logical(LK) :: sorted
2357 end function
2358#endif
2359
2360#if SK1_ENABLED
2361 PURE module function isSortedDefCom_D1_SK1(array) result(sorted)
2362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2363 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_SK1
2364#endif
2365 use pm_kind, only: SKG => SK1
2366 character(*,SKG) , intent(in) , contiguous :: array(:)
2367 logical(LK) :: sorted
2368 end function
2369#endif
2370
2371 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2372
2373#if IK5_ENABLED
2374 PURE module function isSortedDefCom_D1_IK5(array) result(sorted)
2375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2376 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK5
2377#endif
2378 use pm_kind, only: IKG => IK5
2379 integer(IKG) , intent(in) , contiguous :: array(:)
2380 logical(LK) :: sorted
2381 end function
2382#endif
2383
2384#if IK4_ENABLED
2385 PURE module function isSortedDefCom_D1_IK4(array) result(sorted)
2386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2387 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK4
2388#endif
2389 use pm_kind, only: IKG => IK4
2390 integer(IKG) , intent(in) , contiguous :: array(:)
2391 logical(LK) :: sorted
2392 end function
2393#endif
2394
2395#if IK3_ENABLED
2396 PURE module function isSortedDefCom_D1_IK3(array) result(sorted)
2397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2398 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK3
2399#endif
2400 use pm_kind, only: IKG => IK3
2401 integer(IKG) , intent(in) , contiguous :: array(:)
2402 logical(LK) :: sorted
2403 end function
2404#endif
2405
2406#if IK2_ENABLED
2407 PURE module function isSortedDefCom_D1_IK2(array) result(sorted)
2408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2409 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK2
2410#endif
2411 use pm_kind, only: IKG => IK2
2412 integer(IKG) , intent(in) , contiguous :: array(:)
2413 logical(LK) :: sorted
2414 end function
2415#endif
2416
2417#if IK1_ENABLED
2418 PURE module function isSortedDefCom_D1_IK1(array) result(sorted)
2419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2420 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_IK1
2421#endif
2422 use pm_kind, only: IKG => IK1
2423 integer(IKG) , intent(in) , contiguous :: array(:)
2424 logical(LK) :: sorted
2425 end function
2426#endif
2427
2428 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2429
2430#if LK5_ENABLED
2431 PURE module function isSortedDefCom_D1_LK5(array) result(sorted)
2432#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2433 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK5
2434#endif
2435 use pm_kind, only: LKG => LK5
2436 logical(LKG) , intent(in) , contiguous :: array(:)
2437 logical(LK) :: sorted
2438 end function
2439#endif
2440
2441#if LK4_ENABLED
2442 PURE module function isSortedDefCom_D1_LK4(array) result(sorted)
2443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2444 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK4
2445#endif
2446 use pm_kind, only: LKG => LK4
2447 logical(LKG) , intent(in) , contiguous :: array(:)
2448 logical(LK) :: sorted
2449 end function
2450#endif
2451
2452#if LK3_ENABLED
2453 PURE module function isSortedDefCom_D1_LK3(array) result(sorted)
2454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2455 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK3
2456#endif
2457 use pm_kind, only: LKG => LK3
2458 logical(LKG) , intent(in) , contiguous :: array(:)
2459 logical(LK) :: sorted
2460 end function
2461#endif
2462
2463#if LK2_ENABLED
2464 PURE module function isSortedDefCom_D1_LK2(array) result(sorted)
2465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2466 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK2
2467#endif
2468 use pm_kind, only: LKG => LK2
2469 logical(LKG) , intent(in) , contiguous :: array(:)
2470 logical(LK) :: sorted
2471 end function
2472#endif
2473
2474#if LK1_ENABLED
2475 PURE module function isSortedDefCom_D1_LK1(array) result(sorted)
2476#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2477 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_LK1
2478#endif
2479 use pm_kind, only: LKG => LK1
2480 logical(LKG) , intent(in) , contiguous :: array(:)
2481 logical(LK) :: sorted
2482 end function
2483#endif
2484
2485 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2486
2487#if RK5_ENABLED
2488 PURE module function isSortedDefCom_D1_RK5(array) result(sorted)
2489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2490 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK5
2491#endif
2492 use pm_kind, only: RKG => RK5
2493 real(RKG) , intent(in) , contiguous :: array(:)
2494 logical(LK) :: sorted
2495 end function
2496#endif
2497
2498#if RK4_ENABLED
2499 PURE module function isSortedDefCom_D1_RK4(array) result(sorted)
2500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2501 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK4
2502#endif
2503 use pm_kind, only: RKG => RK4
2504 real(RKG) , intent(in) , contiguous :: array(:)
2505 logical(LK) :: sorted
2506 end function
2507#endif
2508
2509#if RK3_ENABLED
2510 PURE module function isSortedDefCom_D1_RK3(array) result(sorted)
2511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2512 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK3
2513#endif
2514 use pm_kind, only: RKG => RK3
2515 real(RKG) , intent(in) , contiguous :: array(:)
2516 logical(LK) :: sorted
2517 end function
2518#endif
2519
2520#if RK2_ENABLED
2521 PURE module function isSortedDefCom_D1_RK2(array) result(sorted)
2522#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2523 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK2
2524#endif
2525 use pm_kind, only: RKG => RK2
2526 real(RKG) , intent(in) , contiguous :: array(:)
2527 logical(LK) :: sorted
2528 end function
2529#endif
2530
2531#if RK1_ENABLED
2532 PURE module function isSortedDefCom_D1_RK1(array) result(sorted)
2533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2534 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_RK1
2535#endif
2536 use pm_kind, only: RKG => RK1
2537 real(RKG) , intent(in) , contiguous :: array(:)
2538 logical(LK) :: sorted
2539 end function
2540#endif
2541
2542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2543
2544#if CK5_ENABLED
2545 PURE module function isSortedDefCom_D1_CK5(array) result(sorted)
2546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2547 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK5
2548#endif
2549 use pm_kind, only: CKG => CK5
2550 complex(CKG) , intent(in) , contiguous :: array(:)
2551 logical(LK) :: sorted
2552 end function
2553#endif
2554
2555#if CK4_ENABLED
2556 PURE module function isSortedDefCom_D1_CK4(array) result(sorted)
2557#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2558 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK4
2559#endif
2560 use pm_kind, only: CKG => CK4
2561 complex(CKG) , intent(in) , contiguous :: array(:)
2562 logical(LK) :: sorted
2563 end function
2564#endif
2565
2566#if CK3_ENABLED
2567 PURE module function isSortedDefCom_D1_CK3(array) result(sorted)
2568#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2569 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK3
2570#endif
2571 use pm_kind, only: CKG => CK3
2572 complex(CKG) , intent(in) , contiguous :: array(:)
2573 logical(LK) :: sorted
2574 end function
2575#endif
2576
2577#if CK2_ENABLED
2578 PURE module function isSortedDefCom_D1_CK2(array) result(sorted)
2579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2580 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK2
2581#endif
2582 use pm_kind, only: CKG => CK2
2583 complex(CKG) , intent(in) , contiguous :: array(:)
2584 logical(LK) :: sorted
2585 end function
2586#endif
2587
2588#if CK1_ENABLED
2589 PURE module function isSortedDefCom_D1_CK1(array) result(sorted)
2590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2591 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_CK1
2592#endif
2593 use pm_kind, only: CKG => CK1
2594 complex(CKG) , intent(in) , contiguous :: array(:)
2595 logical(LK) :: sorted
2596 end function
2597#endif
2598
2599 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2600
2601#if PDT_ENABLED
2602
2603#if SK5_ENABLED
2604 PURE module function isSortedDefCom_D1_PSSK5(array) result(sorted)
2605#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2606 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK5
2607#endif
2608 use pm_kind, only: SKG => SK5
2609 use pm_container, only: css_pdt
2610 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2611 logical(LK) :: sorted
2612 end function
2613#endif
2614
2615#if SK4_ENABLED
2616 PURE module function isSortedDefCom_D1_PSSK4(array) result(sorted)
2617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2618 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK4
2619#endif
2620 use pm_kind, only: SKG => SK4
2621 use pm_container, only: css_pdt
2622 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2623 logical(LK) :: sorted
2624 end function
2625#endif
2626
2627#if SK3_ENABLED
2628 PURE module function isSortedDefCom_D1_PSSK3(array) result(sorted)
2629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2630 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK3
2631#endif
2632 use pm_kind, only: SKG => SK3
2633 use pm_container, only: css_pdt
2634 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2635 logical(LK) :: sorted
2636 end function
2637#endif
2638
2639#if SK2_ENABLED
2640 PURE module function isSortedDefCom_D1_PSSK2(array) result(sorted)
2641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2642 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK2
2643#endif
2644 use pm_kind, only: SKG => SK2
2645 use pm_container, only: css_pdt
2646 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2647 logical(LK) :: sorted
2648 end function
2649#endif
2650
2651#if SK1_ENABLED
2652 PURE module function isSortedDefCom_D1_PSSK1(array) result(sorted)
2653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2654 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_PSSK1
2655#endif
2656 use pm_kind, only: SKG => SK1
2657 use pm_container, only: css_pdt
2658 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
2659 logical(LK) :: sorted
2660 end function
2661#endif
2662
2663#endif
2664!PDT_ENABLED
2665
2666 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2667
2668 PURE module function isSortedDefCom_D1_BSSK(array) result(sorted)
2669#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2670 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedDefCom_D1_BSSK
2671#endif
2672 use pm_kind, only: SKG => SK
2673 use pm_container, only: css_type
2674 type(css_type) , intent(in) , contiguous :: array(:)
2675 logical(LK) :: sorted
2676 end function
2677
2678 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2679
2680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2683
2684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2685
2686#if SK5_ENABLED
2687 module function isSortedCusCom_D0_SK5(array, isSorted) result(sorted)
2688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2689 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK5
2690#endif
2691 use pm_kind, only: SKG => SK5
2692 character(*,SKG) , intent(in) :: array
2693 procedure(logical(LK)) :: isSorted
2694 logical(LK) :: sorted
2695 end function
2696#endif
2697
2698#if SK4_ENABLED
2699 module function isSortedCusCom_D0_SK4(array, isSorted) result(sorted)
2700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2701 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK4
2702#endif
2703 use pm_kind, only: SKG => SK4
2704 character(*,SKG) , intent(in) :: array
2705 procedure(logical(LK)) :: isSorted
2706 logical(LK) :: sorted
2707 end function
2708#endif
2709
2710#if SK3_ENABLED
2711 module function isSortedCusCom_D0_SK3(array, isSorted) result(sorted)
2712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2713 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK3
2714#endif
2715 use pm_kind, only: SKG => SK3
2716 character(*,SKG) , intent(in) :: array
2717 procedure(logical(LK)) :: isSorted
2718 logical(LK) :: sorted
2719 end function
2720#endif
2721
2722#if SK2_ENABLED
2723 module function isSortedCusCom_D0_SK2(array, isSorted) result(sorted)
2724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2725 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK2
2726#endif
2727 use pm_kind, only: SKG => SK2
2728 character(*,SKG) , intent(in) :: array
2729 procedure(logical(LK)) :: isSorted
2730 logical(LK) :: sorted
2731 end function
2732#endif
2733
2734#if SK1_ENABLED
2735 module function isSortedCusCom_D0_SK1(array, isSorted) result(sorted)
2736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2737 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D0_SK1
2738#endif
2739 use pm_kind, only: SKG => SK1
2740 character(*,SKG) , intent(in) :: array
2741 procedure(logical(LK)) :: isSorted
2742 logical(LK) :: sorted
2743 end function
2744#endif
2745
2746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2747
2748#if SK5_ENABLED
2749 module function isSortedCusCom_D1_SK5(array, isSorted) result(sorted)
2750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2751 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK5
2752#endif
2753 use pm_kind, only: SKG => SK5
2754 character(*,SKG) , intent(in) , contiguous :: array(:)
2755 procedure(logical(LK)) :: isSorted
2756 logical(LK) :: sorted
2757 end function
2758#endif
2759
2760#if SK4_ENABLED
2761 module function isSortedCusCom_D1_SK4(array, isSorted) result(sorted)
2762#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2763 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK4
2764#endif
2765 use pm_kind, only: SKG => SK4
2766 character(*,SKG) , intent(in) , contiguous :: array(:)
2767 procedure(logical(LK)) :: isSorted
2768 logical(LK) :: sorted
2769 end function
2770#endif
2771
2772#if SK3_ENABLED
2773 module function isSortedCusCom_D1_SK3(array, isSorted) result(sorted)
2774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2775 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK3
2776#endif
2777 use pm_kind, only: SKG => SK3
2778 character(*,SKG) , intent(in) , contiguous :: array(:)
2779 procedure(logical(LK)) :: isSorted
2780 logical(LK) :: sorted
2781 end function
2782#endif
2783
2784#if SK2_ENABLED
2785 module function isSortedCusCom_D1_SK2(array, isSorted) result(sorted)
2786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2787 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK2
2788#endif
2789 use pm_kind, only: SKG => SK2
2790 character(*,SKG) , intent(in) , contiguous :: array(:)
2791 procedure(logical(LK)) :: isSorted
2792 logical(LK) :: sorted
2793 end function
2794#endif
2795
2796#if SK1_ENABLED
2797 module function isSortedCusCom_D1_SK1(array, isSorted) result(sorted)
2798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2799 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_SK1
2800#endif
2801 use pm_kind, only: SKG => SK1
2802 character(*,SKG) , intent(in) , contiguous :: array(:)
2803 procedure(logical(LK)) :: isSorted
2804 logical(LK) :: sorted
2805 end function
2806#endif
2807
2808 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2809
2810#if IK5_ENABLED
2811 module function isSortedCusCom_D1_IK5(array, isSorted) result(sorted)
2812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2813 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK5
2814#endif
2815 use pm_kind, only: IKG => IK5
2816 integer(IKG) , intent(in) , contiguous :: array(:)
2817 procedure(logical(LK)) :: isSorted
2818 logical(LK) :: sorted
2819 end function
2820#endif
2821
2822#if IK4_ENABLED
2823 module function isSortedCusCom_D1_IK4(array, isSorted) result(sorted)
2824#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2825 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK4
2826#endif
2827 use pm_kind, only: IKG => IK4
2828 integer(IKG) , intent(in) , contiguous :: array(:)
2829 procedure(logical(LK)) :: isSorted
2830 logical(LK) :: sorted
2831 end function
2832#endif
2833
2834#if IK3_ENABLED
2835 module function isSortedCusCom_D1_IK3(array, isSorted) result(sorted)
2836#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2837 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK3
2838#endif
2839 use pm_kind, only: IKG => IK3
2840 integer(IKG) , intent(in) , contiguous :: array(:)
2841 procedure(logical(LK)) :: isSorted
2842 logical(LK) :: sorted
2843 end function
2844#endif
2845
2846#if IK2_ENABLED
2847 module function isSortedCusCom_D1_IK2(array, isSorted) result(sorted)
2848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2849 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK2
2850#endif
2851 use pm_kind, only: IKG => IK2
2852 integer(IKG) , intent(in) , contiguous :: array(:)
2853 procedure(logical(LK)) :: isSorted
2854 logical(LK) :: sorted
2855 end function
2856#endif
2857
2858#if IK1_ENABLED
2859 module function isSortedCusCom_D1_IK1(array, isSorted) result(sorted)
2860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2861 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_IK1
2862#endif
2863 use pm_kind, only: IKG => IK1
2864 integer(IKG) , intent(in) , contiguous :: array(:)
2865 procedure(logical(LK)) :: isSorted
2866 logical(LK) :: sorted
2867 end function
2868#endif
2869
2870 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2871
2872#if LK5_ENABLED
2873 module function isSortedCusCom_D1_LK5(array, isSorted) result(sorted)
2874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2875 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK5
2876#endif
2877 use pm_kind, only: LKG => LK5
2878 logical(LKG) , intent(in) , contiguous :: array(:)
2879 procedure(logical(LK)) :: isSorted
2880 logical(LK) :: sorted
2881 end function
2882#endif
2883
2884#if LK4_ENABLED
2885 module function isSortedCusCom_D1_LK4(array, isSorted) result(sorted)
2886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2887 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK4
2888#endif
2889 use pm_kind, only: LKG => LK4
2890 logical(LKG) , intent(in) , contiguous :: array(:)
2891 procedure(logical(LK)) :: isSorted
2892 logical(LK) :: sorted
2893 end function
2894#endif
2895
2896#if LK3_ENABLED
2897 module function isSortedCusCom_D1_LK3(array, isSorted) result(sorted)
2898#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2899 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK3
2900#endif
2901 use pm_kind, only: LKG => LK3
2902 logical(LKG) , intent(in) , contiguous :: array(:)
2903 procedure(logical(LK)) :: isSorted
2904 logical(LK) :: sorted
2905 end function
2906#endif
2907
2908#if LK2_ENABLED
2909 module function isSortedCusCom_D1_LK2(array, isSorted) result(sorted)
2910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2911 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK2
2912#endif
2913 use pm_kind, only: LKG => LK2
2914 logical(LKG) , intent(in) , contiguous :: array(:)
2915 procedure(logical(LK)) :: isSorted
2916 logical(LK) :: sorted
2917 end function
2918#endif
2919
2920#if LK1_ENABLED
2921 module function isSortedCusCom_D1_LK1(array, isSorted) result(sorted)
2922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2923 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_LK1
2924#endif
2925 use pm_kind, only: LKG => LK1
2926 logical(LKG) , intent(in) , contiguous :: array(:)
2927 procedure(logical(LK)) :: isSorted
2928 logical(LK) :: sorted
2929 end function
2930#endif
2931
2932 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2933
2934#if RK5_ENABLED
2935 module function isSortedCusCom_D1_RK5(array, isSorted) result(sorted)
2936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2937 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK5
2938#endif
2939 use pm_kind, only: RKG => RK5
2940 real(RKG) , intent(in) , contiguous :: array(:)
2941 procedure(logical(LK)) :: isSorted
2942 logical(LK) :: sorted
2943 end function
2944#endif
2945
2946#if RK4_ENABLED
2947 module function isSortedCusCom_D1_RK4(array, isSorted) result(sorted)
2948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2949 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK4
2950#endif
2951 use pm_kind, only: RKG => RK4
2952 real(RKG) , intent(in) , contiguous :: array(:)
2953 procedure(logical(LK)) :: isSorted
2954 logical(LK) :: sorted
2955 end function
2956#endif
2957
2958#if RK3_ENABLED
2959 module function isSortedCusCom_D1_RK3(array, isSorted) result(sorted)
2960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2961 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK3
2962#endif
2963 use pm_kind, only: RKG => RK3
2964 real(RKG) , intent(in) , contiguous :: array(:)
2965 procedure(logical(LK)) :: isSorted
2966 logical(LK) :: sorted
2967 end function
2968#endif
2969
2970#if RK2_ENABLED
2971 module function isSortedCusCom_D1_RK2(array, isSorted) result(sorted)
2972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2973 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK2
2974#endif
2975 use pm_kind, only: RKG => RK2
2976 real(RKG) , intent(in) , contiguous :: array(:)
2977 procedure(logical(LK)) :: isSorted
2978 logical(LK) :: sorted
2979 end function
2980#endif
2981
2982#if RK1_ENABLED
2983 module function isSortedCusCom_D1_RK1(array, isSorted) result(sorted)
2984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2985 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_RK1
2986#endif
2987 use pm_kind, only: RKG => RK1
2988 real(RKG) , intent(in) , contiguous :: array(:)
2989 procedure(logical(LK)) :: isSorted
2990 logical(LK) :: sorted
2991 end function
2992#endif
2993
2994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2995
2996#if CK5_ENABLED
2997 module function isSortedCusCom_D1_CK5(array, isSorted) result(sorted)
2998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2999 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK5
3000#endif
3001 use pm_kind, only: CKG => CK5
3002 complex(CKG) , intent(in) , contiguous :: array(:)
3003 procedure(logical(LK)) :: isSorted
3004 logical(LK) :: sorted
3005 end function
3006#endif
3007
3008#if CK4_ENABLED
3009 module function isSortedCusCom_D1_CK4(array, isSorted) result(sorted)
3010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3011 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK4
3012#endif
3013 use pm_kind, only: CKG => CK4
3014 complex(CKG) , intent(in) , contiguous :: array(:)
3015 procedure(logical(LK)) :: isSorted
3016 logical(LK) :: sorted
3017 end function
3018#endif
3019
3020#if CK3_ENABLED
3021 module function isSortedCusCom_D1_CK3(array, isSorted) result(sorted)
3022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3023 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK3
3024#endif
3025 use pm_kind, only: CKG => CK3
3026 complex(CKG) , intent(in) , contiguous :: array(:)
3027 procedure(logical(LK)) :: isSorted
3028 logical(LK) :: sorted
3029 end function
3030#endif
3031
3032#if CK2_ENABLED
3033 module function isSortedCusCom_D1_CK2(array, isSorted) result(sorted)
3034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3035 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK2
3036#endif
3037 use pm_kind, only: CKG => CK2
3038 complex(CKG) , intent(in) , contiguous :: array(:)
3039 procedure(logical(LK)) :: isSorted
3040 logical(LK) :: sorted
3041 end function
3042#endif
3043
3044#if CK1_ENABLED
3045 module function isSortedCusCom_D1_CK1(array, isSorted) result(sorted)
3046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3047 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_CK1
3048#endif
3049 use pm_kind, only: CKG => CK1
3050 complex(CKG) , intent(in) , contiguous :: array(:)
3051 procedure(logical(LK)) :: isSorted
3052 logical(LK) :: sorted
3053 end function
3054#endif
3055
3056 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3057
3058#if PDT_ENABLED
3059
3060#if SK5_ENABLED
3061 module function isSortedCusCom_D1_PSSK5(array, isSorted) result(sorted)
3062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3063 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK5
3064#endif
3065 use pm_kind, only: SKG => SK5
3066 use pm_container, only: css_pdt
3067 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3068 procedure(logical(LK)) :: isSorted
3069 logical(LK) :: sorted
3070 end function
3071#endif
3072
3073#if SK4_ENABLED
3074 module function isSortedCusCom_D1_PSSK4(array, isSorted) result(sorted)
3075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3076 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK4
3077#endif
3078 use pm_kind, only: SKG => SK4
3079 use pm_container, only: css_pdt
3080 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3081 procedure(logical(LK)) :: isSorted
3082 logical(LK) :: sorted
3083 end function
3084#endif
3085
3086#if SK3_ENABLED
3087 module function isSortedCusCom_D1_PSSK3(array, isSorted) result(sorted)
3088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3089 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK3
3090#endif
3091 use pm_kind, only: SKG => SK3
3092 use pm_container, only: css_pdt
3093 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3094 procedure(logical(LK)) :: isSorted
3095 logical(LK) :: sorted
3096 end function
3097#endif
3098
3099#if SK2_ENABLED
3100 module function isSortedCusCom_D1_PSSK2(array, isSorted) result(sorted)
3101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3102 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK2
3103#endif
3104 use pm_kind, only: SKG => SK2
3105 use pm_container, only: css_pdt
3106 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3107 procedure(logical(LK)) :: isSorted
3108 logical(LK) :: sorted
3109 end function
3110#endif
3111
3112#if SK1_ENABLED
3113 module function isSortedCusCom_D1_PSSK1(array, isSorted) result(sorted)
3114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3115 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_PSSK1
3116#endif
3117 use pm_kind, only: SKG => SK1
3118 use pm_container, only: css_pdt
3119 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3120 procedure(logical(LK)) :: isSorted
3121 logical(LK) :: sorted
3122 end function
3123#endif
3124
3125#endif
3126!PDT_ENABLED
3127
3128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3129
3130 module function isSortedCusCom_D1_BSSK(array, isSorted) result(sorted)
3131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3132 !DEC$ ATTRIBUTES DLLEXPORT :: isSortedCusCom_D1_BSSK
3133#endif
3134 use pm_kind, only: SKG => SK
3135 use pm_container, only: css_type
3136 type(css_type) , intent(in) , contiguous :: array(:)
3137 procedure(logical(LK)) :: isSorted
3138 logical(LK) :: sorted
3139 end function
3140
3141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3142
3143 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3146
3147 end interface
3148
3149!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3150
3346
3347 ! getSortedIndCusComDef
3348
3349 interface getSorted
3350
3351 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3352 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3353 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3354
3355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3356
3357#if SK5_ENABLED
3358 module function getSortedIndCusComDef_D0_SK5(array, isSorted, method) result(sorting)
3359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3360 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK5
3361#endif
3362 use pm_kind, only: SKG => SK5
3363 character(*,SKG) , intent(in) :: array
3364 procedure(logical(LK)) :: isSorted
3365 integer(IK) :: sorting(len(array, IK))
3366 type(isort_type) , intent(in) :: method
3367 end function
3368#endif
3369
3370#if SK4_ENABLED
3371 module function getSortedIndCusComDef_D0_SK4(array, isSorted, method) result(sorting)
3372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3373 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK4
3374#endif
3375 use pm_kind, only: SKG => SK4
3376 character(*,SKG) , intent(in) :: array
3377 procedure(logical(LK)) :: isSorted
3378 integer(IK) :: sorting(len(array, IK))
3379 type(isort_type) , intent(in) :: method
3380 end function
3381#endif
3382
3383#if SK3_ENABLED
3384 module function getSortedIndCusComDef_D0_SK3(array, isSorted, method) result(sorting)
3385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3386 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK3
3387#endif
3388 use pm_kind, only: SKG => SK3
3389 character(*,SKG) , intent(in) :: array
3390 procedure(logical(LK)) :: isSorted
3391 integer(IK) :: sorting(len(array, IK))
3392 type(isort_type) , intent(in) :: method
3393 end function
3394#endif
3395
3396#if SK2_ENABLED
3397 module function getSortedIndCusComDef_D0_SK2(array, isSorted, method) result(sorting)
3398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3399 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK2
3400#endif
3401 use pm_kind, only: SKG => SK2
3402 character(*,SKG) , intent(in) :: array
3403 procedure(logical(LK)) :: isSorted
3404 integer(IK) :: sorting(len(array, IK))
3405 type(isort_type) , intent(in) :: method
3406 end function
3407#endif
3408
3409#if SK1_ENABLED
3410 module function getSortedIndCusComDef_D0_SK1(array, isSorted, method) result(sorting)
3411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3412 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D0_SK1
3413#endif
3414 use pm_kind, only: SKG => SK1
3415 character(*,SKG) , intent(in) :: array
3416 procedure(logical(LK)) :: isSorted
3417 integer(IK) :: sorting(len(array, IK))
3418 type(isort_type) , intent(in) :: method
3419 end function
3420#endif
3421
3422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3423
3424#if SK5_ENABLED
3425 module function getSortedIndCusComDef_D1_SK5(array, isSorted, method) result(sorting)
3426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3427 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK5
3428#endif
3429 use pm_kind, only: SKG => SK5
3430 character(*,SKG) , intent(in) , contiguous :: array(:)
3431 procedure(logical(LK)) :: isSorted
3432 integer(IK) :: sorting(size(array, 1, IK))
3433 type(isort_type) , intent(in) :: method
3434 end function
3435#endif
3436
3437#if SK4_ENABLED
3438 module function getSortedIndCusComDef_D1_SK4(array, isSorted, method) result(sorting)
3439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3440 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK4
3441#endif
3442 use pm_kind, only: SKG => SK4
3443 character(*,SKG) , intent(in) , contiguous :: array(:)
3444 procedure(logical(LK)) :: isSorted
3445 integer(IK) :: sorting(size(array, 1, IK))
3446 type(isort_type) , intent(in) :: method
3447 end function
3448#endif
3449
3450#if SK3_ENABLED
3451 module function getSortedIndCusComDef_D1_SK3(array, isSorted, method) result(sorting)
3452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3453 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK3
3454#endif
3455 use pm_kind, only: SKG => SK3
3456 character(*,SKG) , intent(in) , contiguous :: array(:)
3457 procedure(logical(LK)) :: isSorted
3458 integer(IK) :: sorting(size(array, 1, IK))
3459 type(isort_type) , intent(in) :: method
3460 end function
3461#endif
3462
3463#if SK2_ENABLED
3464 module function getSortedIndCusComDef_D1_SK2(array, isSorted, method) result(sorting)
3465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3466 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK2
3467#endif
3468 use pm_kind, only: SKG => SK2
3469 character(*,SKG) , intent(in) , contiguous :: array(:)
3470 procedure(logical(LK)) :: isSorted
3471 integer(IK) :: sorting(size(array, 1, IK))
3472 type(isort_type) , intent(in) :: method
3473 end function
3474#endif
3475
3476#if SK1_ENABLED
3477 module function getSortedIndCusComDef_D1_SK1(array, isSorted, method) result(sorting)
3478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3479 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_SK1
3480#endif
3481 use pm_kind, only: SKG => SK1
3482 character(*,SKG) , intent(in) , contiguous :: array(:)
3483 procedure(logical(LK)) :: isSorted
3484 integer(IK) :: sorting(size(array, 1, IK))
3485 type(isort_type) , intent(in) :: method
3486 end function
3487#endif
3488
3489 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3490
3491#if IK5_ENABLED
3492 module function getSortedIndCusComDef_D1_IK5(array, isSorted, method) result(sorting)
3493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3494 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK5
3495#endif
3496 use pm_kind, only: IKG => IK5
3497 integer(IKG) , intent(in) , contiguous :: array(:)
3498 procedure(logical(LK)) :: isSorted
3499 integer(IK) :: sorting(size(array, 1, IK))
3500 type(isort_type) , intent(in) :: method
3501 end function
3502#endif
3503
3504#if IK4_ENABLED
3505 module function getSortedIndCusComDef_D1_IK4(array, isSorted, method) result(sorting)
3506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3507 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK4
3508#endif
3509 use pm_kind, only: IKG => IK4
3510 integer(IKG) , intent(in) , contiguous :: array(:)
3511 procedure(logical(LK)) :: isSorted
3512 integer(IK) :: sorting(size(array, 1, IK))
3513 type(isort_type) , intent(in) :: method
3514 end function
3515#endif
3516
3517#if IK3_ENABLED
3518 module function getSortedIndCusComDef_D1_IK3(array, isSorted, method) result(sorting)
3519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3520 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK3
3521#endif
3522 use pm_kind, only: IKG => IK3
3523 integer(IKG) , intent(in) , contiguous :: array(:)
3524 procedure(logical(LK)) :: isSorted
3525 integer(IK) :: sorting(size(array, 1, IK))
3526 type(isort_type) , intent(in) :: method
3527 end function
3528#endif
3529
3530#if IK2_ENABLED
3531 module function getSortedIndCusComDef_D1_IK2(array, isSorted, method) result(sorting)
3532#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3533 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK2
3534#endif
3535 use pm_kind, only: IKG => IK2
3536 integer(IKG) , intent(in) , contiguous :: array(:)
3537 procedure(logical(LK)) :: isSorted
3538 integer(IK) :: sorting(size(array, 1, IK))
3539 type(isort_type) , intent(in) :: method
3540 end function
3541#endif
3542
3543#if IK1_ENABLED
3544 module function getSortedIndCusComDef_D1_IK1(array, isSorted, method) result(sorting)
3545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3546 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_IK1
3547#endif
3548 use pm_kind, only: IKG => IK1
3549 integer(IKG) , intent(in) , contiguous :: array(:)
3550 procedure(logical(LK)) :: isSorted
3551 integer(IK) :: sorting(size(array, 1, IK))
3552 type(isort_type) , intent(in) :: method
3553 end function
3554#endif
3555
3556 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3557
3558#if LK5_ENABLED
3559 module function getSortedIndCusComDef_D1_LK5(array, isSorted, method) result(sorting)
3560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3561 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK5
3562#endif
3563 use pm_kind, only: LKG => LK5
3564 logical(LKG) , intent(in) , contiguous :: array(:)
3565 procedure(logical(LK)) :: isSorted
3566 integer(IK) :: sorting(size(array, 1, IK))
3567 type(isort_type) , intent(in) :: method
3568 end function
3569#endif
3570
3571#if LK4_ENABLED
3572 module function getSortedIndCusComDef_D1_LK4(array, isSorted, method) result(sorting)
3573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3574 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK4
3575#endif
3576 use pm_kind, only: LKG => LK4
3577 logical(LKG) , intent(in) , contiguous :: array(:)
3578 procedure(logical(LK)) :: isSorted
3579 integer(IK) :: sorting(size(array, 1, IK))
3580 type(isort_type) , intent(in) :: method
3581 end function
3582#endif
3583
3584#if LK3_ENABLED
3585 module function getSortedIndCusComDef_D1_LK3(array, isSorted, method) result(sorting)
3586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3587 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK3
3588#endif
3589 use pm_kind, only: LKG => LK3
3590 logical(LKG) , intent(in) , contiguous :: array(:)
3591 procedure(logical(LK)) :: isSorted
3592 integer(IK) :: sorting(size(array, 1, IK))
3593 type(isort_type) , intent(in) :: method
3594 end function
3595#endif
3596
3597#if LK2_ENABLED
3598 module function getSortedIndCusComDef_D1_LK2(array, isSorted, method) result(sorting)
3599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3600 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK2
3601#endif
3602 use pm_kind, only: LKG => LK2
3603 logical(LKG) , intent(in) , contiguous :: array(:)
3604 procedure(logical(LK)) :: isSorted
3605 integer(IK) :: sorting(size(array, 1, IK))
3606 type(isort_type) , intent(in) :: method
3607 end function
3608#endif
3609
3610#if LK1_ENABLED
3611 module function getSortedIndCusComDef_D1_LK1(array, isSorted, method) result(sorting)
3612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3613 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_LK1
3614#endif
3615 use pm_kind, only: LKG => LK1
3616 logical(LKG) , intent(in) , contiguous :: array(:)
3617 procedure(logical(LK)) :: isSorted
3618 integer(IK) :: sorting(size(array, 1, IK))
3619 type(isort_type) , intent(in) :: method
3620 end function
3621#endif
3622
3623 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3624
3625#if CK5_ENABLED
3626 module function getSortedIndCusComDef_D1_CK5(array, isSorted, method) result(sorting)
3627#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3628 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK5
3629#endif
3630 use pm_kind, only: CKG => CK5
3631 complex(CKG) , intent(in) , contiguous :: array(:)
3632 procedure(logical(LK)) :: isSorted
3633 integer(IK) :: sorting(size(array, 1, IK))
3634 type(isort_type) , intent(in) :: method
3635 end function
3636#endif
3637
3638#if CK4_ENABLED
3639 module function getSortedIndCusComDef_D1_CK4(array, isSorted, method) result(sorting)
3640#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3641 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK4
3642#endif
3643 use pm_kind, only: CKG => CK4
3644 complex(CKG) , intent(in) , contiguous :: array(:)
3645 procedure(logical(LK)) :: isSorted
3646 integer(IK) :: sorting(size(array, 1, IK))
3647 type(isort_type) , intent(in) :: method
3648 end function
3649#endif
3650
3651#if CK3_ENABLED
3652 module function getSortedIndCusComDef_D1_CK3(array, isSorted, method) result(sorting)
3653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3654 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK3
3655#endif
3656 use pm_kind, only: CKG => CK3
3657 complex(CKG) , intent(in) , contiguous :: array(:)
3658 procedure(logical(LK)) :: isSorted
3659 integer(IK) :: sorting(size(array, 1, IK))
3660 type(isort_type) , intent(in) :: method
3661 end function
3662#endif
3663
3664#if CK2_ENABLED
3665 module function getSortedIndCusComDef_D1_CK2(array, isSorted, method) result(sorting)
3666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3667 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK2
3668#endif
3669 use pm_kind, only: CKG => CK2
3670 complex(CKG) , intent(in) , contiguous :: array(:)
3671 procedure(logical(LK)) :: isSorted
3672 integer(IK) :: sorting(size(array, 1, IK))
3673 type(isort_type) , intent(in) :: method
3674 end function
3675#endif
3676
3677#if CK1_ENABLED
3678 module function getSortedIndCusComDef_D1_CK1(array, isSorted, method) result(sorting)
3679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3680 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_CK1
3681#endif
3682 use pm_kind, only: CKG => CK1
3683 complex(CKG) , intent(in) , contiguous :: array(:)
3684 procedure(logical(LK)) :: isSorted
3685 integer(IK) :: sorting(size(array, 1, IK))
3686 type(isort_type) , intent(in) :: method
3687 end function
3688#endif
3689
3690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3691
3692#if RK5_ENABLED
3693 module function getSortedIndCusComDef_D1_RK5(array, isSorted, method) result(sorting)
3694#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3695 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK5
3696#endif
3697 use pm_kind, only: RKG => RK5
3698 real(RKG) , intent(in) , contiguous :: array(:)
3699 procedure(logical(LK)) :: isSorted
3700 integer(IK) :: sorting(size(array, 1, IK))
3701 type(isort_type) , intent(in) :: method
3702 end function
3703#endif
3704
3705#if RK4_ENABLED
3706 module function getSortedIndCusComDef_D1_RK4(array, isSorted, method) result(sorting)
3707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3708 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK4
3709#endif
3710 use pm_kind, only: RKG => RK4
3711 real(RKG) , intent(in) , contiguous :: array(:)
3712 procedure(logical(LK)) :: isSorted
3713 integer(IK) :: sorting(size(array, 1, IK))
3714 type(isort_type) , intent(in) :: method
3715 end function
3716#endif
3717
3718#if RK3_ENABLED
3719 module function getSortedIndCusComDef_D1_RK3(array, isSorted, method) result(sorting)
3720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3721 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK3
3722#endif
3723 use pm_kind, only: RKG => RK3
3724 real(RKG) , intent(in) , contiguous :: array(:)
3725 procedure(logical(LK)) :: isSorted
3726 integer(IK) :: sorting(size(array, 1, IK))
3727 type(isort_type) , intent(in) :: method
3728 end function
3729#endif
3730
3731#if RK2_ENABLED
3732 module function getSortedIndCusComDef_D1_RK2(array, isSorted, method) result(sorting)
3733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3734 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK2
3735#endif
3736 use pm_kind, only: RKG => RK2
3737 real(RKG) , intent(in) , contiguous :: array(:)
3738 procedure(logical(LK)) :: isSorted
3739 integer(IK) :: sorting(size(array, 1, IK))
3740 type(isort_type) , intent(in) :: method
3741 end function
3742#endif
3743
3744#if RK1_ENABLED
3745 module function getSortedIndCusComDef_D1_RK1(array, isSorted, method) result(sorting)
3746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3747 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_RK1
3748#endif
3749 use pm_kind, only: RKG => RK1
3750 real(RKG) , 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 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3758
3759#if PDT_ENABLED
3760
3761#if SK5_ENABLED
3762 module function getSortedIndCusComDef_D1_PSSK5(array, isSorted, method) result(sorting)
3763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3764 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK5
3765#endif
3766 use pm_kind, only: SKG => SK5
3767 use pm_container, only: css_pdt
3768 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3769 procedure(logical(LK)) :: isSorted
3770 integer(IK) :: sorting(size(array, 1, IK))
3771 type(isort_type) , intent(in) :: method
3772 end function
3773#endif
3774
3775#if SK4_ENABLED
3776 module function getSortedIndCusComDef_D1_PSSK4(array, isSorted, method) result(sorting)
3777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3778 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK4
3779#endif
3780 use pm_kind, only: SKG => SK4
3781 use pm_container, only: css_pdt
3782 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3783 procedure(logical(LK)) :: isSorted
3784 integer(IK) :: sorting(size(array, 1, IK))
3785 type(isort_type) , intent(in) :: method
3786 end function
3787#endif
3788
3789#if SK3_ENABLED
3790 module function getSortedIndCusComDef_D1_PSSK3(array, isSorted, method) result(sorting)
3791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3792 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK3
3793#endif
3794 use pm_kind, only: SKG => SK3
3795 use pm_container, only: css_pdt
3796 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3797 procedure(logical(LK)) :: isSorted
3798 integer(IK) :: sorting(size(array, 1, IK))
3799 type(isort_type) , intent(in) :: method
3800 end function
3801#endif
3802
3803#if SK2_ENABLED
3804 module function getSortedIndCusComDef_D1_PSSK2(array, isSorted, method) result(sorting)
3805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3806 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK2
3807#endif
3808 use pm_kind, only: SKG => SK2
3809 use pm_container, only: css_pdt
3810 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3811 procedure(logical(LK)) :: isSorted
3812 integer(IK) :: sorting(size(array, 1, IK))
3813 type(isort_type) , intent(in) :: method
3814 end function
3815#endif
3816
3817#if SK1_ENABLED
3818 module function getSortedIndCusComDef_D1_PSSK1(array, isSorted, method) result(sorting)
3819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3820 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_PSSK1
3821#endif
3822 use pm_kind, only: SKG => SK1
3823 use pm_container, only: css_pdt
3824 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
3825 procedure(logical(LK)) :: isSorted
3826 integer(IK) :: sorting(size(array, 1, IK))
3827 type(isort_type) , intent(in) :: method
3828 end function
3829#endif
3830
3831#endif
3832!PDT_ENABLED
3833
3834 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3835
3836 module function getSortedIndCusComDef_D1_BSSK(array, isSorted, method) result(sorting)
3837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3838 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndCusComDef_D1_BSSK
3839#endif
3840 use pm_kind, only: SKG => SK
3841 use pm_container, only: css_type
3842 type(css_type) , intent(in) , contiguous :: array(:)
3843 procedure(logical(LK)) :: isSorted
3844 integer(IK) :: sorting(size(array, 1, IK))
3845 type(isort_type) , intent(in) :: method
3846 end function
3847
3848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3849
3850 end interface
3851
3852 ! getSortedArrCusComDef
3853
3854 interface getSorted
3855
3856 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3857 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3858 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3859
3860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3861
3862#if SK5_ENABLED
3863 module function getSortedArrCusComDef_D0_SK5(array, isSorted, method) result(sorting)
3864#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3865 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK5
3866#endif
3867 use pm_kind, only: SKG => SK5
3868 character(*,SKG) , intent(in) :: array
3869 character(len(array, IK),SKG) :: sorting
3870 procedure(logical(LK)) :: isSorted
3871 class(sort_type) , intent(in) , optional :: method
3872 end function
3873#endif
3874
3875#if SK4_ENABLED
3876 module function getSortedArrCusComDef_D0_SK4(array, isSorted, method) result(sorting)
3877#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3878 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK4
3879#endif
3880 use pm_kind, only: SKG => SK4
3881 character(*,SKG) , intent(in) :: array
3882 character(len(array, IK),SKG) :: sorting
3883 procedure(logical(LK)) :: isSorted
3884 class(sort_type) , intent(in) , optional :: method
3885 end function
3886#endif
3887
3888#if SK3_ENABLED
3889 module function getSortedArrCusComDef_D0_SK3(array, isSorted, method) result(sorting)
3890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3891 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK3
3892#endif
3893 use pm_kind, only: SKG => SK3
3894 character(*,SKG) , intent(in) :: array
3895 character(len(array, IK),SKG) :: sorting
3896 procedure(logical(LK)) :: isSorted
3897 class(sort_type) , intent(in) , optional :: method
3898 end function
3899#endif
3900
3901#if SK2_ENABLED
3902 module function getSortedArrCusComDef_D0_SK2(array, isSorted, method) result(sorting)
3903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3904 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK2
3905#endif
3906 use pm_kind, only: SKG => SK2
3907 character(*,SKG) , intent(in) :: array
3908 character(len(array, IK),SKG) :: sorting
3909 procedure(logical(LK)) :: isSorted
3910 class(sort_type) , intent(in) , optional :: method
3911 end function
3912#endif
3913
3914#if SK1_ENABLED
3915 module function getSortedArrCusComDef_D0_SK1(array, isSorted, method) result(sorting)
3916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3917 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D0_SK1
3918#endif
3919 use pm_kind, only: SKG => SK1
3920 character(*,SKG) , intent(in) :: array
3921 character(len(array, IK),SKG) :: sorting
3922 procedure(logical(LK)) :: isSorted
3923 class(sort_type) , intent(in) , optional :: method
3924 end function
3925#endif
3926
3927 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3928
3929#if SK5_ENABLED
3930 module function getSortedArrCusComDef_D1_SK5(array, isSorted, method) result(sorting)
3931#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3932 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK5
3933#endif
3934 use pm_kind, only: SKG => SK5
3935 character(*,SKG) , intent(in) , contiguous :: array(:)
3936 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
3937 procedure(logical(LK)) :: isSorted
3938 class(sort_type) , intent(in) , optional :: method
3939 end function
3940#endif
3941
3942#if SK4_ENABLED
3943 module function getSortedArrCusComDef_D1_SK4(array, isSorted, method) result(sorting)
3944#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3945 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK4
3946#endif
3947 use pm_kind, only: SKG => SK4
3948 character(*,SKG) , intent(in) , contiguous :: array(:)
3949 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
3950 procedure(logical(LK)) :: isSorted
3951 class(sort_type) , intent(in) , optional :: method
3952 end function
3953#endif
3954
3955#if SK3_ENABLED
3956 module function getSortedArrCusComDef_D1_SK3(array, isSorted, method) result(sorting)
3957#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3958 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK3
3959#endif
3960 use pm_kind, only: SKG => SK3
3961 character(*,SKG) , intent(in) , contiguous :: array(:)
3962 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
3963 procedure(logical(LK)) :: isSorted
3964 class(sort_type) , intent(in) , optional :: method
3965 end function
3966#endif
3967
3968#if SK2_ENABLED
3969 module function getSortedArrCusComDef_D1_SK2(array, isSorted, method) result(sorting)
3970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3971 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK2
3972#endif
3973 use pm_kind, only: SKG => SK2
3974 character(*,SKG) , intent(in) , contiguous :: array(:)
3975 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
3976 procedure(logical(LK)) :: isSorted
3977 class(sort_type) , intent(in) , optional :: method
3978 end function
3979#endif
3980
3981#if SK1_ENABLED
3982 module function getSortedArrCusComDef_D1_SK1(array, isSorted, method) result(sorting)
3983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3984 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_SK1
3985#endif
3986 use pm_kind, only: SKG => SK1
3987 character(*,SKG) , intent(in) , contiguous :: array(:)
3988 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
3989 procedure(logical(LK)) :: isSorted
3990 class(sort_type) , intent(in) , optional :: method
3991 end function
3992#endif
3993
3994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3995
3996#if IK5_ENABLED
3997 module function getSortedArrCusComDef_D1_IK5(array, isSorted, method) result(sorting)
3998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3999 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK5
4000#endif
4001 use pm_kind, only: IKG => IK5
4002 integer(IKG) , intent(in) , contiguous :: array(:)
4003 integer(IKG) :: sorting(size(array, 1, IK))
4004 procedure(logical(LK)) :: isSorted
4005 class(sort_type) , intent(in) , optional :: method
4006 end function
4007#endif
4008
4009#if IK4_ENABLED
4010 module function getSortedArrCusComDef_D1_IK4(array, isSorted, method) result(sorting)
4011#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4012 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK4
4013#endif
4014 use pm_kind, only: IKG => IK4
4015 integer(IKG) , intent(in) , contiguous :: array(:)
4016 integer(IKG) :: sorting(size(array, 1, IK))
4017 procedure(logical(LK)) :: isSorted
4018 class(sort_type) , intent(in) , optional :: method
4019 end function
4020#endif
4021
4022#if IK3_ENABLED
4023 module function getSortedArrCusComDef_D1_IK3(array, isSorted, method) result(sorting)
4024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4025 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK3
4026#endif
4027 use pm_kind, only: IKG => IK3
4028 integer(IKG) , intent(in) , contiguous :: array(:)
4029 integer(IKG) :: sorting(size(array, 1, IK))
4030 procedure(logical(LK)) :: isSorted
4031 class(sort_type) , intent(in) , optional :: method
4032 end function
4033#endif
4034
4035#if IK2_ENABLED
4036 module function getSortedArrCusComDef_D1_IK2(array, isSorted, method) result(sorting)
4037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4038 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK2
4039#endif
4040 use pm_kind, only: IKG => IK2
4041 integer(IKG) , intent(in) , contiguous :: array(:)
4042 integer(IKG) :: sorting(size(array, 1, IK))
4043 procedure(logical(LK)) :: isSorted
4044 class(sort_type) , intent(in) , optional :: method
4045 end function
4046#endif
4047
4048#if IK1_ENABLED
4049 module function getSortedArrCusComDef_D1_IK1(array, isSorted, method) result(sorting)
4050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4051 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_IK1
4052#endif
4053 use pm_kind, only: IKG => IK1
4054 integer(IKG) , intent(in) , contiguous :: array(:)
4055 integer(IKG) :: sorting(size(array, 1, IK))
4056 procedure(logical(LK)) :: isSorted
4057 class(sort_type) , intent(in) , optional :: method
4058 end function
4059#endif
4060
4061 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4062
4063#if LK5_ENABLED
4064 module function getSortedArrCusComDef_D1_LK5(array, isSorted, method) result(sorting)
4065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4066 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK5
4067#endif
4068 use pm_kind, only: LKG => LK5
4069 logical(LKG) , intent(in) , contiguous :: array(:)
4070 logical(LKG) :: sorting(size(array, 1, IK))
4071 procedure(logical(LK)) :: isSorted
4072 class(sort_type) , intent(in) , optional :: method
4073 end function
4074#endif
4075
4076#if LK4_ENABLED
4077 module function getSortedArrCusComDef_D1_LK4(array, isSorted, method) result(sorting)
4078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4079 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK4
4080#endif
4081 use pm_kind, only: LKG => LK4
4082 logical(LKG) , intent(in) , contiguous :: array(:)
4083 logical(LKG) :: sorting(size(array, 1, IK))
4084 procedure(logical(LK)) :: isSorted
4085 class(sort_type) , intent(in) , optional :: method
4086 end function
4087#endif
4088
4089#if LK3_ENABLED
4090 module function getSortedArrCusComDef_D1_LK3(array, isSorted, method) result(sorting)
4091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4092 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK3
4093#endif
4094 use pm_kind, only: LKG => LK3
4095 logical(LKG) , intent(in) , contiguous :: array(:)
4096 logical(LKG) :: sorting(size(array, 1, IK))
4097 procedure(logical(LK)) :: isSorted
4098 class(sort_type) , intent(in) , optional :: method
4099 end function
4100#endif
4101
4102#if LK2_ENABLED
4103 module function getSortedArrCusComDef_D1_LK2(array, isSorted, method) result(sorting)
4104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4105 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK2
4106#endif
4107 use pm_kind, only: LKG => LK2
4108 logical(LKG) , intent(in) , contiguous :: array(:)
4109 logical(LKG) :: sorting(size(array, 1, IK))
4110 procedure(logical(LK)) :: isSorted
4111 class(sort_type) , intent(in) , optional :: method
4112 end function
4113#endif
4114
4115#if LK1_ENABLED
4116 module function getSortedArrCusComDef_D1_LK1(array, isSorted, method) result(sorting)
4117#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4118 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_LK1
4119#endif
4120 use pm_kind, only: LKG => LK1
4121 logical(LKG) , intent(in) , contiguous :: array(:)
4122 logical(LKG) :: sorting(size(array, 1, IK))
4123 procedure(logical(LK)) :: isSorted
4124 class(sort_type) , intent(in) , optional :: method
4125 end function
4126#endif
4127
4128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4129
4130#if CK5_ENABLED
4131 module function getSortedArrCusComDef_D1_CK5(array, isSorted, method) result(sorting)
4132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4133 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK5
4134#endif
4135 use pm_kind, only: CKG => CK5
4136 complex(CKG) , intent(in) , contiguous :: array(:)
4137 complex(CKG) :: sorting(size(array, 1, IK))
4138 procedure(logical(LK)) :: isSorted
4139 class(sort_type) , intent(in) , optional :: method
4140 end function
4141#endif
4142
4143#if CK4_ENABLED
4144 module function getSortedArrCusComDef_D1_CK4(array, isSorted, method) result(sorting)
4145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4146 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK4
4147#endif
4148 use pm_kind, only: CKG => CK4
4149 complex(CKG) , intent(in) , contiguous :: array(:)
4150 complex(CKG) :: sorting(size(array, 1, IK))
4151 procedure(logical(LK)) :: isSorted
4152 class(sort_type) , intent(in) , optional :: method
4153 end function
4154#endif
4155
4156#if CK3_ENABLED
4157 module function getSortedArrCusComDef_D1_CK3(array, isSorted, method) result(sorting)
4158#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4159 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK3
4160#endif
4161 use pm_kind, only: CKG => CK3
4162 complex(CKG) , intent(in) , contiguous :: array(:)
4163 complex(CKG) :: sorting(size(array, 1, IK))
4164 procedure(logical(LK)) :: isSorted
4165 class(sort_type) , intent(in) , optional :: method
4166 end function
4167#endif
4168
4169#if CK2_ENABLED
4170 module function getSortedArrCusComDef_D1_CK2(array, isSorted, method) result(sorting)
4171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4172 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK2
4173#endif
4174 use pm_kind, only: CKG => CK2
4175 complex(CKG) , intent(in) , contiguous :: array(:)
4176 complex(CKG) :: sorting(size(array, 1, IK))
4177 procedure(logical(LK)) :: isSorted
4178 class(sort_type) , intent(in) , optional :: method
4179 end function
4180#endif
4181
4182#if CK1_ENABLED
4183 module function getSortedArrCusComDef_D1_CK1(array, isSorted, method) result(sorting)
4184#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4185 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_CK1
4186#endif
4187 use pm_kind, only: CKG => CK1
4188 complex(CKG) , intent(in) , contiguous :: array(:)
4189 complex(CKG) :: sorting(size(array, 1, IK))
4190 procedure(logical(LK)) :: isSorted
4191 class(sort_type) , intent(in) , optional :: method
4192 end function
4193#endif
4194
4195 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4196
4197#if RK5_ENABLED
4198 module function getSortedArrCusComDef_D1_RK5(array, isSorted, method) result(sorting)
4199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4200 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK5
4201#endif
4202 use pm_kind, only: RKG => RK5
4203 real(RKG) , intent(in) , contiguous :: array(:)
4204 real(RKG) :: sorting(size(array, 1, IK))
4205 procedure(logical(LK)) :: isSorted
4206 class(sort_type) , intent(in) , optional :: method
4207 end function
4208#endif
4209
4210#if RK4_ENABLED
4211 module function getSortedArrCusComDef_D1_RK4(array, isSorted, method) result(sorting)
4212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4213 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK4
4214#endif
4215 use pm_kind, only: RKG => RK4
4216 real(RKG) , intent(in) , contiguous :: array(:)
4217 real(RKG) :: sorting(size(array, 1, IK))
4218 procedure(logical(LK)) :: isSorted
4219 class(sort_type) , intent(in) , optional :: method
4220 end function
4221#endif
4222
4223#if RK3_ENABLED
4224 module function getSortedArrCusComDef_D1_RK3(array, isSorted, method) result(sorting)
4225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4226 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK3
4227#endif
4228 use pm_kind, only: RKG => RK3
4229 real(RKG) , intent(in) , contiguous :: array(:)
4230 real(RKG) :: sorting(size(array, 1, IK))
4231 procedure(logical(LK)) :: isSorted
4232 class(sort_type) , intent(in) , optional :: method
4233 end function
4234#endif
4235
4236#if RK2_ENABLED
4237 module function getSortedArrCusComDef_D1_RK2(array, isSorted, method) result(sorting)
4238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4239 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK2
4240#endif
4241 use pm_kind, only: RKG => RK2
4242 real(RKG) , intent(in) , contiguous :: array(:)
4243 real(RKG) :: sorting(size(array, 1, IK))
4244 procedure(logical(LK)) :: isSorted
4245 class(sort_type) , intent(in) , optional :: method
4246 end function
4247#endif
4248
4249#if RK1_ENABLED
4250 module function getSortedArrCusComDef_D1_RK1(array, isSorted, method) result(sorting)
4251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4252 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_RK1
4253#endif
4254 use pm_kind, only: RKG => RK1
4255 real(RKG) , intent(in) , contiguous :: array(:)
4256 real(RKG) :: sorting(size(array, 1, IK))
4257 procedure(logical(LK)) :: isSorted
4258 class(sort_type) , intent(in) , optional :: method
4259 end function
4260#endif
4261
4262 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4263
4264#if PDT_ENABLED
4265
4266#if SK5_ENABLED
4267 module function getSortedArrCusComDef_D1_PSSK5(array, isSorted, method) result(sorting)
4268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4269 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK5
4270#endif
4271 use pm_kind, only: SKG => SK5
4272 use pm_container, only: css_pdt
4273 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4274 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
4275 procedure(logical(LK)) :: isSorted
4276 class(sort_type) , intent(in) , optional :: method
4277 end function
4278#endif
4279
4280#if SK4_ENABLED
4281 module function getSortedArrCusComDef_D1_PSSK4(array, isSorted, method) result(sorting)
4282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4283 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK4
4284#endif
4285 use pm_kind, only: SKG => SK4
4286 use pm_container, only: css_pdt
4287 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4288 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
4289 procedure(logical(LK)) :: isSorted
4290 class(sort_type) , intent(in) , optional :: method
4291 end function
4292#endif
4293
4294#if SK3_ENABLED
4295 module function getSortedArrCusComDef_D1_PSSK3(array, isSorted, method) result(sorting)
4296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4297 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK3
4298#endif
4299 use pm_kind, only: SKG => SK3
4300 use pm_container, only: css_pdt
4301 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4302 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
4303 procedure(logical(LK)) :: isSorted
4304 class(sort_type) , intent(in) , optional :: method
4305 end function
4306#endif
4307
4308#if SK2_ENABLED
4309 module function getSortedArrCusComDef_D1_PSSK2(array, isSorted, method) result(sorting)
4310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4311 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK2
4312#endif
4313 use pm_kind, only: SKG => SK2
4314 use pm_container, only: css_pdt
4315 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4316 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
4317 procedure(logical(LK)) :: isSorted
4318 class(sort_type) , intent(in) , optional :: method
4319 end function
4320#endif
4321
4322#if SK1_ENABLED
4323 module function getSortedArrCusComDef_D1_PSSK1(array, isSorted, method) result(sorting)
4324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4325 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_PSSK1
4326#endif
4327 use pm_kind, only: SKG => SK1
4328 use pm_container, only: css_pdt
4329 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4330 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
4331 procedure(logical(LK)) :: isSorted
4332 class(sort_type) , intent(in) , optional :: method
4333 end function
4334#endif
4335
4336#endif
4337!PDT_ENABLED
4338
4339 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4340
4341 module function getSortedArrCusComDef_D1_BSSK(array, isSorted, method) result(sorting)
4342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4343 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrCusComDef_D1_BSSK
4344#endif
4345 use pm_kind, only: SKG => SK
4346 use pm_container, only: css_type
4347 type(css_type) , intent(in) , contiguous :: array(:)
4348 type(css_type) :: sorting(size(array, 1, IK))
4349 procedure(logical(LK)) :: isSorted
4350 class(sort_type) , intent(in) , optional :: method
4351 end function
4352
4353 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4354
4355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4356 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4357 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4358
4359 end interface
4360
4361 ! getSortedIndDefComDef
4362
4363 interface getSorted
4364
4365 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4366 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4367 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4368
4369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4370
4371#if SK5_ENABLED
4372 module function getSortedIndDefComDef_D0_SK5(array, method) result(sorting)
4373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4374 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK5
4375#endif
4376 use pm_kind, only: SKG => SK5
4377 character(*,SKG) , intent(in) :: array
4378 integer(IK) :: sorting(len(array, IK))
4379 type(isort_type) , intent(in) :: method
4380 end function
4381#endif
4382
4383#if SK4_ENABLED
4384 module function getSortedIndDefComDef_D0_SK4(array, method) result(sorting)
4385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4386 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK4
4387#endif
4388 use pm_kind, only: SKG => SK4
4389 character(*,SKG) , intent(in) :: array
4390 integer(IK) :: sorting(len(array, IK))
4391 type(isort_type) , intent(in) :: method
4392 end function
4393#endif
4394
4395#if SK3_ENABLED
4396 module function getSortedIndDefComDef_D0_SK3(array, method) result(sorting)
4397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4398 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK3
4399#endif
4400 use pm_kind, only: SKG => SK3
4401 character(*,SKG) , intent(in) :: array
4402 integer(IK) :: sorting(len(array, IK))
4403 type(isort_type) , intent(in) :: method
4404 end function
4405#endif
4406
4407#if SK2_ENABLED
4408 module function getSortedIndDefComDef_D0_SK2(array, method) result(sorting)
4409#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4410 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK2
4411#endif
4412 use pm_kind, only: SKG => SK2
4413 character(*,SKG) , intent(in) :: array
4414 integer(IK) :: sorting(len(array, IK))
4415 type(isort_type) , intent(in) :: method
4416 end function
4417#endif
4418
4419#if SK1_ENABLED
4420 module function getSortedIndDefComDef_D0_SK1(array, method) result(sorting)
4421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4422 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D0_SK1
4423#endif
4424 use pm_kind, only: SKG => SK1
4425 character(*,SKG) , intent(in) :: array
4426 integer(IK) :: sorting(len(array, IK))
4427 type(isort_type) , intent(in) :: method
4428 end function
4429#endif
4430
4431 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4432
4433#if SK5_ENABLED
4434 module function getSortedIndDefComDef_D1_SK5(array, method) result(sorting)
4435#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4436 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK5
4437#endif
4438 use pm_kind, only: SKG => SK5
4439 character(*,SKG) , intent(in) , contiguous :: array(:)
4440 integer(IK) :: sorting(size(array, 1, IK))
4441 type(isort_type) , intent(in) :: method
4442 end function
4443#endif
4444
4445#if SK4_ENABLED
4446 module function getSortedIndDefComDef_D1_SK4(array, method) result(sorting)
4447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4448 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK4
4449#endif
4450 use pm_kind, only: SKG => SK4
4451 character(*,SKG) , intent(in) , contiguous :: array(:)
4452 integer(IK) :: sorting(size(array, 1, IK))
4453 type(isort_type) , intent(in) :: method
4454 end function
4455#endif
4456
4457#if SK3_ENABLED
4458 module function getSortedIndDefComDef_D1_SK3(array, method) result(sorting)
4459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4460 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK3
4461#endif
4462 use pm_kind, only: SKG => SK3
4463 character(*,SKG) , intent(in) , contiguous :: array(:)
4464 integer(IK) :: sorting(size(array, 1, IK))
4465 type(isort_type) , intent(in) :: method
4466 end function
4467#endif
4468
4469#if SK2_ENABLED
4470 module function getSortedIndDefComDef_D1_SK2(array, method) result(sorting)
4471#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4472 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK2
4473#endif
4474 use pm_kind, only: SKG => SK2
4475 character(*,SKG) , intent(in) , contiguous :: array(:)
4476 integer(IK) :: sorting(size(array, 1, IK))
4477 type(isort_type) , intent(in) :: method
4478 end function
4479#endif
4480
4481#if SK1_ENABLED
4482 module function getSortedIndDefComDef_D1_SK1(array, method) result(sorting)
4483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4484 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_SK1
4485#endif
4486 use pm_kind, only: SKG => SK1
4487 character(*,SKG) , intent(in) , contiguous :: array(:)
4488 integer(IK) :: sorting(size(array, 1, IK))
4489 type(isort_type) , intent(in) :: method
4490 end function
4491#endif
4492
4493 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4494
4495#if IK5_ENABLED
4496 module function getSortedIndDefComDef_D1_IK5(array, method) result(sorting)
4497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4498 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK5
4499#endif
4500 use pm_kind, only: IKG => IK5
4501 integer(IKG) , intent(in) , contiguous :: array(:)
4502 integer(IK) :: sorting(size(array, 1, IK))
4503 type(isort_type) , intent(in) :: method
4504 end function
4505#endif
4506
4507#if IK4_ENABLED
4508 module function getSortedIndDefComDef_D1_IK4(array, method) result(sorting)
4509#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4510 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK4
4511#endif
4512 use pm_kind, only: IKG => IK4
4513 integer(IKG) , intent(in) , contiguous :: array(:)
4514 integer(IK) :: sorting(size(array, 1, IK))
4515 type(isort_type) , intent(in) :: method
4516 end function
4517#endif
4518
4519#if IK3_ENABLED
4520 module function getSortedIndDefComDef_D1_IK3(array, method) result(sorting)
4521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4522 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK3
4523#endif
4524 use pm_kind, only: IKG => IK3
4525 integer(IKG) , intent(in) , contiguous :: array(:)
4526 integer(IK) :: sorting(size(array, 1, IK))
4527 type(isort_type) , intent(in) :: method
4528 end function
4529#endif
4530
4531#if IK2_ENABLED
4532 module function getSortedIndDefComDef_D1_IK2(array, method) result(sorting)
4533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4534 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK2
4535#endif
4536 use pm_kind, only: IKG => IK2
4537 integer(IKG) , intent(in) , contiguous :: array(:)
4538 integer(IK) :: sorting(size(array, 1, IK))
4539 type(isort_type) , intent(in) :: method
4540 end function
4541#endif
4542
4543#if IK1_ENABLED
4544 module function getSortedIndDefComDef_D1_IK1(array, method) result(sorting)
4545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4546 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_IK1
4547#endif
4548 use pm_kind, only: IKG => IK1
4549 integer(IKG) , intent(in) , contiguous :: array(:)
4550 integer(IK) :: sorting(size(array, 1, IK))
4551 type(isort_type) , intent(in) :: method
4552 end function
4553#endif
4554
4555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4556
4557#if LK5_ENABLED
4558 module function getSortedIndDefComDef_D1_LK5(array, method) result(sorting)
4559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4560 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK5
4561#endif
4562 use pm_kind, only: LKG => LK5
4563 logical(LKG) , intent(in) , contiguous :: array(:)
4564 integer(IK) :: sorting(size(array, 1, IK))
4565 type(isort_type) , intent(in) :: method
4566 end function
4567#endif
4568
4569#if LK4_ENABLED
4570 module function getSortedIndDefComDef_D1_LK4(array, method) result(sorting)
4571#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4572 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK4
4573#endif
4574 use pm_kind, only: LKG => LK4
4575 logical(LKG) , intent(in) , contiguous :: array(:)
4576 integer(IK) :: sorting(size(array, 1, IK))
4577 type(isort_type) , intent(in) :: method
4578 end function
4579#endif
4580
4581#if LK3_ENABLED
4582 module function getSortedIndDefComDef_D1_LK3(array, method) result(sorting)
4583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4584 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK3
4585#endif
4586 use pm_kind, only: LKG => LK3
4587 logical(LKG) , intent(in) , contiguous :: array(:)
4588 integer(IK) :: sorting(size(array, 1, IK))
4589 type(isort_type) , intent(in) :: method
4590 end function
4591#endif
4592
4593#if LK2_ENABLED
4594 module function getSortedIndDefComDef_D1_LK2(array, method) result(sorting)
4595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4596 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK2
4597#endif
4598 use pm_kind, only: LKG => LK2
4599 logical(LKG) , intent(in) , contiguous :: array(:)
4600 integer(IK) :: sorting(size(array, 1, IK))
4601 type(isort_type) , intent(in) :: method
4602 end function
4603#endif
4604
4605#if LK1_ENABLED
4606 module function getSortedIndDefComDef_D1_LK1(array, method) result(sorting)
4607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4608 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_LK1
4609#endif
4610 use pm_kind, only: LKG => LK1
4611 logical(LKG) , intent(in) , contiguous :: array(:)
4612 integer(IK) :: sorting(size(array, 1, IK))
4613 type(isort_type) , intent(in) :: method
4614 end function
4615#endif
4616
4617 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4618
4619#if CK5_ENABLED
4620 module function getSortedIndDefComDef_D1_CK5(array, method) result(sorting)
4621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4622 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK5
4623#endif
4624 use pm_kind, only: CKG => CK5
4625 complex(CKG) , intent(in) , contiguous :: array(:)
4626 integer(IK) :: sorting(size(array, 1, IK))
4627 type(isort_type) , intent(in) :: method
4628 end function
4629#endif
4630
4631#if CK4_ENABLED
4632 module function getSortedIndDefComDef_D1_CK4(array, method) result(sorting)
4633#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4634 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK4
4635#endif
4636 use pm_kind, only: CKG => CK4
4637 complex(CKG) , intent(in) , contiguous :: array(:)
4638 integer(IK) :: sorting(size(array, 1, IK))
4639 type(isort_type) , intent(in) :: method
4640 end function
4641#endif
4642
4643#if CK3_ENABLED
4644 module function getSortedIndDefComDef_D1_CK3(array, method) result(sorting)
4645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4646 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK3
4647#endif
4648 use pm_kind, only: CKG => CK3
4649 complex(CKG) , intent(in) , contiguous :: array(:)
4650 integer(IK) :: sorting(size(array, 1, IK))
4651 type(isort_type) , intent(in) :: method
4652 end function
4653#endif
4654
4655#if CK2_ENABLED
4656 module function getSortedIndDefComDef_D1_CK2(array, method) result(sorting)
4657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4658 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK2
4659#endif
4660 use pm_kind, only: CKG => CK2
4661 complex(CKG) , intent(in) , contiguous :: array(:)
4662 integer(IK) :: sorting(size(array, 1, IK))
4663 type(isort_type) , intent(in) :: method
4664 end function
4665#endif
4666
4667#if CK1_ENABLED
4668 module function getSortedIndDefComDef_D1_CK1(array, method) result(sorting)
4669#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4670 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_CK1
4671#endif
4672 use pm_kind, only: CKG => CK1
4673 complex(CKG) , intent(in) , contiguous :: array(:)
4674 integer(IK) :: sorting(size(array, 1, IK))
4675 type(isort_type) , intent(in) :: method
4676 end function
4677#endif
4678
4679 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4680
4681#if RK5_ENABLED
4682 module function getSortedIndDefComDef_D1_RK5(array, method) result(sorting)
4683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4684 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK5
4685#endif
4686 use pm_kind, only: RKG => RK5
4687 real(RKG) , intent(in) , contiguous :: array(:)
4688 integer(IK) :: sorting(size(array, 1, IK))
4689 type(isort_type) , intent(in) :: method
4690 end function
4691#endif
4692
4693#if RK4_ENABLED
4694 module function getSortedIndDefComDef_D1_RK4(array, method) result(sorting)
4695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4696 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK4
4697#endif
4698 use pm_kind, only: RKG => RK4
4699 real(RKG) , intent(in) , contiguous :: array(:)
4700 integer(IK) :: sorting(size(array, 1, IK))
4701 type(isort_type) , intent(in) :: method
4702 end function
4703#endif
4704
4705#if RK3_ENABLED
4706 module function getSortedIndDefComDef_D1_RK3(array, method) result(sorting)
4707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4708 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK3
4709#endif
4710 use pm_kind, only: RKG => RK3
4711 real(RKG) , intent(in) , contiguous :: array(:)
4712 integer(IK) :: sorting(size(array, 1, IK))
4713 type(isort_type) , intent(in) :: method
4714 end function
4715#endif
4716
4717#if RK2_ENABLED
4718 module function getSortedIndDefComDef_D1_RK2(array, method) result(sorting)
4719#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4720 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK2
4721#endif
4722 use pm_kind, only: RKG => RK2
4723 real(RKG) , 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 RK1_ENABLED
4730 module function getSortedIndDefComDef_D1_RK1(array, method) result(sorting)
4731#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4732 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_RK1
4733#endif
4734 use pm_kind, only: RKG => RK1
4735 real(RKG) , intent(in) , contiguous :: array(:)
4736 integer(IK) :: sorting(size(array, 1, IK))
4737 type(isort_type) , intent(in) :: method
4738 end function
4739#endif
4740
4741 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4742
4743#if PDT_ENABLED
4744
4745#if SK5_ENABLED
4746 module function getSortedIndDefComDef_D1_PSSK5(array, method) result(sorting)
4747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4748 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK5
4749#endif
4750 use pm_kind, only: SKG => SK5
4751 use pm_container, only: css_pdt
4752 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4753 integer(IK) :: sorting(size(array, 1, IK))
4754 type(isort_type) , intent(in) :: method
4755 end function
4756#endif
4757
4758#if SK4_ENABLED
4759 module function getSortedIndDefComDef_D1_PSSK4(array, method) result(sorting)
4760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4761 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK4
4762#endif
4763 use pm_kind, only: SKG => SK4
4764 use pm_container, only: css_pdt
4765 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4766 integer(IK) :: sorting(size(array, 1, IK))
4767 type(isort_type) , intent(in) :: method
4768 end function
4769#endif
4770
4771#if SK3_ENABLED
4772 module function getSortedIndDefComDef_D1_PSSK3(array, method) result(sorting)
4773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4774 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK3
4775#endif
4776 use pm_kind, only: SKG => SK3
4777 use pm_container, only: css_pdt
4778 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4779 integer(IK) :: sorting(size(array, 1, IK))
4780 type(isort_type) , intent(in) :: method
4781 end function
4782#endif
4783
4784#if SK2_ENABLED
4785 module function getSortedIndDefComDef_D1_PSSK2(array, method) result(sorting)
4786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4787 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK2
4788#endif
4789 use pm_kind, only: SKG => SK2
4790 use pm_container, only: css_pdt
4791 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4792 integer(IK) :: sorting(size(array, 1, IK))
4793 type(isort_type) , intent(in) :: method
4794 end function
4795#endif
4796
4797#if SK1_ENABLED
4798 module function getSortedIndDefComDef_D1_PSSK1(array, method) result(sorting)
4799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4800 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_PSSK1
4801#endif
4802 use pm_kind, only: SKG => SK1
4803 use pm_container, only: css_pdt
4804 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
4805 integer(IK) :: sorting(size(array, 1, IK))
4806 type(isort_type) , intent(in) :: method
4807 end function
4808#endif
4809
4810#endif
4811!PDT_ENABLED
4812
4813 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4814
4815 module function getSortedIndDefComDef_D1_BSSK(array, method) result(sorting)
4816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4817 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedIndDefComDef_D1_BSSK
4818#endif
4819 use pm_kind, only: SKG => SK
4820 use pm_container, only: css_type
4821 type(css_type) , intent(in) , contiguous :: array(:)
4822 integer(IK) :: sorting(size(array, 1, IK))
4823 type(isort_type) , intent(in) :: method
4824 end function
4825
4826 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4827
4828 end interface
4829
4830 ! getSortedArrDefComDef
4831
4832 interface getSorted
4833
4834 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4835 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4836 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4837
4838 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4839
4840#if SK5_ENABLED
4841 module function getSortedArrDefComDef_D0_SK5(array, method) result(sorting)
4842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4843 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK5
4844#endif
4845 use pm_kind, only: SKG => SK5
4846 character(*,SKG) , intent(in) :: array
4847 character(len(array, IK),SKG) :: sorting
4848 class(sort_type) , intent(in) , optional :: method
4849 end function
4850#endif
4851
4852#if SK4_ENABLED
4853 module function getSortedArrDefComDef_D0_SK4(array, method) result(sorting)
4854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4855 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK4
4856#endif
4857 use pm_kind, only: SKG => SK4
4858 character(*,SKG) , intent(in) :: array
4859 character(len(array, IK),SKG) :: sorting
4860 class(sort_type) , intent(in) , optional :: method
4861 end function
4862#endif
4863
4864#if SK3_ENABLED
4865 module function getSortedArrDefComDef_D0_SK3(array, method) result(sorting)
4866#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4867 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK3
4868#endif
4869 use pm_kind, only: SKG => SK3
4870 character(*,SKG) , intent(in) :: array
4871 character(len(array, IK),SKG) :: sorting
4872 class(sort_type) , intent(in) , optional :: method
4873 end function
4874#endif
4875
4876#if SK2_ENABLED
4877 module function getSortedArrDefComDef_D0_SK2(array, method) result(sorting)
4878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4879 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK2
4880#endif
4881 use pm_kind, only: SKG => SK2
4882 character(*,SKG) , intent(in) :: array
4883 character(len(array, IK),SKG) :: sorting
4884 class(sort_type) , intent(in) , optional :: method
4885 end function
4886#endif
4887
4888#if SK1_ENABLED
4889 module function getSortedArrDefComDef_D0_SK1(array, method) result(sorting)
4890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4891 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D0_SK1
4892#endif
4893 use pm_kind, only: SKG => SK1
4894 character(*,SKG) , intent(in) :: array
4895 character(len(array, IK),SKG) :: sorting
4896 class(sort_type) , intent(in) , optional :: method
4897 end function
4898#endif
4899
4900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4901
4902#if SK5_ENABLED
4903 module function getSortedArrDefComDef_D1_SK5(array, method) result(sorting)
4904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4905 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK5
4906#endif
4907 use pm_kind, only: SKG => SK5
4908 character(*,SKG) , intent(in) , contiguous :: array(:)
4909 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
4910 class(sort_type) , intent(in) , optional :: method
4911 end function
4912#endif
4913
4914#if SK4_ENABLED
4915 module function getSortedArrDefComDef_D1_SK4(array, method) result(sorting)
4916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4917 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK4
4918#endif
4919 use pm_kind, only: SKG => SK4
4920 character(*,SKG) , intent(in) , contiguous :: array(:)
4921 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
4922 class(sort_type) , intent(in) , optional :: method
4923 end function
4924#endif
4925
4926#if SK3_ENABLED
4927 module function getSortedArrDefComDef_D1_SK3(array, method) result(sorting)
4928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4929 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK3
4930#endif
4931 use pm_kind, only: SKG => SK3
4932 character(*,SKG) , intent(in) , contiguous :: array(:)
4933 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
4934 class(sort_type) , intent(in) , optional :: method
4935 end function
4936#endif
4937
4938#if SK2_ENABLED
4939 module function getSortedArrDefComDef_D1_SK2(array, method) result(sorting)
4940#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4941 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK2
4942#endif
4943 use pm_kind, only: SKG => SK2
4944 character(*,SKG) , intent(in) , contiguous :: array(:)
4945 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
4946 class(sort_type) , intent(in) , optional :: method
4947 end function
4948#endif
4949
4950#if SK1_ENABLED
4951 module function getSortedArrDefComDef_D1_SK1(array, method) result(sorting)
4952#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4953 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_SK1
4954#endif
4955 use pm_kind, only: SKG => SK1
4956 character(*,SKG) , intent(in) , contiguous :: array(:)
4957 character(len(array, IK),SKG) :: sorting(size(array, 1, IK))
4958 class(sort_type) , intent(in) , optional :: method
4959 end function
4960#endif
4961
4962 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4963
4964#if IK5_ENABLED
4965 module function getSortedArrDefComDef_D1_IK5(array, method) result(sorting)
4966#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4967 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK5
4968#endif
4969 use pm_kind, only: IKG => IK5
4970 integer(IKG) , intent(in) , contiguous :: array(:)
4971 integer(IKG) :: sorting(size(array, 1, IK))
4972 class(sort_type) , intent(in) , optional :: method
4973 end function
4974#endif
4975
4976#if IK4_ENABLED
4977 module function getSortedArrDefComDef_D1_IK4(array, method) result(sorting)
4978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4979 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK4
4980#endif
4981 use pm_kind, only: IKG => IK4
4982 integer(IKG) , intent(in) , contiguous :: array(:)
4983 integer(IKG) :: sorting(size(array, 1, IK))
4984 class(sort_type) , intent(in) , optional :: method
4985 end function
4986#endif
4987
4988#if IK3_ENABLED
4989 module function getSortedArrDefComDef_D1_IK3(array, method) result(sorting)
4990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4991 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK3
4992#endif
4993 use pm_kind, only: IKG => IK3
4994 integer(IKG) , intent(in) , contiguous :: array(:)
4995 integer(IKG) :: sorting(size(array, 1, IK))
4996 class(sort_type) , intent(in) , optional :: method
4997 end function
4998#endif
4999
5000#if IK2_ENABLED
5001 module function getSortedArrDefComDef_D1_IK2(array, method) result(sorting)
5002#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5003 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK2
5004#endif
5005 use pm_kind, only: IKG => IK2
5006 integer(IKG) , intent(in) , contiguous :: array(:)
5007 integer(IKG) :: sorting(size(array, 1, IK))
5008 class(sort_type) , intent(in) , optional :: method
5009 end function
5010#endif
5011
5012#if IK1_ENABLED
5013 module function getSortedArrDefComDef_D1_IK1(array, method) result(sorting)
5014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5015 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_IK1
5016#endif
5017 use pm_kind, only: IKG => IK1
5018 integer(IKG) , intent(in) , contiguous :: array(:)
5019 integer(IKG) :: sorting(size(array, 1, IK))
5020 class(sort_type) , intent(in) , optional :: method
5021 end function
5022#endif
5023
5024 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5025
5026#if LK5_ENABLED
5027 module function getSortedArrDefComDef_D1_LK5(array, method) result(sorting)
5028#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5029 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK5
5030#endif
5031 use pm_kind, only: LKG => LK5
5032 logical(LKG) , intent(in) , contiguous :: array(:)
5033 logical(LKG) :: sorting(size(array, 1, IK))
5034 class(sort_type) , intent(in) , optional :: method
5035 end function
5036#endif
5037
5038#if LK4_ENABLED
5039 module function getSortedArrDefComDef_D1_LK4(array, method) result(sorting)
5040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5041 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK4
5042#endif
5043 use pm_kind, only: LKG => LK4
5044 logical(LKG) , intent(in) , contiguous :: array(:)
5045 logical(LKG) :: sorting(size(array, 1, IK))
5046 class(sort_type) , intent(in) , optional :: method
5047 end function
5048#endif
5049
5050#if LK3_ENABLED
5051 module function getSortedArrDefComDef_D1_LK3(array, method) result(sorting)
5052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5053 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK3
5054#endif
5055 use pm_kind, only: LKG => LK3
5056 logical(LKG) , intent(in) , contiguous :: array(:)
5057 logical(LKG) :: sorting(size(array, 1, IK))
5058 class(sort_type) , intent(in) , optional :: method
5059 end function
5060#endif
5061
5062#if LK2_ENABLED
5063 module function getSortedArrDefComDef_D1_LK2(array, method) result(sorting)
5064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5065 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK2
5066#endif
5067 use pm_kind, only: LKG => LK2
5068 logical(LKG) , intent(in) , contiguous :: array(:)
5069 logical(LKG) :: sorting(size(array, 1, IK))
5070 class(sort_type) , intent(in) , optional :: method
5071 end function
5072#endif
5073
5074#if LK1_ENABLED
5075 module function getSortedArrDefComDef_D1_LK1(array, method) result(sorting)
5076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5077 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_LK1
5078#endif
5079 use pm_kind, only: LKG => LK1
5080 logical(LKG) , intent(in) , contiguous :: array(:)
5081 logical(LKG) :: sorting(size(array, 1, IK))
5082 class(sort_type) , intent(in) , optional :: method
5083 end function
5084#endif
5085
5086 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5087
5088#if CK5_ENABLED
5089 module function getSortedArrDefComDef_D1_CK5(array, method) result(sorting)
5090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5091 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK5
5092#endif
5093 use pm_kind, only: CKG => CK5
5094 complex(CKG) , intent(in) , contiguous :: array(:)
5095 complex(CKG) :: sorting(size(array, 1, IK))
5096 class(sort_type) , intent(in) , optional :: method
5097 end function
5098#endif
5099
5100#if CK4_ENABLED
5101 module function getSortedArrDefComDef_D1_CK4(array, method) result(sorting)
5102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5103 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK4
5104#endif
5105 use pm_kind, only: CKG => CK4
5106 complex(CKG) , intent(in) , contiguous :: array(:)
5107 complex(CKG) :: sorting(size(array, 1, IK))
5108 class(sort_type) , intent(in) , optional :: method
5109 end function
5110#endif
5111
5112#if CK3_ENABLED
5113 module function getSortedArrDefComDef_D1_CK3(array, method) result(sorting)
5114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5115 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK3
5116#endif
5117 use pm_kind, only: CKG => CK3
5118 complex(CKG) , intent(in) , contiguous :: array(:)
5119 complex(CKG) :: sorting(size(array, 1, IK))
5120 class(sort_type) , intent(in) , optional :: method
5121 end function
5122#endif
5123
5124#if CK2_ENABLED
5125 module function getSortedArrDefComDef_D1_CK2(array, method) result(sorting)
5126#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5127 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK2
5128#endif
5129 use pm_kind, only: CKG => CK2
5130 complex(CKG) , intent(in) , contiguous :: array(:)
5131 complex(CKG) :: sorting(size(array, 1, IK))
5132 class(sort_type) , intent(in) , optional :: method
5133 end function
5134#endif
5135
5136#if CK1_ENABLED
5137 module function getSortedArrDefComDef_D1_CK1(array, method) result(sorting)
5138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5139 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_CK1
5140#endif
5141 use pm_kind, only: CKG => CK1
5142 complex(CKG) , intent(in) , contiguous :: array(:)
5143 complex(CKG) :: sorting(size(array, 1, IK))
5144 class(sort_type) , intent(in) , optional :: method
5145 end function
5146#endif
5147
5148 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5149
5150#if RK5_ENABLED
5151 module function getSortedArrDefComDef_D1_RK5(array, method) result(sorting)
5152#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5153 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK5
5154#endif
5155 use pm_kind, only: RKG => RK5
5156 real(RKG) , intent(in) , contiguous :: array(:)
5157 real(RKG) :: sorting(size(array, 1, IK))
5158 class(sort_type) , intent(in) , optional :: method
5159 end function
5160#endif
5161
5162#if RK4_ENABLED
5163 module function getSortedArrDefComDef_D1_RK4(array, method) result(sorting)
5164#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5165 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK4
5166#endif
5167 use pm_kind, only: RKG => RK4
5168 real(RKG) , intent(in) , contiguous :: array(:)
5169 real(RKG) :: sorting(size(array, 1, IK))
5170 class(sort_type) , intent(in) , optional :: method
5171 end function
5172#endif
5173
5174#if RK3_ENABLED
5175 module function getSortedArrDefComDef_D1_RK3(array, method) result(sorting)
5176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5177 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK3
5178#endif
5179 use pm_kind, only: RKG => RK3
5180 real(RKG) , intent(in) , contiguous :: array(:)
5181 real(RKG) :: sorting(size(array, 1, IK))
5182 class(sort_type) , intent(in) , optional :: method
5183 end function
5184#endif
5185
5186#if RK2_ENABLED
5187 module function getSortedArrDefComDef_D1_RK2(array, method) result(sorting)
5188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5189 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK2
5190#endif
5191 use pm_kind, only: RKG => RK2
5192 real(RKG) , intent(in) , contiguous :: array(:)
5193 real(RKG) :: sorting(size(array, 1, IK))
5194 class(sort_type) , intent(in) , optional :: method
5195 end function
5196#endif
5197
5198#if RK1_ENABLED
5199 module function getSortedArrDefComDef_D1_RK1(array, method) result(sorting)
5200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5201 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_RK1
5202#endif
5203 use pm_kind, only: RKG => RK1
5204 real(RKG) , intent(in) , contiguous :: array(:)
5205 real(RKG) :: sorting(size(array, 1, IK))
5206 class(sort_type) , intent(in) , optional :: method
5207 end function
5208#endif
5209
5210 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5211
5212#if PDT_ENABLED
5213
5214#if SK5_ENABLED
5215 module function getSortedArrDefComDef_D1_PSSK5(array, method) result(sorting)
5216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5217 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK5
5218#endif
5219 use pm_kind, only: SKG => SK5
5220 use pm_container, only: css_pdt
5221 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
5222 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
5223 class(sort_type) , intent(in) , optional :: method
5224 end function
5225#endif
5226
5227#if SK4_ENABLED
5228 module function getSortedArrDefComDef_D1_PSSK4(array, method) result(sorting)
5229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5230 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK4
5231#endif
5232 use pm_kind, only: SKG => SK4
5233 use pm_container, only: css_pdt
5234 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
5235 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
5236 class(sort_type) , intent(in) , optional :: method
5237 end function
5238#endif
5239
5240#if SK3_ENABLED
5241 module function getSortedArrDefComDef_D1_PSSK3(array, method) result(sorting)
5242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5243 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK3
5244#endif
5245 use pm_kind, only: SKG => SK3
5246 use pm_container, only: css_pdt
5247 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
5248 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
5249 class(sort_type) , intent(in) , optional :: method
5250 end function
5251#endif
5252
5253#if SK2_ENABLED
5254 module function getSortedArrDefComDef_D1_PSSK2(array, method) result(sorting)
5255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5256 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK2
5257#endif
5258 use pm_kind, only: SKG => SK2
5259 use pm_container, only: css_pdt
5260 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
5261 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
5262 class(sort_type) , intent(in) , optional :: method
5263 end function
5264#endif
5265
5266#if SK1_ENABLED
5267 module function getSortedArrDefComDef_D1_PSSK1(array, method) result(sorting)
5268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5269 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_PSSK1
5270#endif
5271 use pm_kind, only: SKG => SK1
5272 use pm_container, only: css_pdt
5273 type(css_pdt(SKG)) , intent(in) , contiguous :: array(:)
5274 type(css_pdt(SKG)) :: sorting(size(array, 1, IK))
5275 class(sort_type) , intent(in) , optional :: method
5276 end function
5277#endif
5278
5279#endif
5280!PDT_ENABLED
5281
5282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5283
5284 module function getSortedArrDefComDef_D1_BSSK(array, method) result(sorting)
5285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5286 !DEC$ ATTRIBUTES DLLEXPORT :: getSortedArrDefComDef_D1_BSSK
5287#endif
5288 use pm_kind, only: SKG => SK
5289 use pm_container, only: css_type
5290 type(css_type) , intent(in) , contiguous :: array(:)
5291 type(css_type) :: sorting(size(array, 1, IK))
5292 class(sort_type) , intent(in) , optional :: method
5293 end function
5294
5295 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5296
5297 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5298 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5300
5301 end interface
5302
5303!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5304
5537
5538 ! setSortedIndDefComDef
5539
5540 interface setSorted
5541
5542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5544 !%%%%%%%%%%%%%%%%%%%%%%%%%%