ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayFind.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
97
98 use pm_kind, only: SK, IK, LK
100
101 implicit none
102
103 character(*,SK), parameter :: MODULE_NAME = "@pm_arrayFind"
104
105!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106
363
364 ! border default D0_D0
365
366 interface getCountLoc
367
368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
370 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
371
372 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
373
374#if SK5_ENABLED
375 PURE module function getCountLocDefBorDefCom_D0_D0_SK5(array, pattern, blindness) result(count)
376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
377 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D0_D0_SK5
378#endif
379 use pm_kind, only: SKG => SK5
380 character(*,SKG) , intent(in) :: array
381 character(*,SKG) , intent(in) :: pattern
382 integer(IK) , intent(in), optional :: blindness
383 integer(IK) :: count
384 end function
385#endif
386
387#if SK4_ENABLED
388 PURE module function getCountLocDefBorDefCom_D0_D0_SK4(array, pattern, blindness) result(count)
389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
390 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D0_D0_SK4
391#endif
392 use pm_kind, only: SKG => SK4
393 character(*,SKG) , intent(in) :: array
394 character(*,SKG) , intent(in) :: pattern
395 integer(IK) , intent(in), optional :: blindness
396 integer(IK) :: count
397 end function
398#endif
399
400#if SK3_ENABLED
401 PURE module function getCountLocDefBorDefCom_D0_D0_SK3(array, pattern, blindness) result(count)
402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
403 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D0_D0_SK3
404#endif
405 use pm_kind, only: SKG => SK3
406 character(*,SKG) , intent(in) :: array
407 character(*,SKG) , intent(in) :: pattern
408 integer(IK) , intent(in), optional :: blindness
409 integer(IK) :: count
410 end function
411#endif
412
413#if SK2_ENABLED
414 PURE module function getCountLocDefBorDefCom_D0_D0_SK2(array, pattern, blindness) result(count)
415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
416 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D0_D0_SK2
417#endif
418 use pm_kind, only: SKG => SK2
419 character(*,SKG) , intent(in) :: array
420 character(*,SKG) , intent(in) :: pattern
421 integer(IK) , intent(in), optional :: blindness
422 integer(IK) :: count
423 end function
424#endif
425
426#if SK1_ENABLED
427 PURE module function getCountLocDefBorDefCom_D0_D0_SK1(array, pattern, blindness) result(count)
428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
429 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D0_D0_SK1
430#endif
431 use pm_kind, only: SKG => SK1
432 character(*,SKG) , intent(in) :: array
433 character(*,SKG) , intent(in) :: pattern
434 integer(IK) , intent(in), optional :: blindness
435 integer(IK) :: count
436 end function
437#endif
438
439 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
440
441 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
442 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
443 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
444
445 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446
447#if SK5_ENABLED
448 module function getCountLocDefBorCusCom_D0_D0_SK5(array, pattern, iseq, blindness) result(count)
449#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
450 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D0_D0_SK5
451#endif
452 use pm_kind, only: SKG => SK5
453 character(*,SKG) , intent(in) :: array
454 character(*,SKG) , intent(in) :: pattern
455 procedure(logical(LK)) :: iseq
456 integer(IK) , intent(in), optional :: blindness
457 integer(IK) :: count
458 end function
459#endif
460
461#if SK4_ENABLED
462 module function getCountLocDefBorCusCom_D0_D0_SK4(array, pattern, iseq, blindness) result(count)
463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
464 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D0_D0_SK4
465#endif
466 use pm_kind, only: SKG => SK4
467 character(*,SKG) , intent(in) :: array
468 character(*,SKG) , intent(in) :: pattern
469 procedure(logical(LK)) :: iseq
470 integer(IK) , intent(in), optional :: blindness
471 integer(IK) :: count
472 end function
473#endif
474
475#if SK3_ENABLED
476 module function getCountLocDefBorCusCom_D0_D0_SK3(array, pattern, iseq, blindness) result(count)
477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
478 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D0_D0_SK3
479#endif
480 use pm_kind, only: SKG => SK3
481 character(*,SKG) , intent(in) :: array
482 character(*,SKG) , intent(in) :: pattern
483 procedure(logical(LK)) :: iseq
484 integer(IK) , intent(in), optional :: blindness
485 integer(IK) :: count
486 end function
487#endif
488
489#if SK2_ENABLED
490 module function getCountLocDefBorCusCom_D0_D0_SK2(array, pattern, iseq, blindness) result(count)
491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
492 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D0_D0_SK2
493#endif
494 use pm_kind, only: SKG => SK2
495 character(*,SKG) , intent(in) :: array
496 character(*,SKG) , intent(in) :: pattern
497 procedure(logical(LK)) :: iseq
498 integer(IK) , intent(in), optional :: blindness
499 integer(IK) :: count
500 end function
501#endif
502
503#if SK1_ENABLED
504 module function getCountLocDefBorCusCom_D0_D0_SK1(array, pattern, iseq, blindness) result(count)
505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
506 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D0_D0_SK1
507#endif
508 use pm_kind, only: SKG => SK1
509 character(*,SKG) , intent(in) :: array
510 character(*,SKG) , intent(in) :: pattern
511 procedure(logical(LK)) :: iseq
512 integer(IK) , intent(in), optional :: blindness
513 integer(IK) :: count
514 end function
515#endif
516
517 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518
519 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
522
523 end interface
524
525 ! border default D1_D0
526
527 interface getCountLoc
528
529 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
531 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
532
533 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534
535#if SK5_ENABLED
536 PURE module function getCountLocDefBorDefCom_D1_D0_SK5(array, pattern, blindness) result(count)
537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_SK5
539#endif
540 use pm_kind, only: SKG => SK5
541 character(*,SKG) , intent(in), contiguous :: array(:)
542 character(*,SKG) , intent(in) :: pattern
543 integer(IK) , intent(in), optional :: blindness
544 integer(IK) :: count
545 end function
546#endif
547
548#if SK4_ENABLED
549 PURE module function getCountLocDefBorDefCom_D1_D0_SK4(array, pattern, blindness) result(count)
550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
551 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_SK4
552#endif
553 use pm_kind, only: SKG => SK4
554 character(*,SKG) , intent(in), contiguous :: array(:)
555 character(*,SKG) , intent(in) :: pattern
556 integer(IK) , intent(in), optional :: blindness
557 integer(IK) :: count
558 end function
559#endif
560
561#if SK3_ENABLED
562 PURE module function getCountLocDefBorDefCom_D1_D0_SK3(array, pattern, blindness) result(count)
563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
564 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_SK3
565#endif
566 use pm_kind, only: SKG => SK3
567 character(*,SKG) , intent(in), contiguous :: array(:)
568 character(*,SKG) , intent(in) :: pattern
569 integer(IK) , intent(in), optional :: blindness
570 integer(IK) :: count
571 end function
572#endif
573
574#if SK2_ENABLED
575 PURE module function getCountLocDefBorDefCom_D1_D0_SK2(array, pattern, blindness) result(count)
576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
577 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_SK2
578#endif
579 use pm_kind, only: SKG => SK2
580 character(*,SKG) , intent(in), contiguous :: array(:)
581 character(*,SKG) , intent(in) :: pattern
582 integer(IK) , intent(in), optional :: blindness
583 integer(IK) :: count
584 end function
585#endif
586
587#if SK1_ENABLED
588 PURE module function getCountLocDefBorDefCom_D1_D0_SK1(array, pattern, blindness) result(count)
589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
590 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_SK1
591#endif
592 use pm_kind, only: SKG => SK1
593 character(*,SKG) , intent(in), contiguous :: array(:)
594 character(*,SKG) , intent(in) :: pattern
595 integer(IK) , intent(in), optional :: blindness
596 integer(IK) :: count
597 end function
598#endif
599
600 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
601
602#if IK5_ENABLED
603 PURE module function getCountLocDefBorDefCom_D1_D0_IK5(array, pattern, blindness) result(count)
604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
605 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_IK5
606#endif
607 use pm_kind, only: IKG => IK5
608 integer(IKG) , intent(in), contiguous :: array(:)
609 integer(IKG) , intent(in) :: pattern
610 integer(IK) , intent(in), optional :: blindness
611 integer(IK) :: count
612 end function
613#endif
614
615#if IK4_ENABLED
616 PURE module function getCountLocDefBorDefCom_D1_D0_IK4(array, pattern, blindness) result(count)
617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
618 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_IK4
619#endif
620 use pm_kind, only: IKG => IK4
621 integer(IKG) , intent(in), contiguous :: array(:)
622 integer(IKG) , intent(in) :: pattern
623 integer(IK) , intent(in), optional :: blindness
624 integer(IK) :: count
625 end function
626#endif
627
628#if IK3_ENABLED
629 PURE module function getCountLocDefBorDefCom_D1_D0_IK3(array, pattern, blindness) result(count)
630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
631 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_IK3
632#endif
633 use pm_kind, only: IKG => IK3
634 integer(IKG) , intent(in), contiguous :: array(:)
635 integer(IKG) , intent(in) :: pattern
636 integer(IK) , intent(in), optional :: blindness
637 integer(IK) :: count
638 end function
639#endif
640
641#if IK2_ENABLED
642 PURE module function getCountLocDefBorDefCom_D1_D0_IK2(array, pattern, blindness) result(count)
643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
644 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_IK2
645#endif
646 use pm_kind, only: IKG => IK2
647 integer(IKG) , intent(in), contiguous :: array(:)
648 integer(IKG) , intent(in) :: pattern
649 integer(IK) , intent(in), optional :: blindness
650 integer(IK) :: count
651 end function
652#endif
653
654#if IK1_ENABLED
655 PURE module function getCountLocDefBorDefCom_D1_D0_IK1(array, pattern, blindness) result(count)
656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
657 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_IK1
658#endif
659 use pm_kind, only: IKG => IK1
660 integer(IKG) , intent(in), contiguous :: array(:)
661 integer(IKG) , intent(in) :: pattern
662 integer(IK) , intent(in), optional :: blindness
663 integer(IK) :: count
664 end function
665#endif
666
667 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
668
669#if LK5_ENABLED
670 PURE module function getCountLocDefBorDefCom_D1_D0_LK5(array, pattern, blindness) result(count)
671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
672 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_LK5
673#endif
674 use pm_kind, only: LKG => LK5
675 logical(LKG) , intent(in), contiguous :: array(:)
676 logical(LKG) , intent(in) :: pattern
677 integer(IK) , intent(in), optional :: blindness
678 integer(IK) :: count
679 end function
680#endif
681
682#if LK4_ENABLED
683 PURE module function getCountLocDefBorDefCom_D1_D0_LK4(array, pattern, blindness) result(count)
684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
685 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_LK4
686#endif
687 use pm_kind, only: LKG => LK4
688 logical(LKG) , intent(in), contiguous :: array(:)
689 logical(LKG) , intent(in) :: pattern
690 integer(IK) , intent(in), optional :: blindness
691 integer(IK) :: count
692 end function
693#endif
694
695#if LK3_ENABLED
696 PURE module function getCountLocDefBorDefCom_D1_D0_LK3(array, pattern, blindness) result(count)
697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
698 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_LK3
699#endif
700 use pm_kind, only: LKG => LK3
701 logical(LKG) , intent(in), contiguous :: array(:)
702 logical(LKG) , intent(in) :: pattern
703 integer(IK) , intent(in), optional :: blindness
704 integer(IK) :: count
705 end function
706#endif
707
708#if LK2_ENABLED
709 PURE module function getCountLocDefBorDefCom_D1_D0_LK2(array, pattern, blindness) result(count)
710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
711 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_LK2
712#endif
713 use pm_kind, only: LKG => LK2
714 logical(LKG) , intent(in), contiguous :: array(:)
715 logical(LKG) , intent(in) :: pattern
716 integer(IK) , intent(in), optional :: blindness
717 integer(IK) :: count
718 end function
719#endif
720
721#if LK1_ENABLED
722 PURE module function getCountLocDefBorDefCom_D1_D0_LK1(array, pattern, blindness) result(count)
723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
724 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_LK1
725#endif
726 use pm_kind, only: LKG => LK1
727 logical(LKG) , intent(in), contiguous :: array(:)
728 logical(LKG) , intent(in) :: pattern
729 integer(IK) , intent(in), optional :: blindness
730 integer(IK) :: count
731 end function
732#endif
733
734 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
735
736#if CK5_ENABLED
737 PURE module function getCountLocDefBorDefCom_D1_D0_CK5(array, pattern, blindness) result(count)
738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
739 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_CK5
740#endif
741 use pm_kind, only: CKG => CK5
742 complex(CKG) , intent(in), contiguous :: array(:)
743 complex(CKG) , intent(in) :: pattern
744 integer(IK) , intent(in), optional :: blindness
745 integer(IK) :: count
746 end function
747#endif
748
749#if CK4_ENABLED
750 PURE module function getCountLocDefBorDefCom_D1_D0_CK4(array, pattern, blindness) result(count)
751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
752 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_CK4
753#endif
754 use pm_kind, only: CKG => CK4
755 complex(CKG) , intent(in), contiguous :: array(:)
756 complex(CKG) , intent(in) :: pattern
757 integer(IK) , intent(in), optional :: blindness
758 integer(IK) :: count
759 end function
760#endif
761
762#if CK3_ENABLED
763 PURE module function getCountLocDefBorDefCom_D1_D0_CK3(array, pattern, blindness) result(count)
764#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
765 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_CK3
766#endif
767 use pm_kind, only: CKG => CK3
768 complex(CKG) , intent(in), contiguous :: array(:)
769 complex(CKG) , intent(in) :: pattern
770 integer(IK) , intent(in), optional :: blindness
771 integer(IK) :: count
772 end function
773#endif
774
775#if CK2_ENABLED
776 PURE module function getCountLocDefBorDefCom_D1_D0_CK2(array, pattern, blindness) result(count)
777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
778 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_CK2
779#endif
780 use pm_kind, only: CKG => CK2
781 complex(CKG) , intent(in), contiguous :: array(:)
782 complex(CKG) , intent(in) :: pattern
783 integer(IK) , intent(in), optional :: blindness
784 integer(IK) :: count
785 end function
786#endif
787
788#if CK1_ENABLED
789 PURE module function getCountLocDefBorDefCom_D1_D0_CK1(array, pattern, blindness) result(count)
790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
791 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_CK1
792#endif
793 use pm_kind, only: CKG => CK1
794 complex(CKG) , intent(in), contiguous :: array(:)
795 complex(CKG) , intent(in) :: pattern
796 integer(IK) , intent(in), optional :: blindness
797 integer(IK) :: count
798 end function
799#endif
800
801 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
802
803#if RK5_ENABLED
804 PURE module function getCountLocDefBorDefCom_D1_D0_RK5(array, pattern, blindness) result(count)
805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
806 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_RK5
807#endif
808 use pm_kind, only: RKG => RK5
809 real(RKG) , intent(in), contiguous :: array(:)
810 real(RKG) , intent(in) :: pattern
811 integer(IK) , intent(in), optional :: blindness
812 integer(IK) :: count
813 end function
814#endif
815
816#if RK4_ENABLED
817 PURE module function getCountLocDefBorDefCom_D1_D0_RK4(array, pattern, blindness) result(count)
818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
819 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_RK4
820#endif
821 use pm_kind, only: RKG => RK4
822 real(RKG) , intent(in), contiguous :: array(:)
823 real(RKG) , intent(in) :: pattern
824 integer(IK) , intent(in), optional :: blindness
825 integer(IK) :: count
826 end function
827#endif
828
829#if RK3_ENABLED
830 PURE module function getCountLocDefBorDefCom_D1_D0_RK3(array, pattern, blindness) result(count)
831#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
832 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_RK3
833#endif
834 use pm_kind, only: RKG => RK3
835 real(RKG) , intent(in), contiguous :: array(:)
836 real(RKG) , intent(in) :: pattern
837 integer(IK) , intent(in), optional :: blindness
838 integer(IK) :: count
839 end function
840#endif
841
842#if RK2_ENABLED
843 PURE module function getCountLocDefBorDefCom_D1_D0_RK2(array, pattern, blindness) result(count)
844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
845 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_RK2
846#endif
847 use pm_kind, only: RKG => RK2
848 real(RKG) , intent(in), contiguous :: array(:)
849 real(RKG) , intent(in) :: pattern
850 integer(IK) , intent(in), optional :: blindness
851 integer(IK) :: count
852 end function
853#endif
854
855#if RK1_ENABLED
856 PURE module function getCountLocDefBorDefCom_D1_D0_RK1(array, pattern, blindness) result(count)
857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
858 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D0_RK1
859#endif
860 use pm_kind, only: RKG => RK1
861 real(RKG) , intent(in), contiguous :: array(:)
862 real(RKG) , intent(in) :: pattern
863 integer(IK) , intent(in), optional :: blindness
864 integer(IK) :: count
865 end function
866#endif
867
868 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
869
870 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
871 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
872 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
873
874 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
875
876#if SK5_ENABLED
877 module function getCountLocDefBorCusCom_D1_D0_SK5(array, pattern, iseq, blindness) result(count)
878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
879 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_SK5
880#endif
881 use pm_kind, only: SKG => SK5
882 character(*,SKG) , intent(in), contiguous :: array(:)
883 character(*,SKG) , intent(in) :: pattern
884 procedure(logical(LK)) :: iseq
885 integer(IK) , intent(in), optional :: blindness
886 integer(IK) :: count
887 end function
888#endif
889
890#if SK4_ENABLED
891 module function getCountLocDefBorCusCom_D1_D0_SK4(array, pattern, iseq, blindness) result(count)
892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
893 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_SK4
894#endif
895 use pm_kind, only: SKG => SK4
896 character(*,SKG) , intent(in), contiguous :: array(:)
897 character(*,SKG) , intent(in) :: pattern
898 procedure(logical(LK)) :: iseq
899 integer(IK) , intent(in), optional :: blindness
900 integer(IK) :: count
901 end function
902#endif
903
904#if SK3_ENABLED
905 module function getCountLocDefBorCusCom_D1_D0_SK3(array, pattern, iseq, blindness) result(count)
906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
907 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_SK3
908#endif
909 use pm_kind, only: SKG => SK3
910 character(*,SKG) , intent(in), contiguous :: array(:)
911 character(*,SKG) , intent(in) :: pattern
912 procedure(logical(LK)) :: iseq
913 integer(IK) , intent(in), optional :: blindness
914 integer(IK) :: count
915 end function
916#endif
917
918#if SK2_ENABLED
919 module function getCountLocDefBorCusCom_D1_D0_SK2(array, pattern, iseq, blindness) result(count)
920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
921 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_SK2
922#endif
923 use pm_kind, only: SKG => SK2
924 character(*,SKG) , intent(in), contiguous :: array(:)
925 character(*,SKG) , intent(in) :: pattern
926 procedure(logical(LK)) :: iseq
927 integer(IK) , intent(in), optional :: blindness
928 integer(IK) :: count
929 end function
930#endif
931
932#if SK1_ENABLED
933 module function getCountLocDefBorCusCom_D1_D0_SK1(array, pattern, iseq, blindness) result(count)
934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
935 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_SK1
936#endif
937 use pm_kind, only: SKG => SK1
938 character(*,SKG) , intent(in), contiguous :: array(:)
939 character(*,SKG) , intent(in) :: pattern
940 procedure(logical(LK)) :: iseq
941 integer(IK) , intent(in), optional :: blindness
942 integer(IK) :: count
943 end function
944#endif
945
946 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
947
948#if IK5_ENABLED
949 module function getCountLocDefBorCusCom_D1_D0_IK5(array, pattern, iseq, blindness) result(count)
950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
951 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_IK5
952#endif
953 use pm_kind, only: IKG => IK5
954 integer(IKG) , intent(in), contiguous :: array(:)
955 integer(IKG) , intent(in) :: pattern
956 procedure(logical(LK)) :: iseq
957 integer(IK) , intent(in), optional :: blindness
958 integer(IK) :: count
959 end function
960#endif
961
962#if IK4_ENABLED
963 module function getCountLocDefBorCusCom_D1_D0_IK4(array, pattern, iseq, blindness) result(count)
964#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
965 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_IK4
966#endif
967 use pm_kind, only: IKG => IK4
968 integer(IKG) , intent(in), contiguous :: array(:)
969 integer(IKG) , intent(in) :: pattern
970 procedure(logical(LK)) :: iseq
971 integer(IK) , intent(in), optional :: blindness
972 integer(IK) :: count
973 end function
974#endif
975
976#if IK3_ENABLED
977 module function getCountLocDefBorCusCom_D1_D0_IK3(array, pattern, iseq, blindness) result(count)
978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
979 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_IK3
980#endif
981 use pm_kind, only: IKG => IK3
982 integer(IKG) , intent(in), contiguous :: array(:)
983 integer(IKG) , intent(in) :: pattern
984 procedure(logical(LK)) :: iseq
985 integer(IK) , intent(in), optional :: blindness
986 integer(IK) :: count
987 end function
988#endif
989
990#if IK2_ENABLED
991 module function getCountLocDefBorCusCom_D1_D0_IK2(array, pattern, iseq, blindness) result(count)
992#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
993 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_IK2
994#endif
995 use pm_kind, only: IKG => IK2
996 integer(IKG) , intent(in), contiguous :: array(:)
997 integer(IKG) , intent(in) :: pattern
998 procedure(logical(LK)) :: iseq
999 integer(IK) , intent(in), optional :: blindness
1000 integer(IK) :: count
1001 end function
1002#endif
1003
1004#if IK1_ENABLED
1005 module function getCountLocDefBorCusCom_D1_D0_IK1(array, pattern, iseq, blindness) result(count)
1006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1007 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_IK1
1008#endif
1009 use pm_kind, only: IKG => IK1
1010 integer(IKG) , intent(in), contiguous :: array(:)
1011 integer(IKG) , intent(in) :: pattern
1012 procedure(logical(LK)) :: iseq
1013 integer(IK) , intent(in), optional :: blindness
1014 integer(IK) :: count
1015 end function
1016#endif
1017
1018 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1019
1020#if LK5_ENABLED
1021 module function getCountLocDefBorCusCom_D1_D0_LK5(array, pattern, iseq, blindness) result(count)
1022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1023 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_LK5
1024#endif
1025 use pm_kind, only: LKG => LK5
1026 logical(LKG) , intent(in), contiguous :: array(:)
1027 logical(LKG) , intent(in) :: pattern
1028 procedure(logical(LK)) :: iseq
1029 integer(IK) , intent(in), optional :: blindness
1030 integer(IK) :: count
1031 end function
1032#endif
1033
1034#if LK4_ENABLED
1035 module function getCountLocDefBorCusCom_D1_D0_LK4(array, pattern, iseq, blindness) result(count)
1036#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1037 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_LK4
1038#endif
1039 use pm_kind, only: LKG => LK4
1040 logical(LKG) , intent(in), contiguous :: array(:)
1041 logical(LKG) , intent(in) :: pattern
1042 procedure(logical(LK)) :: iseq
1043 integer(IK) , intent(in), optional :: blindness
1044 integer(IK) :: count
1045 end function
1046#endif
1047
1048#if LK3_ENABLED
1049 module function getCountLocDefBorCusCom_D1_D0_LK3(array, pattern, iseq, blindness) result(count)
1050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1051 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_LK3
1052#endif
1053 use pm_kind, only: LKG => LK3
1054 logical(LKG) , intent(in), contiguous :: array(:)
1055 logical(LKG) , intent(in) :: pattern
1056 procedure(logical(LK)) :: iseq
1057 integer(IK) , intent(in), optional :: blindness
1058 integer(IK) :: count
1059 end function
1060#endif
1061
1062#if LK2_ENABLED
1063 module function getCountLocDefBorCusCom_D1_D0_LK2(array, pattern, iseq, blindness) result(count)
1064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1065 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_LK2
1066#endif
1067 use pm_kind, only: LKG => LK2
1068 logical(LKG) , intent(in), contiguous :: array(:)
1069 logical(LKG) , intent(in) :: pattern
1070 procedure(logical(LK)) :: iseq
1071 integer(IK) , intent(in), optional :: blindness
1072 integer(IK) :: count
1073 end function
1074#endif
1075
1076#if LK1_ENABLED
1077 module function getCountLocDefBorCusCom_D1_D0_LK1(array, pattern, iseq, blindness) result(count)
1078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1079 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_LK1
1080#endif
1081 use pm_kind, only: LKG => LK1
1082 logical(LKG) , intent(in), contiguous :: array(:)
1083 logical(LKG) , intent(in) :: pattern
1084 procedure(logical(LK)) :: iseq
1085 integer(IK) , intent(in), optional :: blindness
1086 integer(IK) :: count
1087 end function
1088#endif
1089
1090 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1091
1092#if CK5_ENABLED
1093 module function getCountLocDefBorCusCom_D1_D0_CK5(array, pattern, iseq, blindness) result(count)
1094#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1095 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_CK5
1096#endif
1097 use pm_kind, only: CKG => CK5
1098 complex(CKG) , intent(in), contiguous :: array(:)
1099 complex(CKG) , intent(in) :: pattern
1100 procedure(logical(LK)) :: iseq
1101 integer(IK) , intent(in), optional :: blindness
1102 integer(IK) :: count
1103 end function
1104#endif
1105
1106#if CK4_ENABLED
1107 module function getCountLocDefBorCusCom_D1_D0_CK4(array, pattern, iseq, blindness) result(count)
1108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1109 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_CK4
1110#endif
1111 use pm_kind, only: CKG => CK4
1112 complex(CKG) , intent(in), contiguous :: array(:)
1113 complex(CKG) , intent(in) :: pattern
1114 procedure(logical(LK)) :: iseq
1115 integer(IK) , intent(in), optional :: blindness
1116 integer(IK) :: count
1117 end function
1118#endif
1119
1120#if CK3_ENABLED
1121 module function getCountLocDefBorCusCom_D1_D0_CK3(array, pattern, iseq, blindness) result(count)
1122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1123 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_CK3
1124#endif
1125 use pm_kind, only: CKG => CK3
1126 complex(CKG) , intent(in), contiguous :: array(:)
1127 complex(CKG) , intent(in) :: pattern
1128 procedure(logical(LK)) :: iseq
1129 integer(IK) , intent(in), optional :: blindness
1130 integer(IK) :: count
1131 end function
1132#endif
1133
1134#if CK2_ENABLED
1135 module function getCountLocDefBorCusCom_D1_D0_CK2(array, pattern, iseq, blindness) result(count)
1136#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1137 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_CK2
1138#endif
1139 use pm_kind, only: CKG => CK2
1140 complex(CKG) , intent(in), contiguous :: array(:)
1141 complex(CKG) , intent(in) :: pattern
1142 procedure(logical(LK)) :: iseq
1143 integer(IK) , intent(in), optional :: blindness
1144 integer(IK) :: count
1145 end function
1146#endif
1147
1148#if CK1_ENABLED
1149 module function getCountLocDefBorCusCom_D1_D0_CK1(array, pattern, iseq, blindness) result(count)
1150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1151 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_CK1
1152#endif
1153 use pm_kind, only: CKG => CK1
1154 complex(CKG) , intent(in), contiguous :: array(:)
1155 complex(CKG) , intent(in) :: pattern
1156 procedure(logical(LK)) :: iseq
1157 integer(IK) , intent(in), optional :: blindness
1158 integer(IK) :: count
1159 end function
1160#endif
1161
1162 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1163
1164#if RK5_ENABLED
1165 module function getCountLocDefBorCusCom_D1_D0_RK5(array, pattern, iseq, blindness) result(count)
1166#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1167 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_RK5
1168#endif
1169 use pm_kind, only: RKG => RK5
1170 real(RKG) , intent(in), contiguous :: array(:)
1171 real(RKG) , intent(in) :: pattern
1172 procedure(logical(LK)) :: iseq
1173 integer(IK) , intent(in), optional :: blindness
1174 integer(IK) :: count
1175 end function
1176#endif
1177
1178#if RK4_ENABLED
1179 module function getCountLocDefBorCusCom_D1_D0_RK4(array, pattern, iseq, blindness) result(count)
1180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1181 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_RK4
1182#endif
1183 use pm_kind, only: RKG => RK4
1184 real(RKG) , intent(in), contiguous :: array(:)
1185 real(RKG) , intent(in) :: pattern
1186 procedure(logical(LK)) :: iseq
1187 integer(IK) , intent(in), optional :: blindness
1188 integer(IK) :: count
1189 end function
1190#endif
1191
1192#if RK3_ENABLED
1193 module function getCountLocDefBorCusCom_D1_D0_RK3(array, pattern, iseq, blindness) result(count)
1194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1195 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_RK3
1196#endif
1197 use pm_kind, only: RKG => RK3
1198 real(RKG) , intent(in), contiguous :: array(:)
1199 real(RKG) , intent(in) :: pattern
1200 procedure(logical(LK)) :: iseq
1201 integer(IK) , intent(in), optional :: blindness
1202 integer(IK) :: count
1203 end function
1204#endif
1205
1206#if RK2_ENABLED
1207 module function getCountLocDefBorCusCom_D1_D0_RK2(array, pattern, iseq, blindness) result(count)
1208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1209 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_RK2
1210#endif
1211 use pm_kind, only: RKG => RK2
1212 real(RKG) , intent(in), contiguous :: array(:)
1213 real(RKG) , intent(in) :: pattern
1214 procedure(logical(LK)) :: iseq
1215 integer(IK) , intent(in), optional :: blindness
1216 integer(IK) :: count
1217 end function
1218#endif
1219
1220#if RK1_ENABLED
1221 module function getCountLocDefBorCusCom_D1_D0_RK1(array, pattern, iseq, blindness) result(count)
1222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1223 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D0_RK1
1224#endif
1225 use pm_kind, only: RKG => RK1
1226 real(RKG) , intent(in), contiguous :: array(:)
1227 real(RKG) , intent(in) :: pattern
1228 procedure(logical(LK)) :: iseq
1229 integer(IK) , intent(in), optional :: blindness
1230 integer(IK) :: count
1231 end function
1232#endif
1233
1234 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1235
1236 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1237 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1238 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239
1240 end interface
1241
1242 ! border default D1_D1
1243
1244 interface getCountLoc
1245
1246 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1247 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1248 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1249
1250 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1251
1252#if SK5_ENABLED
1253 PURE module function getCountLocDefBorDefCom_D1_D1_SK5(array, pattern, blindness) result(count)
1254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1255 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_SK5
1256#endif
1257 use pm_kind, only: SKG => SK5
1258 character(*,SKG) , intent(in), contiguous :: array(:)
1259 character(*,SKG) , intent(in), contiguous :: pattern(:)
1260 integer(IK) , intent(in), optional :: blindness
1261 integer(IK) :: count
1262 end function
1263#endif
1264
1265#if SK4_ENABLED
1266 PURE module function getCountLocDefBorDefCom_D1_D1_SK4(array, pattern, blindness) result(count)
1267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1268 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_SK4
1269#endif
1270 use pm_kind, only: SKG => SK4
1271 character(*,SKG) , intent(in), contiguous :: array(:)
1272 character(*,SKG) , intent(in), contiguous :: pattern(:)
1273 integer(IK) , intent(in), optional :: blindness
1274 integer(IK) :: count
1275 end function
1276#endif
1277
1278#if SK3_ENABLED
1279 PURE module function getCountLocDefBorDefCom_D1_D1_SK3(array, pattern, blindness) result(count)
1280#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1281 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_SK3
1282#endif
1283 use pm_kind, only: SKG => SK3
1284 character(*,SKG) , intent(in), contiguous :: array(:)
1285 character(*,SKG) , intent(in), contiguous :: pattern(:)
1286 integer(IK) , intent(in), optional :: blindness
1287 integer(IK) :: count
1288 end function
1289#endif
1290
1291#if SK2_ENABLED
1292 PURE module function getCountLocDefBorDefCom_D1_D1_SK2(array, pattern, blindness) result(count)
1293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1294 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_SK2
1295#endif
1296 use pm_kind, only: SKG => SK2
1297 character(*,SKG) , intent(in), contiguous :: array(:)
1298 character(*,SKG) , intent(in), contiguous :: pattern(:)
1299 integer(IK) , intent(in), optional :: blindness
1300 integer(IK) :: count
1301 end function
1302#endif
1303
1304#if SK1_ENABLED
1305 PURE module function getCountLocDefBorDefCom_D1_D1_SK1(array, pattern, blindness) result(count)
1306#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1307 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_SK1
1308#endif
1309 use pm_kind, only: SKG => SK1
1310 character(*,SKG) , intent(in), contiguous :: array(:)
1311 character(*,SKG) , intent(in), contiguous :: pattern(:)
1312 integer(IK) , intent(in), optional :: blindness
1313 integer(IK) :: count
1314 end function
1315#endif
1316
1317 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1318
1319#if IK5_ENABLED
1320 PURE module function getCountLocDefBorDefCom_D1_D1_IK5(array, pattern, blindness) result(count)
1321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1322 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_IK5
1323#endif
1324 use pm_kind, only: IKG => IK5
1325 integer(IKG) , intent(in), contiguous :: array(:)
1326 integer(IKG) , intent(in), contiguous :: pattern(:)
1327 integer(IK) , intent(in), optional :: blindness
1328 integer(IK) :: count
1329 end function
1330#endif
1331
1332#if IK4_ENABLED
1333 PURE module function getCountLocDefBorDefCom_D1_D1_IK4(array, pattern, blindness) result(count)
1334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1335 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_IK4
1336#endif
1337 use pm_kind, only: IKG => IK4
1338 integer(IKG) , intent(in), contiguous :: array(:)
1339 integer(IKG) , intent(in), contiguous :: pattern(:)
1340 integer(IK) , intent(in), optional :: blindness
1341 integer(IK) :: count
1342 end function
1343#endif
1344
1345#if IK3_ENABLED
1346 PURE module function getCountLocDefBorDefCom_D1_D1_IK3(array, pattern, blindness) result(count)
1347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1348 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_IK3
1349#endif
1350 use pm_kind, only: IKG => IK3
1351 integer(IKG) , intent(in), contiguous :: array(:)
1352 integer(IKG) , intent(in), contiguous :: pattern(:)
1353 integer(IK) , intent(in), optional :: blindness
1354 integer(IK) :: count
1355 end function
1356#endif
1357
1358#if IK2_ENABLED
1359 PURE module function getCountLocDefBorDefCom_D1_D1_IK2(array, pattern, blindness) result(count)
1360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1361 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_IK2
1362#endif
1363 use pm_kind, only: IKG => IK2
1364 integer(IKG) , intent(in), contiguous :: array(:)
1365 integer(IKG) , intent(in), contiguous :: pattern(:)
1366 integer(IK) , intent(in), optional :: blindness
1367 integer(IK) :: count
1368 end function
1369#endif
1370
1371#if IK1_ENABLED
1372 PURE module function getCountLocDefBorDefCom_D1_D1_IK1(array, pattern, blindness) result(count)
1373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1374 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_IK1
1375#endif
1376 use pm_kind, only: IKG => IK1
1377 integer(IKG) , intent(in), contiguous :: array(:)
1378 integer(IKG) , intent(in), contiguous :: pattern(:)
1379 integer(IK) , intent(in), optional :: blindness
1380 integer(IK) :: count
1381 end function
1382#endif
1383
1384 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1385
1386#if LK5_ENABLED
1387 PURE module function getCountLocDefBorDefCom_D1_D1_LK5(array, pattern, blindness) result(count)
1388#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1389 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_LK5
1390#endif
1391 use pm_kind, only: LKG => LK5
1392 logical(LKG) , intent(in), contiguous :: array(:)
1393 logical(LKG) , intent(in), contiguous :: pattern(:)
1394 integer(IK) , intent(in), optional :: blindness
1395 integer(IK) :: count
1396 end function
1397#endif
1398
1399#if LK4_ENABLED
1400 PURE module function getCountLocDefBorDefCom_D1_D1_LK4(array, pattern, blindness) result(count)
1401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1402 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_LK4
1403#endif
1404 use pm_kind, only: LKG => LK4
1405 logical(LKG) , intent(in), contiguous :: array(:)
1406 logical(LKG) , intent(in), contiguous :: pattern(:)
1407 integer(IK) , intent(in), optional :: blindness
1408 integer(IK) :: count
1409 end function
1410#endif
1411
1412#if LK3_ENABLED
1413 PURE module function getCountLocDefBorDefCom_D1_D1_LK3(array, pattern, blindness) result(count)
1414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1415 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_LK3
1416#endif
1417 use pm_kind, only: LKG => LK3
1418 logical(LKG) , intent(in), contiguous :: array(:)
1419 logical(LKG) , intent(in), contiguous :: pattern(:)
1420 integer(IK) , intent(in), optional :: blindness
1421 integer(IK) :: count
1422 end function
1423#endif
1424
1425#if LK2_ENABLED
1426 PURE module function getCountLocDefBorDefCom_D1_D1_LK2(array, pattern, blindness) result(count)
1427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1428 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_LK2
1429#endif
1430 use pm_kind, only: LKG => LK2
1431 logical(LKG) , intent(in), contiguous :: array(:)
1432 logical(LKG) , intent(in), contiguous :: pattern(:)
1433 integer(IK) , intent(in), optional :: blindness
1434 integer(IK) :: count
1435 end function
1436#endif
1437
1438#if LK1_ENABLED
1439 PURE module function getCountLocDefBorDefCom_D1_D1_LK1(array, pattern, blindness) result(count)
1440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1441 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_LK1
1442#endif
1443 use pm_kind, only: LKG => LK1
1444 logical(LKG) , intent(in), contiguous :: array(:)
1445 logical(LKG) , intent(in), contiguous :: pattern(:)
1446 integer(IK) , intent(in), optional :: blindness
1447 integer(IK) :: count
1448 end function
1449#endif
1450
1451 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1452
1453#if CK5_ENABLED
1454 PURE module function getCountLocDefBorDefCom_D1_D1_CK5(array, pattern, blindness) result(count)
1455#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1456 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_CK5
1457#endif
1458 use pm_kind, only: CKG => CK5
1459 complex(CKG) , intent(in), contiguous :: array(:)
1460 complex(CKG) , intent(in), contiguous :: pattern(:)
1461 integer(IK) , intent(in), optional :: blindness
1462 integer(IK) :: count
1463 end function
1464#endif
1465
1466#if CK4_ENABLED
1467 PURE module function getCountLocDefBorDefCom_D1_D1_CK4(array, pattern, blindness) result(count)
1468#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1469 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_CK4
1470#endif
1471 use pm_kind, only: CKG => CK4
1472 complex(CKG) , intent(in), contiguous :: array(:)
1473 complex(CKG) , intent(in), contiguous :: pattern(:)
1474 integer(IK) , intent(in), optional :: blindness
1475 integer(IK) :: count
1476 end function
1477#endif
1478
1479#if CK3_ENABLED
1480 PURE module function getCountLocDefBorDefCom_D1_D1_CK3(array, pattern, blindness) result(count)
1481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1482 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_CK3
1483#endif
1484 use pm_kind, only: CKG => CK3
1485 complex(CKG) , intent(in), contiguous :: array(:)
1486 complex(CKG) , intent(in), contiguous :: pattern(:)
1487 integer(IK) , intent(in), optional :: blindness
1488 integer(IK) :: count
1489 end function
1490#endif
1491
1492#if CK2_ENABLED
1493 PURE module function getCountLocDefBorDefCom_D1_D1_CK2(array, pattern, blindness) result(count)
1494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1495 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_CK2
1496#endif
1497 use pm_kind, only: CKG => CK2
1498 complex(CKG) , intent(in), contiguous :: array(:)
1499 complex(CKG) , intent(in), contiguous :: pattern(:)
1500 integer(IK) , intent(in), optional :: blindness
1501 integer(IK) :: count
1502 end function
1503#endif
1504
1505#if CK1_ENABLED
1506 PURE module function getCountLocDefBorDefCom_D1_D1_CK1(array, pattern, blindness) result(count)
1507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1508 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_CK1
1509#endif
1510 use pm_kind, only: CKG => CK1
1511 complex(CKG) , intent(in), contiguous :: array(:)
1512 complex(CKG) , intent(in), contiguous :: pattern(:)
1513 integer(IK) , intent(in), optional :: blindness
1514 integer(IK) :: count
1515 end function
1516#endif
1517
1518 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1519
1520#if RK5_ENABLED
1521 PURE module function getCountLocDefBorDefCom_D1_D1_RK5(array, pattern, blindness) result(count)
1522#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1523 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_RK5
1524#endif
1525 use pm_kind, only: RKG => RK5
1526 real(RKG) , intent(in), contiguous :: array(:)
1527 real(RKG) , intent(in), contiguous :: pattern(:)
1528 integer(IK) , intent(in), optional :: blindness
1529 integer(IK) :: count
1530 end function
1531#endif
1532
1533#if RK4_ENABLED
1534 PURE module function getCountLocDefBorDefCom_D1_D1_RK4(array, pattern, blindness) result(count)
1535#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1536 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_RK4
1537#endif
1538 use pm_kind, only: RKG => RK4
1539 real(RKG) , intent(in), contiguous :: array(:)
1540 real(RKG) , intent(in), contiguous :: pattern(:)
1541 integer(IK) , intent(in), optional :: blindness
1542 integer(IK) :: count
1543 end function
1544#endif
1545
1546#if RK3_ENABLED
1547 PURE module function getCountLocDefBorDefCom_D1_D1_RK3(array, pattern, blindness) result(count)
1548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1549 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_RK3
1550#endif
1551 use pm_kind, only: RKG => RK3
1552 real(RKG) , intent(in), contiguous :: array(:)
1553 real(RKG) , intent(in), contiguous :: pattern(:)
1554 integer(IK) , intent(in), optional :: blindness
1555 integer(IK) :: count
1556 end function
1557#endif
1558
1559#if RK2_ENABLED
1560 PURE module function getCountLocDefBorDefCom_D1_D1_RK2(array, pattern, blindness) result(count)
1561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1562 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_RK2
1563#endif
1564 use pm_kind, only: RKG => RK2
1565 real(RKG) , intent(in), contiguous :: array(:)
1566 real(RKG) , intent(in), contiguous :: pattern(:)
1567 integer(IK) , intent(in), optional :: blindness
1568 integer(IK) :: count
1569 end function
1570#endif
1571
1572#if RK1_ENABLED
1573 PURE module function getCountLocDefBorDefCom_D1_D1_RK1(array, pattern, blindness) result(count)
1574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1575 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorDefCom_D1_D1_RK1
1576#endif
1577 use pm_kind, only: RKG => RK1
1578 real(RKG) , intent(in), contiguous :: array(:)
1579 real(RKG) , intent(in), contiguous :: pattern(:)
1580 integer(IK) , intent(in), optional :: blindness
1581 integer(IK) :: count
1582 end function
1583#endif
1584
1585 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1586
1587 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1588 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1589 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1590
1591 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1592
1593#if SK5_ENABLED
1594 module function getCountLocDefBorCusCom_D1_D1_SK5(array, pattern, iseq, blindness) result(count)
1595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1596 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_SK5
1597#endif
1598 use pm_kind, only: SKG => SK5
1599 character(*,SKG) , intent(in), contiguous :: array(:)
1600 character(*,SKG) , intent(in), contiguous :: pattern(:)
1601 procedure(logical(LK)) :: iseq
1602 integer(IK) , intent(in), optional :: blindness
1603 integer(IK) :: count
1604 end function
1605#endif
1606
1607#if SK4_ENABLED
1608 module function getCountLocDefBorCusCom_D1_D1_SK4(array, pattern, iseq, blindness) result(count)
1609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1610 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_SK4
1611#endif
1612 use pm_kind, only: SKG => SK4
1613 character(*,SKG) , intent(in), contiguous :: array(:)
1614 character(*,SKG) , intent(in), contiguous :: pattern(:)
1615 procedure(logical(LK)) :: iseq
1616 integer(IK) , intent(in), optional :: blindness
1617 integer(IK) :: count
1618 end function
1619#endif
1620
1621#if SK3_ENABLED
1622 module function getCountLocDefBorCusCom_D1_D1_SK3(array, pattern, iseq, blindness) result(count)
1623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1624 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_SK3
1625#endif
1626 use pm_kind, only: SKG => SK3
1627 character(*,SKG) , intent(in), contiguous :: array(:)
1628 character(*,SKG) , intent(in), contiguous :: pattern(:)
1629 procedure(logical(LK)) :: iseq
1630 integer(IK) , intent(in), optional :: blindness
1631 integer(IK) :: count
1632 end function
1633#endif
1634
1635#if SK2_ENABLED
1636 module function getCountLocDefBorCusCom_D1_D1_SK2(array, pattern, iseq, blindness) result(count)
1637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1638 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_SK2
1639#endif
1640 use pm_kind, only: SKG => SK2
1641 character(*,SKG) , intent(in), contiguous :: array(:)
1642 character(*,SKG) , intent(in), contiguous :: pattern(:)
1643 procedure(logical(LK)) :: iseq
1644 integer(IK) , intent(in), optional :: blindness
1645 integer(IK) :: count
1646 end function
1647#endif
1648
1649#if SK1_ENABLED
1650 module function getCountLocDefBorCusCom_D1_D1_SK1(array, pattern, iseq, blindness) result(count)
1651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1652 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_SK1
1653#endif
1654 use pm_kind, only: SKG => SK1
1655 character(*,SKG) , intent(in), contiguous :: array(:)
1656 character(*,SKG) , intent(in), contiguous :: pattern(:)
1657 procedure(logical(LK)) :: iseq
1658 integer(IK) , intent(in), optional :: blindness
1659 integer(IK) :: count
1660 end function
1661#endif
1662
1663 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1664
1665#if IK5_ENABLED
1666 module function getCountLocDefBorCusCom_D1_D1_IK5(array, pattern, iseq, blindness) result(count)
1667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1668 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_IK5
1669#endif
1670 use pm_kind, only: IKG => IK5
1671 integer(IKG) , intent(in), contiguous :: array(:)
1672 integer(IKG) , intent(in), contiguous :: pattern(:)
1673 procedure(logical(LK)) :: iseq
1674 integer(IK) , intent(in), optional :: blindness
1675 integer(IK) :: count
1676 end function
1677#endif
1678
1679#if IK4_ENABLED
1680 module function getCountLocDefBorCusCom_D1_D1_IK4(array, pattern, iseq, blindness) result(count)
1681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1682 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_IK4
1683#endif
1684 use pm_kind, only: IKG => IK4
1685 integer(IKG) , intent(in), contiguous :: array(:)
1686 integer(IKG) , intent(in), contiguous :: pattern(:)
1687 procedure(logical(LK)) :: iseq
1688 integer(IK) , intent(in), optional :: blindness
1689 integer(IK) :: count
1690 end function
1691#endif
1692
1693#if IK3_ENABLED
1694 module function getCountLocDefBorCusCom_D1_D1_IK3(array, pattern, iseq, blindness) result(count)
1695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1696 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_IK3
1697#endif
1698 use pm_kind, only: IKG => IK3
1699 integer(IKG) , intent(in), contiguous :: array(:)
1700 integer(IKG) , intent(in), contiguous :: pattern(:)
1701 procedure(logical(LK)) :: iseq
1702 integer(IK) , intent(in), optional :: blindness
1703 integer(IK) :: count
1704 end function
1705#endif
1706
1707#if IK2_ENABLED
1708 module function getCountLocDefBorCusCom_D1_D1_IK2(array, pattern, iseq, blindness) result(count)
1709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1710 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_IK2
1711#endif
1712 use pm_kind, only: IKG => IK2
1713 integer(IKG) , intent(in), contiguous :: array(:)
1714 integer(IKG) , intent(in), contiguous :: pattern(:)
1715 procedure(logical(LK)) :: iseq
1716 integer(IK) , intent(in), optional :: blindness
1717 integer(IK) :: count
1718 end function
1719#endif
1720
1721#if IK1_ENABLED
1722 module function getCountLocDefBorCusCom_D1_D1_IK1(array, pattern, iseq, blindness) result(count)
1723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1724 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_IK1
1725#endif
1726 use pm_kind, only: IKG => IK1
1727 integer(IKG) , intent(in), contiguous :: array(:)
1728 integer(IKG) , intent(in), contiguous :: pattern(:)
1729 procedure(logical(LK)) :: iseq
1730 integer(IK) , intent(in), optional :: blindness
1731 integer(IK) :: count
1732 end function
1733#endif
1734
1735 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1736
1737#if LK5_ENABLED
1738 module function getCountLocDefBorCusCom_D1_D1_LK5(array, pattern, iseq, blindness) result(count)
1739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1740 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_LK5
1741#endif
1742 use pm_kind, only: LKG => LK5
1743 logical(LKG) , intent(in), contiguous :: array(:)
1744 logical(LKG) , intent(in), contiguous :: pattern(:)
1745 procedure(logical(LK)) :: iseq
1746 integer(IK) , intent(in), optional :: blindness
1747 integer(IK) :: count
1748 end function
1749#endif
1750
1751#if LK4_ENABLED
1752 module function getCountLocDefBorCusCom_D1_D1_LK4(array, pattern, iseq, blindness) result(count)
1753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1754 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_LK4
1755#endif
1756 use pm_kind, only: LKG => LK4
1757 logical(LKG) , intent(in), contiguous :: array(:)
1758 logical(LKG) , intent(in), contiguous :: pattern(:)
1759 procedure(logical(LK)) :: iseq
1760 integer(IK) , intent(in), optional :: blindness
1761 integer(IK) :: count
1762 end function
1763#endif
1764
1765#if LK3_ENABLED
1766 module function getCountLocDefBorCusCom_D1_D1_LK3(array, pattern, iseq, blindness) result(count)
1767#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1768 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_LK3
1769#endif
1770 use pm_kind, only: LKG => LK3
1771 logical(LKG) , intent(in), contiguous :: array(:)
1772 logical(LKG) , intent(in), contiguous :: pattern(:)
1773 procedure(logical(LK)) :: iseq
1774 integer(IK) , intent(in), optional :: blindness
1775 integer(IK) :: count
1776 end function
1777#endif
1778
1779#if LK2_ENABLED
1780 module function getCountLocDefBorCusCom_D1_D1_LK2(array, pattern, iseq, blindness) result(count)
1781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1782 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_LK2
1783#endif
1784 use pm_kind, only: LKG => LK2
1785 logical(LKG) , intent(in), contiguous :: array(:)
1786 logical(LKG) , intent(in), contiguous :: pattern(:)
1787 procedure(logical(LK)) :: iseq
1788 integer(IK) , intent(in), optional :: blindness
1789 integer(IK) :: count
1790 end function
1791#endif
1792
1793#if LK1_ENABLED
1794 module function getCountLocDefBorCusCom_D1_D1_LK1(array, pattern, iseq, blindness) result(count)
1795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1796 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_LK1
1797#endif
1798 use pm_kind, only: LKG => LK1
1799 logical(LKG) , intent(in), contiguous :: array(:)
1800 logical(LKG) , intent(in), contiguous :: pattern(:)
1801 procedure(logical(LK)) :: iseq
1802 integer(IK) , intent(in), optional :: blindness
1803 integer(IK) :: count
1804 end function
1805#endif
1806
1807 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1808
1809#if CK5_ENABLED
1810 module function getCountLocDefBorCusCom_D1_D1_CK5(array, pattern, iseq, blindness) result(count)
1811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1812 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_CK5
1813#endif
1814 use pm_kind, only: CKG => CK5
1815 complex(CKG) , intent(in), contiguous :: array(:)
1816 complex(CKG) , intent(in), contiguous :: pattern(:)
1817 procedure(logical(LK)) :: iseq
1818 integer(IK) , intent(in), optional :: blindness
1819 integer(IK) :: count
1820 end function
1821#endif
1822
1823#if CK4_ENABLED
1824 module function getCountLocDefBorCusCom_D1_D1_CK4(array, pattern, iseq, blindness) result(count)
1825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1826 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_CK4
1827#endif
1828 use pm_kind, only: CKG => CK4
1829 complex(CKG) , intent(in), contiguous :: array(:)
1830 complex(CKG) , intent(in), contiguous :: pattern(:)
1831 procedure(logical(LK)) :: iseq
1832 integer(IK) , intent(in), optional :: blindness
1833 integer(IK) :: count
1834 end function
1835#endif
1836
1837#if CK3_ENABLED
1838 module function getCountLocDefBorCusCom_D1_D1_CK3(array, pattern, iseq, blindness) result(count)
1839#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1840 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_CK3
1841#endif
1842 use pm_kind, only: CKG => CK3
1843 complex(CKG) , intent(in), contiguous :: array(:)
1844 complex(CKG) , intent(in), contiguous :: pattern(:)
1845 procedure(logical(LK)) :: iseq
1846 integer(IK) , intent(in), optional :: blindness
1847 integer(IK) :: count
1848 end function
1849#endif
1850
1851#if CK2_ENABLED
1852 module function getCountLocDefBorCusCom_D1_D1_CK2(array, pattern, iseq, blindness) result(count)
1853#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1854 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_CK2
1855#endif
1856 use pm_kind, only: CKG => CK2
1857 complex(CKG) , intent(in), contiguous :: array(:)
1858 complex(CKG) , intent(in), contiguous :: pattern(:)
1859 procedure(logical(LK)) :: iseq
1860 integer(IK) , intent(in), optional :: blindness
1861 integer(IK) :: count
1862 end function
1863#endif
1864
1865#if CK1_ENABLED
1866 module function getCountLocDefBorCusCom_D1_D1_CK1(array, pattern, iseq, blindness) result(count)
1867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1868 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_CK1
1869#endif
1870 use pm_kind, only: CKG => CK1
1871 complex(CKG) , intent(in), contiguous :: array(:)
1872 complex(CKG) , intent(in), contiguous :: pattern(:)
1873 procedure(logical(LK)) :: iseq
1874 integer(IK) , intent(in), optional :: blindness
1875 integer(IK) :: count
1876 end function
1877#endif
1878
1879 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1880
1881#if RK5_ENABLED
1882 module function getCountLocDefBorCusCom_D1_D1_RK5(array, pattern, iseq, blindness) result(count)
1883#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1884 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_RK5
1885#endif
1886 use pm_kind, only: RKG => RK5
1887 real(RKG) , intent(in), contiguous :: array(:)
1888 real(RKG) , intent(in), contiguous :: pattern(:)
1889 procedure(logical(LK)) :: iseq
1890 integer(IK) , intent(in), optional :: blindness
1891 integer(IK) :: count
1892 end function
1893#endif
1894
1895#if RK4_ENABLED
1896 module function getCountLocDefBorCusCom_D1_D1_RK4(array, pattern, iseq, blindness) result(count)
1897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1898 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_RK4
1899#endif
1900 use pm_kind, only: RKG => RK4
1901 real(RKG) , intent(in), contiguous :: array(:)
1902 real(RKG) , intent(in), contiguous :: pattern(:)
1903 procedure(logical(LK)) :: iseq
1904 integer(IK) , intent(in), optional :: blindness
1905 integer(IK) :: count
1906 end function
1907#endif
1908
1909#if RK3_ENABLED
1910 module function getCountLocDefBorCusCom_D1_D1_RK3(array, pattern, iseq, blindness) result(count)
1911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1912 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_RK3
1913#endif
1914 use pm_kind, only: RKG => RK3
1915 real(RKG) , intent(in), contiguous :: array(:)
1916 real(RKG) , intent(in), contiguous :: pattern(:)
1917 procedure(logical(LK)) :: iseq
1918 integer(IK) , intent(in), optional :: blindness
1919 integer(IK) :: count
1920 end function
1921#endif
1922
1923#if RK2_ENABLED
1924 module function getCountLocDefBorCusCom_D1_D1_RK2(array, pattern, iseq, blindness) result(count)
1925#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1926 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_RK2
1927#endif
1928 use pm_kind, only: RKG => RK2
1929 real(RKG) , intent(in), contiguous :: array(:)
1930 real(RKG) , intent(in), contiguous :: pattern(:)
1931 procedure(logical(LK)) :: iseq
1932 integer(IK) , intent(in), optional :: blindness
1933 integer(IK) :: count
1934 end function
1935#endif
1936
1937#if RK1_ENABLED
1938 module function getCountLocDefBorCusCom_D1_D1_RK1(array, pattern, iseq, blindness) result(count)
1939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1940 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDefBorCusCom_D1_D1_RK1
1941#endif
1942 use pm_kind, only: RKG => RK1
1943 real(RKG) , intent(in), contiguous :: array(:)
1944 real(RKG) , intent(in), contiguous :: pattern(:)
1945 procedure(logical(LK)) :: iseq
1946 integer(IK) , intent(in), optional :: blindness
1947 integer(IK) :: count
1948 end function
1949#endif
1950
1951 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1952
1953 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1955 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1956
1957 end interface
1958
1959 ! border discrete D0_D0
1960
1961 interface getCountLoc
1962
1963 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1964 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1965 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1966
1967 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1968
1969#if SK5_ENABLED
1970 PURE module function getCountLocDisBorDefCom_D0_D0_SK5(array, pattern, border, blindness) result(count)
1971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1972 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D0_D0_SK5
1973#endif
1974 use pm_kind, only: SKG => SK5
1975 character(*,SKG) , intent(in) :: array
1976 character(*,SKG) , intent(in) :: pattern
1977 type(discrete_type) , intent(in) :: border
1978 integer(IK) , intent(in), optional :: blindness
1979 integer(IK) :: count
1980 end function
1981#endif
1982
1983#if SK4_ENABLED
1984 PURE module function getCountLocDisBorDefCom_D0_D0_SK4(array, pattern, border, blindness) result(count)
1985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1986 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D0_D0_SK4
1987#endif
1988 use pm_kind, only: SKG => SK4
1989 character(*,SKG) , intent(in) :: array
1990 character(*,SKG) , intent(in) :: pattern
1991 type(discrete_type) , intent(in) :: border
1992 integer(IK) , intent(in), optional :: blindness
1993 integer(IK) :: count
1994 end function
1995#endif
1996
1997#if SK3_ENABLED
1998 PURE module function getCountLocDisBorDefCom_D0_D0_SK3(array, pattern, border, blindness) result(count)
1999#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2000 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D0_D0_SK3
2001#endif
2002 use pm_kind, only: SKG => SK3
2003 character(*,SKG) , intent(in) :: array
2004 character(*,SKG) , intent(in) :: pattern
2005 type(discrete_type) , intent(in) :: border
2006 integer(IK) , intent(in), optional :: blindness
2007 integer(IK) :: count
2008 end function
2009#endif
2010
2011#if SK2_ENABLED
2012 PURE module function getCountLocDisBorDefCom_D0_D0_SK2(array, pattern, border, blindness) result(count)
2013#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2014 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D0_D0_SK2
2015#endif
2016 use pm_kind, only: SKG => SK2
2017 character(*,SKG) , intent(in) :: array
2018 character(*,SKG) , intent(in) :: pattern
2019 type(discrete_type) , intent(in) :: border
2020 integer(IK) , intent(in), optional :: blindness
2021 integer(IK) :: count
2022 end function
2023#endif
2024
2025#if SK1_ENABLED
2026 PURE module function getCountLocDisBorDefCom_D0_D0_SK1(array, pattern, border, blindness) result(count)
2027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2028 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D0_D0_SK1
2029#endif
2030 use pm_kind, only: SKG => SK1
2031 character(*,SKG) , intent(in) :: array
2032 character(*,SKG) , intent(in) :: pattern
2033 type(discrete_type) , intent(in) :: border
2034 integer(IK) , intent(in), optional :: blindness
2035 integer(IK) :: count
2036 end function
2037#endif
2038
2039 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2040
2041 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2042 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2043 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2044
2045 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2046
2047#if SK5_ENABLED
2048 module function getCountLocDisBorCusCom_D0_D0_SK5(array, pattern, border, iseq, blindness) result(count)
2049#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2050 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D0_D0_SK5
2051#endif
2052 use pm_kind, only: SKG => SK5
2053 character(*,SKG) , intent(in) :: array
2054 character(*,SKG) , intent(in) :: pattern
2055 procedure(logical(LK)) :: iseq
2056 type(discrete_type) , intent(in) :: border
2057 integer(IK) , intent(in), optional :: blindness
2058 integer(IK) :: count
2059 end function
2060#endif
2061
2062#if SK4_ENABLED
2063 module function getCountLocDisBorCusCom_D0_D0_SK4(array, pattern, border, iseq, blindness) result(count)
2064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2065 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D0_D0_SK4
2066#endif
2067 use pm_kind, only: SKG => SK4
2068 character(*,SKG) , intent(in) :: array
2069 character(*,SKG) , intent(in) :: pattern
2070 procedure(logical(LK)) :: iseq
2071 type(discrete_type) , intent(in) :: border
2072 integer(IK) , intent(in), optional :: blindness
2073 integer(IK) :: count
2074 end function
2075#endif
2076
2077#if SK3_ENABLED
2078 module function getCountLocDisBorCusCom_D0_D0_SK3(array, pattern, border, iseq, blindness) result(count)
2079#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2080 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D0_D0_SK3
2081#endif
2082 use pm_kind, only: SKG => SK3
2083 character(*,SKG) , intent(in) :: array
2084 character(*,SKG) , intent(in) :: pattern
2085 procedure(logical(LK)) :: iseq
2086 type(discrete_type) , intent(in) :: border
2087 integer(IK) , intent(in), optional :: blindness
2088 integer(IK) :: count
2089 end function
2090#endif
2091
2092#if SK2_ENABLED
2093 module function getCountLocDisBorCusCom_D0_D0_SK2(array, pattern, border, iseq, blindness) result(count)
2094#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2095 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D0_D0_SK2
2096#endif
2097 use pm_kind, only: SKG => SK2
2098 character(*,SKG) , intent(in) :: array
2099 character(*,SKG) , intent(in) :: pattern
2100 procedure(logical(LK)) :: iseq
2101 type(discrete_type) , intent(in) :: border
2102 integer(IK) , intent(in), optional :: blindness
2103 integer(IK) :: count
2104 end function
2105#endif
2106
2107#if SK1_ENABLED
2108 module function getCountLocDisBorCusCom_D0_D0_SK1(array, pattern, border, iseq, blindness) result(count)
2109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2110 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D0_D0_SK1
2111#endif
2112 use pm_kind, only: SKG => SK1
2113 character(*,SKG) , intent(in) :: array
2114 character(*,SKG) , intent(in) :: pattern
2115 procedure(logical(LK)) :: iseq
2116 type(discrete_type) , intent(in) :: border
2117 integer(IK) , intent(in), optional :: blindness
2118 integer(IK) :: count
2119 end function
2120#endif
2121
2122 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2123
2124 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2125 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2126 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2127
2128 end interface
2129
2130 ! border discrete D1_D0
2131
2132 interface getCountLoc
2133
2134 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2135 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2136 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2137
2138 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2139
2140#if SK5_ENABLED
2141 PURE module function getCountLocDisBorDefCom_D1_D0_SK5(array, pattern, border, blindness) result(count)
2142#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2143 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_SK5
2144#endif
2145 use pm_kind, only: SKG => SK5
2146 character(*,SKG) , intent(in), contiguous :: array(:)
2147 character(*,SKG) , intent(in) :: pattern
2148 type(discrete_type) , intent(in) :: border
2149 integer(IK) , intent(in), optional :: blindness
2150 integer(IK) :: count
2151 end function
2152#endif
2153
2154#if SK4_ENABLED
2155 PURE module function getCountLocDisBorDefCom_D1_D0_SK4(array, pattern, border, blindness) result(count)
2156#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2157 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_SK4
2158#endif
2159 use pm_kind, only: SKG => SK4
2160 character(*,SKG) , intent(in), contiguous :: array(:)
2161 character(*,SKG) , intent(in) :: pattern
2162 type(discrete_type) , intent(in) :: border
2163 integer(IK) , intent(in), optional :: blindness
2164 integer(IK) :: count
2165 end function
2166#endif
2167
2168#if SK3_ENABLED
2169 PURE module function getCountLocDisBorDefCom_D1_D0_SK3(array, pattern, border, blindness) result(count)
2170#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2171 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_SK3
2172#endif
2173 use pm_kind, only: SKG => SK3
2174 character(*,SKG) , intent(in), contiguous :: array(:)
2175 character(*,SKG) , intent(in) :: pattern
2176 type(discrete_type) , intent(in) :: border
2177 integer(IK) , intent(in), optional :: blindness
2178 integer(IK) :: count
2179 end function
2180#endif
2181
2182#if SK2_ENABLED
2183 PURE module function getCountLocDisBorDefCom_D1_D0_SK2(array, pattern, border, blindness) result(count)
2184#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2185 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_SK2
2186#endif
2187 use pm_kind, only: SKG => SK2
2188 character(*,SKG) , intent(in), contiguous :: array(:)
2189 character(*,SKG) , intent(in) :: pattern
2190 type(discrete_type) , intent(in) :: border
2191 integer(IK) , intent(in), optional :: blindness
2192 integer(IK) :: count
2193 end function
2194#endif
2195
2196#if SK1_ENABLED
2197 PURE module function getCountLocDisBorDefCom_D1_D0_SK1(array, pattern, border, blindness) result(count)
2198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2199 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_SK1
2200#endif
2201 use pm_kind, only: SKG => SK1
2202 character(*,SKG) , intent(in), contiguous :: array(:)
2203 character(*,SKG) , intent(in) :: pattern
2204 type(discrete_type) , intent(in) :: border
2205 integer(IK) , intent(in), optional :: blindness
2206 integer(IK) :: count
2207 end function
2208#endif
2209
2210 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2211
2212#if IK5_ENABLED
2213 PURE module function getCountLocDisBorDefCom_D1_D0_IK5(array, pattern, border, blindness) result(count)
2214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2215 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_IK5
2216#endif
2217 use pm_kind, only: IKG => IK5
2218 integer(IKG) , intent(in), contiguous :: array(:)
2219 integer(IKG) , intent(in) :: pattern
2220 type(discrete_type) , intent(in) :: border
2221 integer(IK) , intent(in), optional :: blindness
2222 integer(IK) :: count
2223 end function
2224#endif
2225
2226#if IK4_ENABLED
2227 PURE module function getCountLocDisBorDefCom_D1_D0_IK4(array, pattern, border, blindness) result(count)
2228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2229 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_IK4
2230#endif
2231 use pm_kind, only: IKG => IK4
2232 integer(IKG) , intent(in), contiguous :: array(:)
2233 integer(IKG) , intent(in) :: pattern
2234 type(discrete_type) , intent(in) :: border
2235 integer(IK) , intent(in), optional :: blindness
2236 integer(IK) :: count
2237 end function
2238#endif
2239
2240#if IK3_ENABLED
2241 PURE module function getCountLocDisBorDefCom_D1_D0_IK3(array, pattern, border, blindness) result(count)
2242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2243 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_IK3
2244#endif
2245 use pm_kind, only: IKG => IK3
2246 integer(IKG) , intent(in), contiguous :: array(:)
2247 integer(IKG) , intent(in) :: pattern
2248 type(discrete_type) , intent(in) :: border
2249 integer(IK) , intent(in), optional :: blindness
2250 integer(IK) :: count
2251 end function
2252#endif
2253
2254#if IK2_ENABLED
2255 PURE module function getCountLocDisBorDefCom_D1_D0_IK2(array, pattern, border, blindness) result(count)
2256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2257 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_IK2
2258#endif
2259 use pm_kind, only: IKG => IK2
2260 integer(IKG) , intent(in), contiguous :: array(:)
2261 integer(IKG) , intent(in) :: pattern
2262 type(discrete_type) , intent(in) :: border
2263 integer(IK) , intent(in), optional :: blindness
2264 integer(IK) :: count
2265 end function
2266#endif
2267
2268#if IK1_ENABLED
2269 PURE module function getCountLocDisBorDefCom_D1_D0_IK1(array, pattern, border, blindness) result(count)
2270#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2271 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_IK1
2272#endif
2273 use pm_kind, only: IKG => IK1
2274 integer(IKG) , intent(in), contiguous :: array(:)
2275 integer(IKG) , intent(in) :: pattern
2276 type(discrete_type) , intent(in) :: border
2277 integer(IK) , intent(in), optional :: blindness
2278 integer(IK) :: count
2279 end function
2280#endif
2281
2282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2283
2284#if LK5_ENABLED
2285 PURE module function getCountLocDisBorDefCom_D1_D0_LK5(array, pattern, border, blindness) result(count)
2286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2287 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_LK5
2288#endif
2289 use pm_kind, only: LKG => LK5
2290 logical(LKG) , intent(in), contiguous :: array(:)
2291 logical(LKG) , intent(in) :: pattern
2292 type(discrete_type) , intent(in) :: border
2293 integer(IK) , intent(in), optional :: blindness
2294 integer(IK) :: count
2295 end function
2296#endif
2297
2298#if LK4_ENABLED
2299 PURE module function getCountLocDisBorDefCom_D1_D0_LK4(array, pattern, border, blindness) result(count)
2300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2301 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_LK4
2302#endif
2303 use pm_kind, only: LKG => LK4
2304 logical(LKG) , intent(in), contiguous :: array(:)
2305 logical(LKG) , intent(in) :: pattern
2306 type(discrete_type) , intent(in) :: border
2307 integer(IK) , intent(in), optional :: blindness
2308 integer(IK) :: count
2309 end function
2310#endif
2311
2312#if LK3_ENABLED
2313 PURE module function getCountLocDisBorDefCom_D1_D0_LK3(array, pattern, border, blindness) result(count)
2314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2315 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_LK3
2316#endif
2317 use pm_kind, only: LKG => LK3
2318 logical(LKG) , intent(in), contiguous :: array(:)
2319 logical(LKG) , intent(in) :: pattern
2320 type(discrete_type) , intent(in) :: border
2321 integer(IK) , intent(in), optional :: blindness
2322 integer(IK) :: count
2323 end function
2324#endif
2325
2326#if LK2_ENABLED
2327 PURE module function getCountLocDisBorDefCom_D1_D0_LK2(array, pattern, border, blindness) result(count)
2328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2329 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_LK2
2330#endif
2331 use pm_kind, only: LKG => LK2
2332 logical(LKG) , intent(in), contiguous :: array(:)
2333 logical(LKG) , intent(in) :: pattern
2334 type(discrete_type) , intent(in) :: border
2335 integer(IK) , intent(in), optional :: blindness
2336 integer(IK) :: count
2337 end function
2338#endif
2339
2340#if LK1_ENABLED
2341 PURE module function getCountLocDisBorDefCom_D1_D0_LK1(array, pattern, border, blindness) result(count)
2342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2343 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_LK1
2344#endif
2345 use pm_kind, only: LKG => LK1
2346 logical(LKG) , intent(in), contiguous :: array(:)
2347 logical(LKG) , intent(in) :: pattern
2348 type(discrete_type) , intent(in) :: border
2349 integer(IK) , intent(in), optional :: blindness
2350 integer(IK) :: count
2351 end function
2352#endif
2353
2354 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2355
2356#if CK5_ENABLED
2357 PURE module function getCountLocDisBorDefCom_D1_D0_CK5(array, pattern, border, blindness) result(count)
2358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2359 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_CK5
2360#endif
2361 use pm_kind, only: CKG => CK5
2362 complex(CKG) , intent(in), contiguous :: array(:)
2363 complex(CKG) , intent(in) :: pattern
2364 type(discrete_type) , intent(in) :: border
2365 integer(IK) , intent(in), optional :: blindness
2366 integer(IK) :: count
2367 end function
2368#endif
2369
2370#if CK4_ENABLED
2371 PURE module function getCountLocDisBorDefCom_D1_D0_CK4(array, pattern, border, blindness) result(count)
2372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2373 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_CK4
2374#endif
2375 use pm_kind, only: CKG => CK4
2376 complex(CKG) , intent(in), contiguous :: array(:)
2377 complex(CKG) , intent(in) :: pattern
2378 type(discrete_type) , intent(in) :: border
2379 integer(IK) , intent(in), optional :: blindness
2380 integer(IK) :: count
2381 end function
2382#endif
2383
2384#if CK3_ENABLED
2385 PURE module function getCountLocDisBorDefCom_D1_D0_CK3(array, pattern, border, blindness) result(count)
2386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2387 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_CK3
2388#endif
2389 use pm_kind, only: CKG => CK3
2390 complex(CKG) , intent(in), contiguous :: array(:)
2391 complex(CKG) , intent(in) :: pattern
2392 type(discrete_type) , intent(in) :: border
2393 integer(IK) , intent(in), optional :: blindness
2394 integer(IK) :: count
2395 end function
2396#endif
2397
2398#if CK2_ENABLED
2399 PURE module function getCountLocDisBorDefCom_D1_D0_CK2(array, pattern, border, blindness) result(count)
2400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2401 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_CK2
2402#endif
2403 use pm_kind, only: CKG => CK2
2404 complex(CKG) , intent(in), contiguous :: array(:)
2405 complex(CKG) , intent(in) :: pattern
2406 type(discrete_type) , intent(in) :: border
2407 integer(IK) , intent(in), optional :: blindness
2408 integer(IK) :: count
2409 end function
2410#endif
2411
2412#if CK1_ENABLED
2413 PURE module function getCountLocDisBorDefCom_D1_D0_CK1(array, pattern, border, blindness) result(count)
2414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2415 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_CK1
2416#endif
2417 use pm_kind, only: CKG => CK1
2418 complex(CKG) , intent(in), contiguous :: array(:)
2419 complex(CKG) , intent(in) :: pattern
2420 type(discrete_type) , intent(in) :: border
2421 integer(IK) , intent(in), optional :: blindness
2422 integer(IK) :: count
2423 end function
2424#endif
2425
2426 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2427
2428#if RK5_ENABLED
2429 PURE module function getCountLocDisBorDefCom_D1_D0_RK5(array, pattern, border, blindness) result(count)
2430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2431 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_RK5
2432#endif
2433 use pm_kind, only: RKG => RK5
2434 real(RKG) , intent(in), contiguous :: array(:)
2435 real(RKG) , intent(in) :: pattern
2436 type(discrete_type) , intent(in) :: border
2437 integer(IK) , intent(in), optional :: blindness
2438 integer(IK) :: count
2439 end function
2440#endif
2441
2442#if RK4_ENABLED
2443 PURE module function getCountLocDisBorDefCom_D1_D0_RK4(array, pattern, border, blindness) result(count)
2444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2445 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_RK4
2446#endif
2447 use pm_kind, only: RKG => RK4
2448 real(RKG) , intent(in), contiguous :: array(:)
2449 real(RKG) , intent(in) :: pattern
2450 type(discrete_type) , intent(in) :: border
2451 integer(IK) , intent(in), optional :: blindness
2452 integer(IK) :: count
2453 end function
2454#endif
2455
2456#if RK3_ENABLED
2457 PURE module function getCountLocDisBorDefCom_D1_D0_RK3(array, pattern, border, blindness) result(count)
2458#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2459 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_RK3
2460#endif
2461 use pm_kind, only: RKG => RK3
2462 real(RKG) , intent(in), contiguous :: array(:)
2463 real(RKG) , intent(in) :: pattern
2464 type(discrete_type) , intent(in) :: border
2465 integer(IK) , intent(in), optional :: blindness
2466 integer(IK) :: count
2467 end function
2468#endif
2469
2470#if RK2_ENABLED
2471 PURE module function getCountLocDisBorDefCom_D1_D0_RK2(array, pattern, border, blindness) result(count)
2472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2473 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_RK2
2474#endif
2475 use pm_kind, only: RKG => RK2
2476 real(RKG) , intent(in), contiguous :: array(:)
2477 real(RKG) , intent(in) :: pattern
2478 type(discrete_type) , intent(in) :: border
2479 integer(IK) , intent(in), optional :: blindness
2480 integer(IK) :: count
2481 end function
2482#endif
2483
2484#if RK1_ENABLED
2485 PURE module function getCountLocDisBorDefCom_D1_D0_RK1(array, pattern, border, blindness) result(count)
2486#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2487 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D0_RK1
2488#endif
2489 use pm_kind, only: RKG => RK1
2490 real(RKG) , intent(in), contiguous :: array(:)
2491 real(RKG) , intent(in) :: pattern
2492 type(discrete_type) , intent(in) :: border
2493 integer(IK) , intent(in), optional :: blindness
2494 integer(IK) :: count
2495 end function
2496#endif
2497
2498 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2499
2500 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2501 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2502 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2503
2504 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2505
2506#if SK5_ENABLED
2507 module function getCountLocDisBorCusCom_D1_D0_SK5(array, pattern, border, iseq, blindness) result(count)
2508#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2509 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_SK5
2510#endif
2511 use pm_kind, only: SKG => SK5
2512 character(*,SKG) , intent(in), contiguous :: array(:)
2513 character(*,SKG) , intent(in) :: pattern
2514 procedure(logical(LK)) :: iseq
2515 type(discrete_type) , intent(in) :: border
2516 integer(IK) , intent(in), optional :: blindness
2517 integer(IK) :: count
2518 end function
2519#endif
2520
2521#if SK4_ENABLED
2522 module function getCountLocDisBorCusCom_D1_D0_SK4(array, pattern, border, iseq, blindness) result(count)
2523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2524 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_SK4
2525#endif
2526 use pm_kind, only: SKG => SK4
2527 character(*,SKG) , intent(in), contiguous :: array(:)
2528 character(*,SKG) , intent(in) :: pattern
2529 procedure(logical(LK)) :: iseq
2530 type(discrete_type) , intent(in) :: border
2531 integer(IK) , intent(in), optional :: blindness
2532 integer(IK) :: count
2533 end function
2534#endif
2535
2536#if SK3_ENABLED
2537 module function getCountLocDisBorCusCom_D1_D0_SK3(array, pattern, border, iseq, blindness) result(count)
2538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2539 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_SK3
2540#endif
2541 use pm_kind, only: SKG => SK3
2542 character(*,SKG) , intent(in), contiguous :: array(:)
2543 character(*,SKG) , intent(in) :: pattern
2544 procedure(logical(LK)) :: iseq
2545 type(discrete_type) , intent(in) :: border
2546 integer(IK) , intent(in), optional :: blindness
2547 integer(IK) :: count
2548 end function
2549#endif
2550
2551#if SK2_ENABLED
2552 module function getCountLocDisBorCusCom_D1_D0_SK2(array, pattern, border, iseq, blindness) result(count)
2553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2554 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_SK2
2555#endif
2556 use pm_kind, only: SKG => SK2
2557 character(*,SKG) , intent(in), contiguous :: array(:)
2558 character(*,SKG) , intent(in) :: pattern
2559 procedure(logical(LK)) :: iseq
2560 type(discrete_type) , intent(in) :: border
2561 integer(IK) , intent(in), optional :: blindness
2562 integer(IK) :: count
2563 end function
2564#endif
2565
2566#if SK1_ENABLED
2567 module function getCountLocDisBorCusCom_D1_D0_SK1(array, pattern, border, iseq, blindness) result(count)
2568#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2569 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_SK1
2570#endif
2571 use pm_kind, only: SKG => SK1
2572 character(*,SKG) , intent(in), contiguous :: array(:)
2573 character(*,SKG) , intent(in) :: pattern
2574 procedure(logical(LK)) :: iseq
2575 type(discrete_type) , intent(in) :: border
2576 integer(IK) , intent(in), optional :: blindness
2577 integer(IK) :: count
2578 end function
2579#endif
2580
2581 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2582
2583#if IK5_ENABLED
2584 module function getCountLocDisBorCusCom_D1_D0_IK5(array, pattern, border, iseq, blindness) result(count)
2585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2586 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_IK5
2587#endif
2588 use pm_kind, only: IKG => IK5
2589 integer(IKG) , intent(in), contiguous :: array(:)
2590 integer(IKG) , intent(in) :: pattern
2591 procedure(logical(LK)) :: iseq
2592 type(discrete_type) , intent(in) :: border
2593 integer(IK) , intent(in), optional :: blindness
2594 integer(IK) :: count
2595 end function
2596#endif
2597
2598#if IK4_ENABLED
2599 module function getCountLocDisBorCusCom_D1_D0_IK4(array, pattern, border, iseq, blindness) result(count)
2600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2601 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_IK4
2602#endif
2603 use pm_kind, only: IKG => IK4
2604 integer(IKG) , intent(in), contiguous :: array(:)
2605 integer(IKG) , intent(in) :: pattern
2606 procedure(logical(LK)) :: iseq
2607 type(discrete_type) , intent(in) :: border
2608 integer(IK) , intent(in), optional :: blindness
2609 integer(IK) :: count
2610 end function
2611#endif
2612
2613#if IK3_ENABLED
2614 module function getCountLocDisBorCusCom_D1_D0_IK3(array, pattern, border, iseq, blindness) result(count)
2615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2616 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_IK3
2617#endif
2618 use pm_kind, only: IKG => IK3
2619 integer(IKG) , intent(in), contiguous :: array(:)
2620 integer(IKG) , intent(in) :: pattern
2621 procedure(logical(LK)) :: iseq
2622 type(discrete_type) , intent(in) :: border
2623 integer(IK) , intent(in), optional :: blindness
2624 integer(IK) :: count
2625 end function
2626#endif
2627
2628#if IK2_ENABLED
2629 module function getCountLocDisBorCusCom_D1_D0_IK2(array, pattern, border, iseq, blindness) result(count)
2630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2631 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_IK2
2632#endif
2633 use pm_kind, only: IKG => IK2
2634 integer(IKG) , intent(in), contiguous :: array(:)
2635 integer(IKG) , intent(in) :: pattern
2636 procedure(logical(LK)) :: iseq
2637 type(discrete_type) , intent(in) :: border
2638 integer(IK) , intent(in), optional :: blindness
2639 integer(IK) :: count
2640 end function
2641#endif
2642
2643#if IK1_ENABLED
2644 module function getCountLocDisBorCusCom_D1_D0_IK1(array, pattern, border, iseq, blindness) result(count)
2645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2646 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_IK1
2647#endif
2648 use pm_kind, only: IKG => IK1
2649 integer(IKG) , intent(in), contiguous :: array(:)
2650 integer(IKG) , intent(in) :: pattern
2651 procedure(logical(LK)) :: iseq
2652 type(discrete_type) , intent(in) :: border
2653 integer(IK) , intent(in), optional :: blindness
2654 integer(IK) :: count
2655 end function
2656#endif
2657
2658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2659
2660#if LK5_ENABLED
2661 module function getCountLocDisBorCusCom_D1_D0_LK5(array, pattern, border, iseq, blindness) result(count)
2662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2663 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_LK5
2664#endif
2665 use pm_kind, only: LKG => LK5
2666 logical(LKG) , intent(in), contiguous :: array(:)
2667 logical(LKG) , intent(in) :: pattern
2668 procedure(logical(LK)) :: iseq
2669 type(discrete_type) , intent(in) :: border
2670 integer(IK) , intent(in), optional :: blindness
2671 integer(IK) :: count
2672 end function
2673#endif
2674
2675#if LK4_ENABLED
2676 module function getCountLocDisBorCusCom_D1_D0_LK4(array, pattern, border, iseq, blindness) result(count)
2677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2678 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_LK4
2679#endif
2680 use pm_kind, only: LKG => LK4
2681 logical(LKG) , intent(in), contiguous :: array(:)
2682 logical(LKG) , intent(in) :: pattern
2683 procedure(logical(LK)) :: iseq
2684 type(discrete_type) , intent(in) :: border
2685 integer(IK) , intent(in), optional :: blindness
2686 integer(IK) :: count
2687 end function
2688#endif
2689
2690#if LK3_ENABLED
2691 module function getCountLocDisBorCusCom_D1_D0_LK3(array, pattern, border, iseq, blindness) result(count)
2692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2693 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_LK3
2694#endif
2695 use pm_kind, only: LKG => LK3
2696 logical(LKG) , intent(in), contiguous :: array(:)
2697 logical(LKG) , intent(in) :: pattern
2698 procedure(logical(LK)) :: iseq
2699 type(discrete_type) , intent(in) :: border
2700 integer(IK) , intent(in), optional :: blindness
2701 integer(IK) :: count
2702 end function
2703#endif
2704
2705#if LK2_ENABLED
2706 module function getCountLocDisBorCusCom_D1_D0_LK2(array, pattern, border, iseq, blindness) result(count)
2707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2708 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_LK2
2709#endif
2710 use pm_kind, only: LKG => LK2
2711 logical(LKG) , intent(in), contiguous :: array(:)
2712 logical(LKG) , intent(in) :: pattern
2713 procedure(logical(LK)) :: iseq
2714 type(discrete_type) , intent(in) :: border
2715 integer(IK) , intent(in), optional :: blindness
2716 integer(IK) :: count
2717 end function
2718#endif
2719
2720#if LK1_ENABLED
2721 module function getCountLocDisBorCusCom_D1_D0_LK1(array, pattern, border, iseq, blindness) result(count)
2722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2723 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_LK1
2724#endif
2725 use pm_kind, only: LKG => LK1
2726 logical(LKG) , intent(in), contiguous :: array(:)
2727 logical(LKG) , intent(in) :: pattern
2728 procedure(logical(LK)) :: iseq
2729 type(discrete_type) , intent(in) :: border
2730 integer(IK) , intent(in), optional :: blindness
2731 integer(IK) :: count
2732 end function
2733#endif
2734
2735 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2736
2737#if CK5_ENABLED
2738 module function getCountLocDisBorCusCom_D1_D0_CK5(array, pattern, border, iseq, blindness) result(count)
2739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2740 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_CK5
2741#endif
2742 use pm_kind, only: CKG => CK5
2743 complex(CKG) , intent(in), contiguous :: array(:)
2744 complex(CKG) , intent(in) :: pattern
2745 procedure(logical(LK)) :: iseq
2746 type(discrete_type) , intent(in) :: border
2747 integer(IK) , intent(in), optional :: blindness
2748 integer(IK) :: count
2749 end function
2750#endif
2751
2752#if CK4_ENABLED
2753 module function getCountLocDisBorCusCom_D1_D0_CK4(array, pattern, border, iseq, blindness) result(count)
2754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2755 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_CK4
2756#endif
2757 use pm_kind, only: CKG => CK4
2758 complex(CKG) , intent(in), contiguous :: array(:)
2759 complex(CKG) , intent(in) :: pattern
2760 procedure(logical(LK)) :: iseq
2761 type(discrete_type) , intent(in) :: border
2762 integer(IK) , intent(in), optional :: blindness
2763 integer(IK) :: count
2764 end function
2765#endif
2766
2767#if CK3_ENABLED
2768 module function getCountLocDisBorCusCom_D1_D0_CK3(array, pattern, border, iseq, blindness) result(count)
2769#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2770 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_CK3
2771#endif
2772 use pm_kind, only: CKG => CK3
2773 complex(CKG) , intent(in), contiguous :: array(:)
2774 complex(CKG) , intent(in) :: pattern
2775 procedure(logical(LK)) :: iseq
2776 type(discrete_type) , intent(in) :: border
2777 integer(IK) , intent(in), optional :: blindness
2778 integer(IK) :: count
2779 end function
2780#endif
2781
2782#if CK2_ENABLED
2783 module function getCountLocDisBorCusCom_D1_D0_CK2(array, pattern, border, iseq, blindness) result(count)
2784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2785 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_CK2
2786#endif
2787 use pm_kind, only: CKG => CK2
2788 complex(CKG) , intent(in), contiguous :: array(:)
2789 complex(CKG) , intent(in) :: pattern
2790 procedure(logical(LK)) :: iseq
2791 type(discrete_type) , intent(in) :: border
2792 integer(IK) , intent(in), optional :: blindness
2793 integer(IK) :: count
2794 end function
2795#endif
2796
2797#if CK1_ENABLED
2798 module function getCountLocDisBorCusCom_D1_D0_CK1(array, pattern, border, iseq, blindness) result(count)
2799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2800 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_CK1
2801#endif
2802 use pm_kind, only: CKG => CK1
2803 complex(CKG) , intent(in), contiguous :: array(:)
2804 complex(CKG) , intent(in) :: pattern
2805 procedure(logical(LK)) :: iseq
2806 type(discrete_type) , intent(in) :: border
2807 integer(IK) , intent(in), optional :: blindness
2808 integer(IK) :: count
2809 end function
2810#endif
2811
2812 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2813
2814#if RK5_ENABLED
2815 module function getCountLocDisBorCusCom_D1_D0_RK5(array, pattern, border, iseq, blindness) result(count)
2816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2817 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_RK5
2818#endif
2819 use pm_kind, only: RKG => RK5
2820 real(RKG) , intent(in), contiguous :: array(:)
2821 real(RKG) , intent(in) :: pattern
2822 procedure(logical(LK)) :: iseq
2823 type(discrete_type) , intent(in) :: border
2824 integer(IK) , intent(in), optional :: blindness
2825 integer(IK) :: count
2826 end function
2827#endif
2828
2829#if RK4_ENABLED
2830 module function getCountLocDisBorCusCom_D1_D0_RK4(array, pattern, border, iseq, blindness) result(count)
2831#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2832 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_RK4
2833#endif
2834 use pm_kind, only: RKG => RK4
2835 real(RKG) , intent(in), contiguous :: array(:)
2836 real(RKG) , intent(in) :: pattern
2837 procedure(logical(LK)) :: iseq
2838 type(discrete_type) , intent(in) :: border
2839 integer(IK) , intent(in), optional :: blindness
2840 integer(IK) :: count
2841 end function
2842#endif
2843
2844#if RK3_ENABLED
2845 module function getCountLocDisBorCusCom_D1_D0_RK3(array, pattern, border, iseq, blindness) result(count)
2846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2847 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_RK3
2848#endif
2849 use pm_kind, only: RKG => RK3
2850 real(RKG) , intent(in), contiguous :: array(:)
2851 real(RKG) , intent(in) :: pattern
2852 procedure(logical(LK)) :: iseq
2853 type(discrete_type) , intent(in) :: border
2854 integer(IK) , intent(in), optional :: blindness
2855 integer(IK) :: count
2856 end function
2857#endif
2858
2859#if RK2_ENABLED
2860 module function getCountLocDisBorCusCom_D1_D0_RK2(array, pattern, border, iseq, blindness) result(count)
2861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2862 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_RK2
2863#endif
2864 use pm_kind, only: RKG => RK2
2865 real(RKG) , intent(in), contiguous :: array(:)
2866 real(RKG) , intent(in) :: pattern
2867 procedure(logical(LK)) :: iseq
2868 type(discrete_type) , intent(in) :: border
2869 integer(IK) , intent(in), optional :: blindness
2870 integer(IK) :: count
2871 end function
2872#endif
2873
2874#if RK1_ENABLED
2875 module function getCountLocDisBorCusCom_D1_D0_RK1(array, pattern, border, iseq, blindness) result(count)
2876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2877 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D0_RK1
2878#endif
2879 use pm_kind, only: RKG => RK1
2880 real(RKG) , intent(in), contiguous :: array(:)
2881 real(RKG) , intent(in) :: pattern
2882 procedure(logical(LK)) :: iseq
2883 type(discrete_type) , intent(in) :: border
2884 integer(IK) , intent(in), optional :: blindness
2885 integer(IK) :: count
2886 end function
2887#endif
2888
2889 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2890
2891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2892 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2893 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2894
2895 end interface
2896
2897 ! border discrete D1_D1
2898
2899 interface getCountLoc
2900
2901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2902 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2903 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2904
2905 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2906
2907#if SK5_ENABLED
2908 PURE module function getCountLocDisBorDefCom_D1_D1_SK5(array, pattern, border, blindness) result(count)
2909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2910 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_SK5
2911#endif
2912 use pm_kind, only: SKG => SK5
2913 character(*,SKG) , intent(in), contiguous :: array(:)
2914 character(*,SKG) , intent(in), contiguous :: pattern(:)
2915 type(discrete_type) , intent(in) :: border
2916 integer(IK) , intent(in), optional :: blindness
2917 integer(IK) :: count
2918 end function
2919#endif
2920
2921#if SK4_ENABLED
2922 PURE module function getCountLocDisBorDefCom_D1_D1_SK4(array, pattern, border, blindness) result(count)
2923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2924 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_SK4
2925#endif
2926 use pm_kind, only: SKG => SK4
2927 character(*,SKG) , intent(in), contiguous :: array(:)
2928 character(*,SKG) , intent(in), contiguous :: pattern(:)
2929 type(discrete_type) , intent(in) :: border
2930 integer(IK) , intent(in), optional :: blindness
2931 integer(IK) :: count
2932 end function
2933#endif
2934
2935#if SK3_ENABLED
2936 PURE module function getCountLocDisBorDefCom_D1_D1_SK3(array, pattern, border, blindness) result(count)
2937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2938 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_SK3
2939#endif
2940 use pm_kind, only: SKG => SK3
2941 character(*,SKG) , intent(in), contiguous :: array(:)
2942 character(*,SKG) , intent(in), contiguous :: pattern(:)
2943 type(discrete_type) , intent(in) :: border
2944 integer(IK) , intent(in), optional :: blindness
2945 integer(IK) :: count
2946 end function
2947#endif
2948
2949#if SK2_ENABLED
2950 PURE module function getCountLocDisBorDefCom_D1_D1_SK2(array, pattern, border, blindness) result(count)
2951#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2952 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_SK2
2953#endif
2954 use pm_kind, only: SKG => SK2
2955 character(*,SKG) , intent(in), contiguous :: array(:)
2956 character(*,SKG) , intent(in), contiguous :: pattern(:)
2957 type(discrete_type) , intent(in) :: border
2958 integer(IK) , intent(in), optional :: blindness
2959 integer(IK) :: count
2960 end function
2961#endif
2962
2963#if SK1_ENABLED
2964 PURE module function getCountLocDisBorDefCom_D1_D1_SK1(array, pattern, border, blindness) result(count)
2965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2966 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_SK1
2967#endif
2968 use pm_kind, only: SKG => SK1
2969 character(*,SKG) , intent(in), contiguous :: array(:)
2970 character(*,SKG) , intent(in), contiguous :: pattern(:)
2971 type(discrete_type) , intent(in) :: border
2972 integer(IK) , intent(in), optional :: blindness
2973 integer(IK) :: count
2974 end function
2975#endif
2976
2977 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2978
2979#if IK5_ENABLED
2980 PURE module function getCountLocDisBorDefCom_D1_D1_IK5(array, pattern, border, blindness) result(count)
2981#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2982 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_IK5
2983#endif
2984 use pm_kind, only: IKG => IK5
2985 integer(IKG) , intent(in), contiguous :: array(:)
2986 integer(IKG) , intent(in), contiguous :: pattern(:)
2987 type(discrete_type) , intent(in) :: border
2988 integer(IK) , intent(in), optional :: blindness
2989 integer(IK) :: count
2990 end function
2991#endif
2992
2993#if IK4_ENABLED
2994 PURE module function getCountLocDisBorDefCom_D1_D1_IK4(array, pattern, border, blindness) result(count)
2995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2996 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_IK4
2997#endif
2998 use pm_kind, only: IKG => IK4
2999 integer(IKG) , intent(in), contiguous :: array(:)
3000 integer(IKG) , intent(in), contiguous :: pattern(:)
3001 type(discrete_type) , intent(in) :: border
3002 integer(IK) , intent(in), optional :: blindness
3003 integer(IK) :: count
3004 end function
3005#endif
3006
3007#if IK3_ENABLED
3008 PURE module function getCountLocDisBorDefCom_D1_D1_IK3(array, pattern, border, blindness) result(count)
3009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3010 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_IK3
3011#endif
3012 use pm_kind, only: IKG => IK3
3013 integer(IKG) , intent(in), contiguous :: array(:)
3014 integer(IKG) , intent(in), contiguous :: pattern(:)
3015 type(discrete_type) , intent(in) :: border
3016 integer(IK) , intent(in), optional :: blindness
3017 integer(IK) :: count
3018 end function
3019#endif
3020
3021#if IK2_ENABLED
3022 PURE module function getCountLocDisBorDefCom_D1_D1_IK2(array, pattern, border, blindness) result(count)
3023#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3024 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_IK2
3025#endif
3026 use pm_kind, only: IKG => IK2
3027 integer(IKG) , intent(in), contiguous :: array(:)
3028 integer(IKG) , intent(in), contiguous :: pattern(:)
3029 type(discrete_type) , intent(in) :: border
3030 integer(IK) , intent(in), optional :: blindness
3031 integer(IK) :: count
3032 end function
3033#endif
3034
3035#if IK1_ENABLED
3036 PURE module function getCountLocDisBorDefCom_D1_D1_IK1(array, pattern, border, blindness) result(count)
3037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3038 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_IK1
3039#endif
3040 use pm_kind, only: IKG => IK1
3041 integer(IKG) , intent(in), contiguous :: array(:)
3042 integer(IKG) , intent(in), contiguous :: pattern(:)
3043 type(discrete_type) , intent(in) :: border
3044 integer(IK) , intent(in), optional :: blindness
3045 integer(IK) :: count
3046 end function
3047#endif
3048
3049 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3050
3051#if LK5_ENABLED
3052 PURE module function getCountLocDisBorDefCom_D1_D1_LK5(array, pattern, border, blindness) result(count)
3053#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3054 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_LK5
3055#endif
3056 use pm_kind, only: LKG => LK5
3057 logical(LKG) , intent(in), contiguous :: array(:)
3058 logical(LKG) , intent(in), contiguous :: pattern(:)
3059 type(discrete_type) , intent(in) :: border
3060 integer(IK) , intent(in), optional :: blindness
3061 integer(IK) :: count
3062 end function
3063#endif
3064
3065#if LK4_ENABLED
3066 PURE module function getCountLocDisBorDefCom_D1_D1_LK4(array, pattern, border, blindness) result(count)
3067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3068 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_LK4
3069#endif
3070 use pm_kind, only: LKG => LK4
3071 logical(LKG) , intent(in), contiguous :: array(:)
3072 logical(LKG) , intent(in), contiguous :: pattern(:)
3073 type(discrete_type) , intent(in) :: border
3074 integer(IK) , intent(in), optional :: blindness
3075 integer(IK) :: count
3076 end function
3077#endif
3078
3079#if LK3_ENABLED
3080 PURE module function getCountLocDisBorDefCom_D1_D1_LK3(array, pattern, border, blindness) result(count)
3081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3082 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_LK3
3083#endif
3084 use pm_kind, only: LKG => LK3
3085 logical(LKG) , intent(in), contiguous :: array(:)
3086 logical(LKG) , intent(in), contiguous :: pattern(:)
3087 type(discrete_type) , intent(in) :: border
3088 integer(IK) , intent(in), optional :: blindness
3089 integer(IK) :: count
3090 end function
3091#endif
3092
3093#if LK2_ENABLED
3094 PURE module function getCountLocDisBorDefCom_D1_D1_LK2(array, pattern, border, blindness) result(count)
3095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3096 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_LK2
3097#endif
3098 use pm_kind, only: LKG => LK2
3099 logical(LKG) , intent(in), contiguous :: array(:)
3100 logical(LKG) , intent(in), contiguous :: pattern(:)
3101 type(discrete_type) , intent(in) :: border
3102 integer(IK) , intent(in), optional :: blindness
3103 integer(IK) :: count
3104 end function
3105#endif
3106
3107#if LK1_ENABLED
3108 PURE module function getCountLocDisBorDefCom_D1_D1_LK1(array, pattern, border, blindness) result(count)
3109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3110 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_LK1
3111#endif
3112 use pm_kind, only: LKG => LK1
3113 logical(LKG) , intent(in), contiguous :: array(:)
3114 logical(LKG) , intent(in), contiguous :: pattern(:)
3115 type(discrete_type) , intent(in) :: border
3116 integer(IK) , intent(in), optional :: blindness
3117 integer(IK) :: count
3118 end function
3119#endif
3120
3121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3122
3123#if CK5_ENABLED
3124 PURE module function getCountLocDisBorDefCom_D1_D1_CK5(array, pattern, border, blindness) result(count)
3125#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3126 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_CK5
3127#endif
3128 use pm_kind, only: CKG => CK5
3129 complex(CKG) , intent(in), contiguous :: array(:)
3130 complex(CKG) , intent(in), contiguous :: pattern(:)
3131 type(discrete_type) , intent(in) :: border
3132 integer(IK) , intent(in), optional :: blindness
3133 integer(IK) :: count
3134 end function
3135#endif
3136
3137#if CK4_ENABLED
3138 PURE module function getCountLocDisBorDefCom_D1_D1_CK4(array, pattern, border, blindness) result(count)
3139#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3140 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_CK4
3141#endif
3142 use pm_kind, only: CKG => CK4
3143 complex(CKG) , intent(in), contiguous :: array(:)
3144 complex(CKG) , intent(in), contiguous :: pattern(:)
3145 type(discrete_type) , intent(in) :: border
3146 integer(IK) , intent(in), optional :: blindness
3147 integer(IK) :: count
3148 end function
3149#endif
3150
3151#if CK3_ENABLED
3152 PURE module function getCountLocDisBorDefCom_D1_D1_CK3(array, pattern, border, blindness) result(count)
3153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3154 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_CK3
3155#endif
3156 use pm_kind, only: CKG => CK3
3157 complex(CKG) , intent(in), contiguous :: array(:)
3158 complex(CKG) , intent(in), contiguous :: pattern(:)
3159 type(discrete_type) , intent(in) :: border
3160 integer(IK) , intent(in), optional :: blindness
3161 integer(IK) :: count
3162 end function
3163#endif
3164
3165#if CK2_ENABLED
3166 PURE module function getCountLocDisBorDefCom_D1_D1_CK2(array, pattern, border, blindness) result(count)
3167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3168 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_CK2
3169#endif
3170 use pm_kind, only: CKG => CK2
3171 complex(CKG) , intent(in), contiguous :: array(:)
3172 complex(CKG) , intent(in), contiguous :: pattern(:)
3173 type(discrete_type) , intent(in) :: border
3174 integer(IK) , intent(in), optional :: blindness
3175 integer(IK) :: count
3176 end function
3177#endif
3178
3179#if CK1_ENABLED
3180 PURE module function getCountLocDisBorDefCom_D1_D1_CK1(array, pattern, border, blindness) result(count)
3181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3182 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_CK1
3183#endif
3184 use pm_kind, only: CKG => CK1
3185 complex(CKG) , intent(in), contiguous :: array(:)
3186 complex(CKG) , intent(in), contiguous :: pattern(:)
3187 type(discrete_type) , intent(in) :: border
3188 integer(IK) , intent(in), optional :: blindness
3189 integer(IK) :: count
3190 end function
3191#endif
3192
3193 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3194
3195#if RK5_ENABLED
3196 PURE module function getCountLocDisBorDefCom_D1_D1_RK5(array, pattern, border, blindness) result(count)
3197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3198 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_RK5
3199#endif
3200 use pm_kind, only: RKG => RK5
3201 real(RKG) , intent(in), contiguous :: array(:)
3202 real(RKG) , intent(in), contiguous :: pattern(:)
3203 type(discrete_type) , intent(in) :: border
3204 integer(IK) , intent(in), optional :: blindness
3205 integer(IK) :: count
3206 end function
3207#endif
3208
3209#if RK4_ENABLED
3210 PURE module function getCountLocDisBorDefCom_D1_D1_RK4(array, pattern, border, blindness) result(count)
3211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3212 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_RK4
3213#endif
3214 use pm_kind, only: RKG => RK4
3215 real(RKG) , intent(in), contiguous :: array(:)
3216 real(RKG) , intent(in), contiguous :: pattern(:)
3217 type(discrete_type) , intent(in) :: border
3218 integer(IK) , intent(in), optional :: blindness
3219 integer(IK) :: count
3220 end function
3221#endif
3222
3223#if RK3_ENABLED
3224 PURE module function getCountLocDisBorDefCom_D1_D1_RK3(array, pattern, border, blindness) result(count)
3225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3226 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_RK3
3227#endif
3228 use pm_kind, only: RKG => RK3
3229 real(RKG) , intent(in), contiguous :: array(:)
3230 real(RKG) , intent(in), contiguous :: pattern(:)
3231 type(discrete_type) , intent(in) :: border
3232 integer(IK) , intent(in), optional :: blindness
3233 integer(IK) :: count
3234 end function
3235#endif
3236
3237#if RK2_ENABLED
3238 PURE module function getCountLocDisBorDefCom_D1_D1_RK2(array, pattern, border, blindness) result(count)
3239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3240 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_RK2
3241#endif
3242 use pm_kind, only: RKG => RK2
3243 real(RKG) , intent(in), contiguous :: array(:)
3244 real(RKG) , intent(in), contiguous :: pattern(:)
3245 type(discrete_type) , intent(in) :: border
3246 integer(IK) , intent(in), optional :: blindness
3247 integer(IK) :: count
3248 end function
3249#endif
3250
3251#if RK1_ENABLED
3252 PURE module function getCountLocDisBorDefCom_D1_D1_RK1(array, pattern, border, blindness) result(count)
3253#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3254 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorDefCom_D1_D1_RK1
3255#endif
3256 use pm_kind, only: RKG => RK1
3257 real(RKG) , intent(in), contiguous :: array(:)
3258 real(RKG) , intent(in), contiguous :: pattern(:)
3259 type(discrete_type) , intent(in) :: border
3260 integer(IK) , intent(in), optional :: blindness
3261 integer(IK) :: count
3262 end function
3263#endif
3264
3265 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3266
3267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3268 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3269 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3270
3271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3272
3273#if SK5_ENABLED
3274 module function getCountLocDisBorCusCom_D1_D1_SK5(array, pattern, border, iseq, blindness) result(count)
3275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3276 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_SK5
3277#endif
3278 use pm_kind, only: SKG => SK5
3279 character(*,SKG) , intent(in), contiguous :: array(:)
3280 character(*,SKG) , intent(in), contiguous :: pattern(:)
3281 procedure(logical(LK)) :: iseq
3282 type(discrete_type) , intent(in) :: border
3283 integer(IK) , intent(in), optional :: blindness
3284 integer(IK) :: count
3285 end function
3286#endif
3287
3288#if SK4_ENABLED
3289 module function getCountLocDisBorCusCom_D1_D1_SK4(array, pattern, border, iseq, blindness) result(count)
3290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3291 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_SK4
3292#endif
3293 use pm_kind, only: SKG => SK4
3294 character(*,SKG) , intent(in), contiguous :: array(:)
3295 character(*,SKG) , intent(in), contiguous :: pattern(:)
3296 procedure(logical(LK)) :: iseq
3297 type(discrete_type) , intent(in) :: border
3298 integer(IK) , intent(in), optional :: blindness
3299 integer(IK) :: count
3300 end function
3301#endif
3302
3303#if SK3_ENABLED
3304 module function getCountLocDisBorCusCom_D1_D1_SK3(array, pattern, border, iseq, blindness) result(count)
3305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3306 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_SK3
3307#endif
3308 use pm_kind, only: SKG => SK3
3309 character(*,SKG) , intent(in), contiguous :: array(:)
3310 character(*,SKG) , intent(in), contiguous :: pattern(:)
3311 procedure(logical(LK)) :: iseq
3312 type(discrete_type) , intent(in) :: border
3313 integer(IK) , intent(in), optional :: blindness
3314 integer(IK) :: count
3315 end function
3316#endif
3317
3318#if SK2_ENABLED
3319 module function getCountLocDisBorCusCom_D1_D1_SK2(array, pattern, border, iseq, blindness) result(count)
3320#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3321 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_SK2
3322#endif
3323 use pm_kind, only: SKG => SK2
3324 character(*,SKG) , intent(in), contiguous :: array(:)
3325 character(*,SKG) , intent(in), contiguous :: pattern(:)
3326 procedure(logical(LK)) :: iseq
3327 type(discrete_type) , intent(in) :: border
3328 integer(IK) , intent(in), optional :: blindness
3329 integer(IK) :: count
3330 end function
3331#endif
3332
3333#if SK1_ENABLED
3334 module function getCountLocDisBorCusCom_D1_D1_SK1(array, pattern, border, iseq, blindness) result(count)
3335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3336 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_SK1
3337#endif
3338 use pm_kind, only: SKG => SK1
3339 character(*,SKG) , intent(in), contiguous :: array(:)
3340 character(*,SKG) , intent(in), contiguous :: pattern(:)
3341 procedure(logical(LK)) :: iseq
3342 type(discrete_type) , intent(in) :: border
3343 integer(IK) , intent(in), optional :: blindness
3344 integer(IK) :: count
3345 end function
3346#endif
3347
3348 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3349
3350#if IK5_ENABLED
3351 module function getCountLocDisBorCusCom_D1_D1_IK5(array, pattern, border, iseq, blindness) result(count)
3352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3353 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_IK5
3354#endif
3355 use pm_kind, only: IKG => IK5
3356 integer(IKG) , intent(in), contiguous :: array(:)
3357 integer(IKG) , intent(in), contiguous :: pattern(:)
3358 procedure(logical(LK)) :: iseq
3359 type(discrete_type) , intent(in) :: border
3360 integer(IK) , intent(in), optional :: blindness
3361 integer(IK) :: count
3362 end function
3363#endif
3364
3365#if IK4_ENABLED
3366 module function getCountLocDisBorCusCom_D1_D1_IK4(array, pattern, border, iseq, blindness) result(count)
3367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3368 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_IK4
3369#endif
3370 use pm_kind, only: IKG => IK4
3371 integer(IKG) , intent(in), contiguous :: array(:)
3372 integer(IKG) , intent(in), contiguous :: pattern(:)
3373 procedure(logical(LK)) :: iseq
3374 type(discrete_type) , intent(in) :: border
3375 integer(IK) , intent(in), optional :: blindness
3376 integer(IK) :: count
3377 end function
3378#endif
3379
3380#if IK3_ENABLED
3381 module function getCountLocDisBorCusCom_D1_D1_IK3(array, pattern, border, iseq, blindness) result(count)
3382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3383 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_IK3
3384#endif
3385 use pm_kind, only: IKG => IK3
3386 integer(IKG) , intent(in), contiguous :: array(:)
3387 integer(IKG) , intent(in), contiguous :: pattern(:)
3388 procedure(logical(LK)) :: iseq
3389 type(discrete_type) , intent(in) :: border
3390 integer(IK) , intent(in), optional :: blindness
3391 integer(IK) :: count
3392 end function
3393#endif
3394
3395#if IK2_ENABLED
3396 module function getCountLocDisBorCusCom_D1_D1_IK2(array, pattern, border, iseq, blindness) result(count)
3397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3398 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_IK2
3399#endif
3400 use pm_kind, only: IKG => IK2
3401 integer(IKG) , intent(in), contiguous :: array(:)
3402 integer(IKG) , intent(in), contiguous :: pattern(:)
3403 procedure(logical(LK)) :: iseq
3404 type(discrete_type) , intent(in) :: border
3405 integer(IK) , intent(in), optional :: blindness
3406 integer(IK) :: count
3407 end function
3408#endif
3409
3410#if IK1_ENABLED
3411 module function getCountLocDisBorCusCom_D1_D1_IK1(array, pattern, border, iseq, blindness) result(count)
3412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3413 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_IK1
3414#endif
3415 use pm_kind, only: IKG => IK1
3416 integer(IKG) , intent(in), contiguous :: array(:)
3417 integer(IKG) , intent(in), contiguous :: pattern(:)
3418 procedure(logical(LK)) :: iseq
3419 type(discrete_type) , intent(in) :: border
3420 integer(IK) , intent(in), optional :: blindness
3421 integer(IK) :: count
3422 end function
3423#endif
3424
3425 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3426
3427#if LK5_ENABLED
3428 module function getCountLocDisBorCusCom_D1_D1_LK5(array, pattern, border, iseq, blindness) result(count)
3429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3430 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_LK5
3431#endif
3432 use pm_kind, only: LKG => LK5
3433 logical(LKG) , intent(in), contiguous :: array(:)
3434 logical(LKG) , intent(in), contiguous :: pattern(:)
3435 procedure(logical(LK)) :: iseq
3436 type(discrete_type) , intent(in) :: border
3437 integer(IK) , intent(in), optional :: blindness
3438 integer(IK) :: count
3439 end function
3440#endif
3441
3442#if LK4_ENABLED
3443 module function getCountLocDisBorCusCom_D1_D1_LK4(array, pattern, border, iseq, blindness) result(count)
3444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3445 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_LK4
3446#endif
3447 use pm_kind, only: LKG => LK4
3448 logical(LKG) , intent(in), contiguous :: array(:)
3449 logical(LKG) , intent(in), contiguous :: pattern(:)
3450 procedure(logical(LK)) :: iseq
3451 type(discrete_type) , intent(in) :: border
3452 integer(IK) , intent(in), optional :: blindness
3453 integer(IK) :: count
3454 end function
3455#endif
3456
3457#if LK3_ENABLED
3458 module function getCountLocDisBorCusCom_D1_D1_LK3(array, pattern, border, iseq, blindness) result(count)
3459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3460 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_LK3
3461#endif
3462 use pm_kind, only: LKG => LK3
3463 logical(LKG) , intent(in), contiguous :: array(:)
3464 logical(LKG) , intent(in), contiguous :: pattern(:)
3465 procedure(logical(LK)) :: iseq
3466 type(discrete_type) , intent(in) :: border
3467 integer(IK) , intent(in), optional :: blindness
3468 integer(IK) :: count
3469 end function
3470#endif
3471
3472#if LK2_ENABLED
3473 module function getCountLocDisBorCusCom_D1_D1_LK2(array, pattern, border, iseq, blindness) result(count)
3474#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3475 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_LK2
3476#endif
3477 use pm_kind, only: LKG => LK2
3478 logical(LKG) , intent(in), contiguous :: array(:)
3479 logical(LKG) , intent(in), contiguous :: pattern(:)
3480 procedure(logical(LK)) :: iseq
3481 type(discrete_type) , intent(in) :: border
3482 integer(IK) , intent(in), optional :: blindness
3483 integer(IK) :: count
3484 end function
3485#endif
3486
3487#if LK1_ENABLED
3488 module function getCountLocDisBorCusCom_D1_D1_LK1(array, pattern, border, iseq, blindness) result(count)
3489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3490 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_LK1
3491#endif
3492 use pm_kind, only: LKG => LK1
3493 logical(LKG) , intent(in), contiguous :: array(:)
3494 logical(LKG) , intent(in), contiguous :: pattern(:)
3495 procedure(logical(LK)) :: iseq
3496 type(discrete_type) , intent(in) :: border
3497 integer(IK) , intent(in), optional :: blindness
3498 integer(IK) :: count
3499 end function
3500#endif
3501
3502 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3503
3504#if CK5_ENABLED
3505 module function getCountLocDisBorCusCom_D1_D1_CK5(array, pattern, border, iseq, blindness) result(count)
3506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3507 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_CK5
3508#endif
3509 use pm_kind, only: CKG => CK5
3510 complex(CKG) , intent(in), contiguous :: array(:)
3511 complex(CKG) , intent(in), contiguous :: pattern(:)
3512 procedure(logical(LK)) :: iseq
3513 type(discrete_type) , intent(in) :: border
3514 integer(IK) , intent(in), optional :: blindness
3515 integer(IK) :: count
3516 end function
3517#endif
3518
3519#if CK4_ENABLED
3520 module function getCountLocDisBorCusCom_D1_D1_CK4(array, pattern, border, iseq, blindness) result(count)
3521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3522 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_CK4
3523#endif
3524 use pm_kind, only: CKG => CK4
3525 complex(CKG) , intent(in), contiguous :: array(:)
3526 complex(CKG) , intent(in), contiguous :: pattern(:)
3527 procedure(logical(LK)) :: iseq
3528 type(discrete_type) , intent(in) :: border
3529 integer(IK) , intent(in), optional :: blindness
3530 integer(IK) :: count
3531 end function
3532#endif
3533
3534#if CK3_ENABLED
3535 module function getCountLocDisBorCusCom_D1_D1_CK3(array, pattern, border, iseq, blindness) result(count)
3536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3537 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_CK3
3538#endif
3539 use pm_kind, only: CKG => CK3
3540 complex(CKG) , intent(in), contiguous :: array(:)
3541 complex(CKG) , intent(in), contiguous :: pattern(:)
3542 procedure(logical(LK)) :: iseq
3543 type(discrete_type) , intent(in) :: border
3544 integer(IK) , intent(in), optional :: blindness
3545 integer(IK) :: count
3546 end function
3547#endif
3548
3549#if CK2_ENABLED
3550 module function getCountLocDisBorCusCom_D1_D1_CK2(array, pattern, border, iseq, blindness) result(count)
3551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3552 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_CK2
3553#endif
3554 use pm_kind, only: CKG => CK2
3555 complex(CKG) , intent(in), contiguous :: array(:)
3556 complex(CKG) , intent(in), contiguous :: pattern(:)
3557 procedure(logical(LK)) :: iseq
3558 type(discrete_type) , intent(in) :: border
3559 integer(IK) , intent(in), optional :: blindness
3560 integer(IK) :: count
3561 end function
3562#endif
3563
3564#if CK1_ENABLED
3565 module function getCountLocDisBorCusCom_D1_D1_CK1(array, pattern, border, iseq, blindness) result(count)
3566#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3567 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_CK1
3568#endif
3569 use pm_kind, only: CKG => CK1
3570 complex(CKG) , intent(in), contiguous :: array(:)
3571 complex(CKG) , intent(in), contiguous :: pattern(:)
3572 procedure(logical(LK)) :: iseq
3573 type(discrete_type) , intent(in) :: border
3574 integer(IK) , intent(in), optional :: blindness
3575 integer(IK) :: count
3576 end function
3577#endif
3578
3579 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3580
3581#if RK5_ENABLED
3582 module function getCountLocDisBorCusCom_D1_D1_RK5(array, pattern, border, iseq, blindness) result(count)
3583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3584 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_RK5
3585#endif
3586 use pm_kind, only: RKG => RK5
3587 real(RKG) , intent(in), contiguous :: array(:)
3588 real(RKG) , intent(in), contiguous :: pattern(:)
3589 procedure(logical(LK)) :: iseq
3590 type(discrete_type) , intent(in) :: border
3591 integer(IK) , intent(in), optional :: blindness
3592 integer(IK) :: count
3593 end function
3594#endif
3595
3596#if RK4_ENABLED
3597 module function getCountLocDisBorCusCom_D1_D1_RK4(array, pattern, border, iseq, blindness) result(count)
3598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3599 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_RK4
3600#endif
3601 use pm_kind, only: RKG => RK4
3602 real(RKG) , intent(in), contiguous :: array(:)
3603 real(RKG) , intent(in), contiguous :: pattern(:)
3604 procedure(logical(LK)) :: iseq
3605 type(discrete_type) , intent(in) :: border
3606 integer(IK) , intent(in), optional :: blindness
3607 integer(IK) :: count
3608 end function
3609#endif
3610
3611#if RK3_ENABLED
3612 module function getCountLocDisBorCusCom_D1_D1_RK3(array, pattern, border, iseq, blindness) result(count)
3613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3614 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_RK3
3615#endif
3616 use pm_kind, only: RKG => RK3
3617 real(RKG) , intent(in), contiguous :: array(:)
3618 real(RKG) , intent(in), contiguous :: pattern(:)
3619 procedure(logical(LK)) :: iseq
3620 type(discrete_type) , intent(in) :: border
3621 integer(IK) , intent(in), optional :: blindness
3622 integer(IK) :: count
3623 end function
3624#endif
3625
3626#if RK2_ENABLED
3627 module function getCountLocDisBorCusCom_D1_D1_RK2(array, pattern, border, iseq, blindness) result(count)
3628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3629 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_RK2
3630#endif
3631 use pm_kind, only: RKG => RK2
3632 real(RKG) , intent(in), contiguous :: array(:)
3633 real(RKG) , intent(in), contiguous :: pattern(:)
3634 procedure(logical(LK)) :: iseq
3635 type(discrete_type) , intent(in) :: border
3636 integer(IK) , intent(in), optional :: blindness
3637 integer(IK) :: count
3638 end function
3639#endif
3640
3641#if RK1_ENABLED
3642 module function getCountLocDisBorCusCom_D1_D1_RK1(array, pattern, border, iseq, blindness) result(count)
3643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3644 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLocDisBorCusCom_D1_D1_RK1
3645#endif
3646 use pm_kind, only: RKG => RK1
3647 real(RKG) , intent(in), contiguous :: array(:)
3648 real(RKG) , intent(in), contiguous :: pattern(:)
3649 procedure(logical(LK)) :: iseq
3650 type(discrete_type) , intent(in) :: border
3651 integer(IK) , intent(in), optional :: blindness
3652 integer(IK) :: count
3653 end function
3654#endif
3655
3656 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3657
3658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3659 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3660 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3661
3662 end interface
3663
3664!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3665
3936
3937 ! D0_D0
3938
3939 interface getLoc
3940
3941 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3942 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3943 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3944
3945 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3946
3947#if SK5_ENABLED
3948 PURE module function getLocDefComDefIns_D0_D0_SK5(array, pattern, blindness) result(loc)
3949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3950 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D0_D0_SK5
3951#endif
3952 use pm_kind, only: SKG => SK5
3953 character(*,SKG) , intent(in) :: array
3954 character(*,SKG) , intent(in) :: pattern
3955 integer(IK) , intent(in), optional :: blindness
3956 integer(IK) , allocatable :: loc(:)
3957 end function
3958#endif
3959
3960#if SK4_ENABLED
3961 PURE module function getLocDefComDefIns_D0_D0_SK4(array, pattern, blindness) result(loc)
3962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3963 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D0_D0_SK4
3964#endif
3965 use pm_kind, only: SKG => SK4
3966 character(*,SKG) , intent(in) :: array
3967 character(*,SKG) , intent(in) :: pattern
3968 integer(IK) , intent(in), optional :: blindness
3969 integer(IK) , allocatable :: loc(:)
3970 end function
3971#endif
3972
3973#if SK3_ENABLED
3974 PURE module function getLocDefComDefIns_D0_D0_SK3(array, pattern, blindness) result(loc)
3975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3976 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D0_D0_SK3
3977#endif
3978 use pm_kind, only: SKG => SK3
3979 character(*,SKG) , intent(in) :: array
3980 character(*,SKG) , intent(in) :: pattern
3981 integer(IK) , intent(in), optional :: blindness
3982 integer(IK) , allocatable :: loc(:)
3983 end function
3984#endif
3985
3986#if SK2_ENABLED
3987 PURE module function getLocDefComDefIns_D0_D0_SK2(array, pattern, blindness) result(loc)
3988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3989 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D0_D0_SK2
3990#endif
3991 use pm_kind, only: SKG => SK2
3992 character(*,SKG) , intent(in) :: array
3993 character(*,SKG) , intent(in) :: pattern
3994 integer(IK) , intent(in), optional :: blindness
3995 integer(IK) , allocatable :: loc(:)
3996 end function
3997#endif
3998
3999#if SK1_ENABLED
4000 PURE module function getLocDefComDefIns_D0_D0_SK1(array, pattern, blindness) result(loc)
4001#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4002 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D0_D0_SK1
4003#endif
4004 use pm_kind, only: SKG => SK1
4005 character(*,SKG) , intent(in) :: array
4006 character(*,SKG) , intent(in) :: pattern
4007 integer(IK) , intent(in), optional :: blindness
4008 integer(IK) , allocatable :: loc(:)
4009 end function
4010#endif
4011
4012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4013
4014 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4015 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4016 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4017
4018 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4019
4020#if SK5_ENABLED
4021 module function getLocCusComDefIns_D0_D0_SK5(array, pattern, iseq, blindness) result(loc)
4022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4023 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D0_D0_SK5
4024#endif
4025 use pm_kind, only: SKG => SK5
4026 character(*,SKG) , intent(in) :: array
4027 character(*,SKG) , intent(in) :: pattern
4028 procedure(logical(LK)) :: iseq
4029 integer(IK) , intent(in), optional :: blindness
4030 integer(IK) , allocatable :: loc(:)
4031 end function
4032#endif
4033
4034#if SK4_ENABLED
4035 module function getLocCusComDefIns_D0_D0_SK4(array, pattern, iseq, blindness) result(loc)
4036#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4037 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D0_D0_SK4
4038#endif
4039 use pm_kind, only: SKG => SK4
4040 character(*,SKG) , intent(in) :: array
4041 character(*,SKG) , intent(in) :: pattern
4042 procedure(logical(LK)) :: iseq
4043 integer(IK) , intent(in), optional :: blindness
4044 integer(IK) , allocatable :: loc(:)
4045 end function
4046#endif
4047
4048#if SK3_ENABLED
4049 module function getLocCusComDefIns_D0_D0_SK3(array, pattern, iseq, blindness) result(loc)
4050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4051 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D0_D0_SK3
4052#endif
4053 use pm_kind, only: SKG => SK3
4054 character(*,SKG) , intent(in) :: array
4055 character(*,SKG) , intent(in) :: pattern
4056 procedure(logical(LK)) :: iseq
4057 integer(IK) , intent(in), optional :: blindness
4058 integer(IK) , allocatable :: loc(:)
4059 end function
4060#endif
4061
4062#if SK2_ENABLED
4063 module function getLocCusComDefIns_D0_D0_SK2(array, pattern, iseq, blindness) result(loc)
4064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4065 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D0_D0_SK2
4066#endif
4067 use pm_kind, only: SKG => SK2
4068 character(*,SKG) , intent(in) :: array
4069 character(*,SKG) , intent(in) :: pattern
4070 procedure(logical(LK)) :: iseq
4071 integer(IK) , intent(in), optional :: blindness
4072 integer(IK) , allocatable :: loc(:)
4073 end function
4074#endif
4075
4076#if SK1_ENABLED
4077 module function getLocCusComDefIns_D0_D0_SK1(array, pattern, iseq, blindness) result(loc)
4078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4079 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D0_D0_SK1
4080#endif
4081 use pm_kind, only: SKG => SK1
4082 character(*,SKG) , intent(in) :: array
4083 character(*,SKG) , intent(in) :: pattern
4084 procedure(logical(LK)) :: iseq
4085 integer(IK) , intent(in), optional :: blindness
4086 integer(IK) , allocatable :: loc(:)
4087 end function
4088#endif
4089
4090 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4091
4092 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4093 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4094 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4095
4096 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4097
4098#if SK5_ENABLED
4099 PURE module function getLocDefComCusIns_D0_D0_SK5(array, pattern, instance, sorted, positive, blindness) result(loc)
4100#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4101 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D0_D0_SK5
4102#endif
4103 use pm_kind, only: SKG => SK5
4104 character(*,SKG) , intent(in) :: array
4105 character(*,SKG) , intent(in) :: pattern
4106 integer(IK) , intent(in), contiguous :: instance(:)
4107 logical(LK) , intent(in), optional :: sorted
4108 logical(LK) , intent(in), optional :: positive
4109 integer(IK) , intent(in), optional :: blindness
4110 integer(IK) , allocatable :: loc(:)
4111 end function
4112#endif
4113
4114#if SK4_ENABLED
4115 PURE module function getLocDefComCusIns_D0_D0_SK4(array, pattern, instance, sorted, positive, blindness) result(loc)
4116#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4117 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D0_D0_SK4
4118#endif
4119 use pm_kind, only: SKG => SK4
4120 character(*,SKG) , intent(in) :: array
4121 character(*,SKG) , intent(in) :: pattern
4122 integer(IK) , intent(in), contiguous :: instance(:)
4123 logical(LK) , intent(in), optional :: sorted
4124 logical(LK) , intent(in), optional :: positive
4125 integer(IK) , intent(in), optional :: blindness
4126 integer(IK) , allocatable :: loc(:)
4127 end function
4128#endif
4129
4130#if SK3_ENABLED
4131 PURE module function getLocDefComCusIns_D0_D0_SK3(array, pattern, instance, sorted, positive, blindness) result(loc)
4132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4133 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D0_D0_SK3
4134#endif
4135 use pm_kind, only: SKG => SK3
4136 character(*,SKG) , intent(in) :: array
4137 character(*,SKG) , intent(in) :: pattern
4138 integer(IK) , intent(in), contiguous :: instance(:)
4139 logical(LK) , intent(in), optional :: sorted
4140 logical(LK) , intent(in), optional :: positive
4141 integer(IK) , intent(in), optional :: blindness
4142 integer(IK) , allocatable :: loc(:)
4143 end function
4144#endif
4145
4146#if SK2_ENABLED
4147 PURE module function getLocDefComCusIns_D0_D0_SK2(array, pattern, instance, sorted, positive, blindness) result(loc)
4148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4149 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D0_D0_SK2
4150#endif
4151 use pm_kind, only: SKG => SK2
4152 character(*,SKG) , intent(in) :: array
4153 character(*,SKG) , intent(in) :: pattern
4154 integer(IK) , intent(in), contiguous :: instance(:)
4155 logical(LK) , intent(in), optional :: sorted
4156 logical(LK) , intent(in), optional :: positive
4157 integer(IK) , intent(in), optional :: blindness
4158 integer(IK) , allocatable :: loc(:)
4159 end function
4160#endif
4161
4162#if SK1_ENABLED
4163 PURE module function getLocDefComCusIns_D0_D0_SK1(array, pattern, instance, sorted, positive, blindness) result(loc)
4164#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4165 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D0_D0_SK1
4166#endif
4167 use pm_kind, only: SKG => SK1
4168 character(*,SKG) , intent(in) :: array
4169 character(*,SKG) , intent(in) :: pattern
4170 integer(IK) , intent(in), contiguous :: instance(:)
4171 logical(LK) , intent(in), optional :: sorted
4172 logical(LK) , intent(in), optional :: positive
4173 integer(IK) , intent(in), optional :: blindness
4174 integer(IK) , allocatable :: loc(:)
4175 end function
4176#endif
4177
4178 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4179
4180 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4181 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4182 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4183
4184 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4185
4186#if SK5_ENABLED
4187 module function getLocCusComCusIns_D0_D0_SK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
4188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4189 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D0_D0_SK5
4190#endif
4191 use pm_kind, only: SKG => SK5
4192 character(*,SKG) , intent(in) :: array
4193 character(*,SKG) , intent(in) :: pattern
4194 procedure(logical(LK)) :: iseq
4195 integer(IK) , intent(in), contiguous :: instance(:)
4196 logical(LK) , intent(in), optional :: sorted
4197 logical(LK) , intent(in), optional :: positive
4198 integer(IK) , intent(in), optional :: blindness
4199 integer(IK) , allocatable :: loc(:)
4200 end function
4201#endif
4202
4203#if SK4_ENABLED
4204 module function getLocCusComCusIns_D0_D0_SK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
4205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4206 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D0_D0_SK4
4207#endif
4208 use pm_kind, only: SKG => SK4
4209 character(*,SKG) , intent(in) :: array
4210 character(*,SKG) , intent(in) :: pattern
4211 procedure(logical(LK)) :: iseq
4212 integer(IK) , intent(in), contiguous :: instance(:)
4213 logical(LK) , intent(in), optional :: sorted
4214 logical(LK) , intent(in), optional :: positive
4215 integer(IK) , intent(in), optional :: blindness
4216 integer(IK) , allocatable :: loc(:)
4217 end function
4218#endif
4219
4220#if SK3_ENABLED
4221 module function getLocCusComCusIns_D0_D0_SK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
4222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4223 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D0_D0_SK3
4224#endif
4225 use pm_kind, only: SKG => SK3
4226 character(*,SKG) , intent(in) :: array
4227 character(*,SKG) , intent(in) :: pattern
4228 procedure(logical(LK)) :: iseq
4229 integer(IK) , intent(in), contiguous :: instance(:)
4230 logical(LK) , intent(in), optional :: sorted
4231 logical(LK) , intent(in), optional :: positive
4232 integer(IK) , intent(in), optional :: blindness
4233 integer(IK) , allocatable :: loc(:)
4234 end function
4235#endif
4236
4237#if SK2_ENABLED
4238 module function getLocCusComCusIns_D0_D0_SK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
4239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4240 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D0_D0_SK2
4241#endif
4242 use pm_kind, only: SKG => SK2
4243 character(*,SKG) , intent(in) :: array
4244 character(*,SKG) , intent(in) :: pattern
4245 procedure(logical(LK)) :: iseq
4246 integer(IK) , intent(in), contiguous :: instance(:)
4247 logical(LK) , intent(in), optional :: sorted
4248 logical(LK) , intent(in), optional :: positive
4249 integer(IK) , intent(in), optional :: blindness
4250 integer(IK) , allocatable :: loc(:)
4251 end function
4252#endif
4253
4254#if SK1_ENABLED
4255 module function getLocCusComCusIns_D0_D0_SK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
4256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4257 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D0_D0_SK1
4258#endif
4259 use pm_kind, only: SKG => SK1
4260 character(*,SKG) , intent(in) :: array
4261 character(*,SKG) , intent(in) :: pattern
4262 procedure(logical(LK)) :: iseq
4263 integer(IK) , intent(in), contiguous :: instance(:)
4264 logical(LK) , intent(in), optional :: sorted
4265 logical(LK) , intent(in), optional :: positive
4266 integer(IK) , intent(in), optional :: blindness
4267 integer(IK) , allocatable :: loc(:)
4268 end function
4269#endif
4270
4271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4272
4273 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4276
4277 end interface
4278
4279 ! D1_D0
4280
4281 interface getLoc
4282
4283 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4284 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4285 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4286
4287 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4288
4289#if SK5_ENABLED
4290 PURE module function getLocDefComDefIns_D1_D0_SK5(array, pattern, blindness) result(loc)
4291#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4292 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_SK5
4293#endif
4294 use pm_kind, only: SKG => SK5
4295 character(*,SKG) , intent(in), contiguous :: array(:)
4296 character(*,SKG) , intent(in) :: pattern
4297 integer(IK) , intent(in), optional :: blindness
4298 integer(IK) , allocatable :: loc(:)
4299 end function
4300#endif
4301
4302#if SK4_ENABLED
4303 PURE module function getLocDefComDefIns_D1_D0_SK4(array, pattern, blindness) result(loc)
4304#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4305 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_SK4
4306#endif
4307 use pm_kind, only: SKG => SK4
4308 character(*,SKG) , intent(in), contiguous :: array(:)
4309 character(*,SKG) , intent(in) :: pattern
4310 integer(IK) , intent(in), optional :: blindness
4311 integer(IK) , allocatable :: loc(:)
4312 end function
4313#endif
4314
4315#if SK3_ENABLED
4316 PURE module function getLocDefComDefIns_D1_D0_SK3(array, pattern, blindness) result(loc)
4317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4318 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_SK3
4319#endif
4320 use pm_kind, only: SKG => SK3
4321 character(*,SKG) , intent(in), contiguous :: array(:)
4322 character(*,SKG) , intent(in) :: pattern
4323 integer(IK) , intent(in), optional :: blindness
4324 integer(IK) , allocatable :: loc(:)
4325 end function
4326#endif
4327
4328#if SK2_ENABLED
4329 PURE module function getLocDefComDefIns_D1_D0_SK2(array, pattern, blindness) result(loc)
4330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4331 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_SK2
4332#endif
4333 use pm_kind, only: SKG => SK2
4334 character(*,SKG) , intent(in), contiguous :: array(:)
4335 character(*,SKG) , intent(in) :: pattern
4336 integer(IK) , intent(in), optional :: blindness
4337 integer(IK) , allocatable :: loc(:)
4338 end function
4339#endif
4340
4341#if SK1_ENABLED
4342 PURE module function getLocDefComDefIns_D1_D0_SK1(array, pattern, blindness) result(loc)
4343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4344 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_SK1
4345#endif
4346 use pm_kind, only: SKG => SK1
4347 character(*,SKG) , intent(in), contiguous :: array(:)
4348 character(*,SKG) , intent(in) :: pattern
4349 integer(IK) , intent(in), optional :: blindness
4350 integer(IK) , allocatable :: loc(:)
4351 end function
4352#endif
4353
4354 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4355
4356#if IK5_ENABLED
4357 PURE module function getLocDefComDefIns_D1_D0_IK5(array, pattern, blindness) result(loc)
4358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4359 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_IK5
4360#endif
4361 use pm_kind, only: IKG => IK5
4362 integer(IKG) , intent(in), contiguous :: array(:)
4363 integer(IKG) , intent(in) :: pattern
4364 integer(IK) , intent(in), optional :: blindness
4365 integer(IK) , allocatable :: loc(:)
4366 end function
4367#endif
4368
4369#if IK4_ENABLED
4370 PURE module function getLocDefComDefIns_D1_D0_IK4(array, pattern, blindness) result(loc)
4371#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4372 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_IK4
4373#endif
4374 use pm_kind, only: IKG => IK4
4375 integer(IKG) , intent(in), contiguous :: array(:)
4376 integer(IKG) , intent(in) :: pattern
4377 integer(IK) , intent(in), optional :: blindness
4378 integer(IK) , allocatable :: loc(:)
4379 end function
4380#endif
4381
4382#if IK3_ENABLED
4383 PURE module function getLocDefComDefIns_D1_D0_IK3(array, pattern, blindness) result(loc)
4384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4385 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_IK3
4386#endif
4387 use pm_kind, only: IKG => IK3
4388 integer(IKG) , intent(in), contiguous :: array(:)
4389 integer(IKG) , intent(in) :: pattern
4390 integer(IK) , intent(in), optional :: blindness
4391 integer(IK) , allocatable :: loc(:)
4392 end function
4393#endif
4394
4395#if IK2_ENABLED
4396 PURE module function getLocDefComDefIns_D1_D0_IK2(array, pattern, blindness) result(loc)
4397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4398 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_IK2
4399#endif
4400 use pm_kind, only: IKG => IK2
4401 integer(IKG) , intent(in), contiguous :: array(:)
4402 integer(IKG) , intent(in) :: pattern
4403 integer(IK) , intent(in), optional :: blindness
4404 integer(IK) , allocatable :: loc(:)
4405 end function
4406#endif
4407
4408#if IK1_ENABLED
4409 PURE module function getLocDefComDefIns_D1_D0_IK1(array, pattern, blindness) result(loc)
4410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4411 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_IK1
4412#endif
4413 use pm_kind, only: IKG => IK1
4414 integer(IKG) , intent(in), contiguous :: array(:)
4415 integer(IKG) , intent(in) :: pattern
4416 integer(IK) , intent(in), optional :: blindness
4417 integer(IK) , allocatable :: loc(:)
4418 end function
4419#endif
4420
4421 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4422
4423#if LK5_ENABLED
4424 PURE module function getLocDefComDefIns_D1_D0_LK5(array, pattern, blindness) result(loc)
4425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4426 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_LK5
4427#endif
4428 use pm_kind, only: LKG => LK5
4429 logical(LKG) , intent(in), contiguous :: array(:)
4430 logical(LKG) , intent(in) :: pattern
4431 integer(IK) , intent(in), optional :: blindness
4432 integer(IK) , allocatable :: loc(:)
4433 end function
4434#endif
4435
4436#if LK4_ENABLED
4437 PURE module function getLocDefComDefIns_D1_D0_LK4(array, pattern, blindness) result(loc)
4438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4439 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_LK4
4440#endif
4441 use pm_kind, only: LKG => LK4
4442 logical(LKG) , intent(in), contiguous :: array(:)
4443 logical(LKG) , intent(in) :: pattern
4444 integer(IK) , intent(in), optional :: blindness
4445 integer(IK) , allocatable :: loc(:)
4446 end function
4447#endif
4448
4449#if LK3_ENABLED
4450 PURE module function getLocDefComDefIns_D1_D0_LK3(array, pattern, blindness) result(loc)
4451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4452 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_LK3
4453#endif
4454 use pm_kind, only: LKG => LK3
4455 logical(LKG) , intent(in), contiguous :: array(:)
4456 logical(LKG) , intent(in) :: pattern
4457 integer(IK) , intent(in), optional :: blindness
4458 integer(IK) , allocatable :: loc(:)
4459 end function
4460#endif
4461
4462#if LK2_ENABLED
4463 PURE module function getLocDefComDefIns_D1_D0_LK2(array, pattern, blindness) result(loc)
4464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4465 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_LK2
4466#endif
4467 use pm_kind, only: LKG => LK2
4468 logical(LKG) , intent(in), contiguous :: array(:)
4469 logical(LKG) , intent(in) :: pattern
4470 integer(IK) , intent(in), optional :: blindness
4471 integer(IK) , allocatable :: loc(:)
4472 end function
4473#endif
4474
4475#if LK1_ENABLED
4476 PURE module function getLocDefComDefIns_D1_D0_LK1(array, pattern, blindness) result(loc)
4477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4478 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_LK1
4479#endif
4480 use pm_kind, only: LKG => LK1
4481 logical(LKG) , intent(in), contiguous :: array(:)
4482 logical(LKG) , intent(in) :: pattern
4483 integer(IK) , intent(in), optional :: blindness
4484 integer(IK) , allocatable :: loc(:)
4485 end function
4486#endif
4487
4488 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4489
4490#if CK5_ENABLED
4491 PURE module function getLocDefComDefIns_D1_D0_CK5(array, pattern, blindness) result(loc)
4492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4493 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_CK5
4494#endif
4495 use pm_kind, only: CKG => CK5
4496 complex(CKG) , intent(in), contiguous :: array(:)
4497 complex(CKG) , intent(in) :: pattern
4498 integer(IK) , intent(in), optional :: blindness
4499 integer(IK) , allocatable :: loc(:)
4500 end function
4501#endif
4502
4503#if CK4_ENABLED
4504 PURE module function getLocDefComDefIns_D1_D0_CK4(array, pattern, blindness) result(loc)
4505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4506 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_CK4
4507#endif
4508 use pm_kind, only: CKG => CK4
4509 complex(CKG) , intent(in), contiguous :: array(:)
4510 complex(CKG) , intent(in) :: pattern
4511 integer(IK) , intent(in), optional :: blindness
4512 integer(IK) , allocatable :: loc(:)
4513 end function
4514#endif
4515
4516#if CK3_ENABLED
4517 PURE module function getLocDefComDefIns_D1_D0_CK3(array, pattern, blindness) result(loc)
4518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4519 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_CK3
4520#endif
4521 use pm_kind, only: CKG => CK3
4522 complex(CKG) , intent(in), contiguous :: array(:)
4523 complex(CKG) , intent(in) :: pattern
4524 integer(IK) , intent(in), optional :: blindness
4525 integer(IK) , allocatable :: loc(:)
4526 end function
4527#endif
4528
4529#if CK2_ENABLED
4530 PURE module function getLocDefComDefIns_D1_D0_CK2(array, pattern, blindness) result(loc)
4531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4532 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_CK2
4533#endif
4534 use pm_kind, only: CKG => CK2
4535 complex(CKG) , intent(in), contiguous :: array(:)
4536 complex(CKG) , intent(in) :: pattern
4537 integer(IK) , intent(in), optional :: blindness
4538 integer(IK) , allocatable :: loc(:)
4539 end function
4540#endif
4541
4542#if CK1_ENABLED
4543 PURE module function getLocDefComDefIns_D1_D0_CK1(array, pattern, blindness) result(loc)
4544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4545 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_CK1
4546#endif
4547 use pm_kind, only: CKG => CK1
4548 complex(CKG) , intent(in), contiguous :: array(:)
4549 complex(CKG) , intent(in) :: pattern
4550 integer(IK) , intent(in), optional :: blindness
4551 integer(IK) , allocatable :: loc(:)
4552 end function
4553#endif
4554
4555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4556
4557#if RK5_ENABLED
4558 PURE module function getLocDefComDefIns_D1_D0_RK5(array, pattern, blindness) result(loc)
4559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4560 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_RK5
4561#endif
4562 use pm_kind, only: RKG => RK5
4563 real(RKG) , intent(in), contiguous :: array(:)
4564 real(RKG) , intent(in) :: pattern
4565 integer(IK) , intent(in), optional :: blindness
4566 integer(IK) , allocatable :: loc(:)
4567 end function
4568#endif
4569
4570#if RK4_ENABLED
4571 PURE module function getLocDefComDefIns_D1_D0_RK4(array, pattern, blindness) result(loc)
4572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4573 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_RK4
4574#endif
4575 use pm_kind, only: RKG => RK4
4576 real(RKG) , intent(in), contiguous :: array(:)
4577 real(RKG) , intent(in) :: pattern
4578 integer(IK) , intent(in), optional :: blindness
4579 integer(IK) , allocatable :: loc(:)
4580 end function
4581#endif
4582
4583#if RK3_ENABLED
4584 PURE module function getLocDefComDefIns_D1_D0_RK3(array, pattern, blindness) result(loc)
4585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4586 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_RK3
4587#endif
4588 use pm_kind, only: RKG => RK3
4589 real(RKG) , intent(in), contiguous :: array(:)
4590 real(RKG) , intent(in) :: pattern
4591 integer(IK) , intent(in), optional :: blindness
4592 integer(IK) , allocatable :: loc(:)
4593 end function
4594#endif
4595
4596#if RK2_ENABLED
4597 PURE module function getLocDefComDefIns_D1_D0_RK2(array, pattern, blindness) result(loc)
4598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4599 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_RK2
4600#endif
4601 use pm_kind, only: RKG => RK2
4602 real(RKG) , intent(in), contiguous :: array(:)
4603 real(RKG) , intent(in) :: pattern
4604 integer(IK) , intent(in), optional :: blindness
4605 integer(IK) , allocatable :: loc(:)
4606 end function
4607#endif
4608
4609#if RK1_ENABLED
4610 PURE module function getLocDefComDefIns_D1_D0_RK1(array, pattern, blindness) result(loc)
4611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4612 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D0_RK1
4613#endif
4614 use pm_kind, only: RKG => RK1
4615 real(RKG) , intent(in), contiguous :: array(:)
4616 real(RKG) , intent(in) :: pattern
4617 integer(IK) , intent(in), optional :: blindness
4618 integer(IK) , allocatable :: loc(:)
4619 end function
4620#endif
4621
4622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4623
4624 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4625 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4626 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4627
4628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4629
4630#if SK5_ENABLED
4631 module function getLocCusComDefIns_D1_D0_SK5(array, pattern, iseq, blindness) result(loc)
4632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4633 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_SK5
4634#endif
4635 use pm_kind, only: SKG => SK5
4636 character(*,SKG) , intent(in), contiguous :: array(:)
4637 character(*,SKG) , intent(in) :: pattern
4638 procedure(logical(LK)) :: iseq
4639 integer(IK) , intent(in), optional :: blindness
4640 integer(IK) , allocatable :: loc(:)
4641 end function
4642#endif
4643
4644#if SK4_ENABLED
4645 module function getLocCusComDefIns_D1_D0_SK4(array, pattern, iseq, blindness) result(loc)
4646#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4647 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_SK4
4648#endif
4649 use pm_kind, only: SKG => SK4
4650 character(*,SKG) , intent(in), contiguous :: array(:)
4651 character(*,SKG) , intent(in) :: pattern
4652 procedure(logical(LK)) :: iseq
4653 integer(IK) , intent(in), optional :: blindness
4654 integer(IK) , allocatable :: loc(:)
4655 end function
4656#endif
4657
4658#if SK3_ENABLED
4659 module function getLocCusComDefIns_D1_D0_SK3(array, pattern, iseq, blindness) result(loc)
4660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4661 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_SK3
4662#endif
4663 use pm_kind, only: SKG => SK3
4664 character(*,SKG) , intent(in), contiguous :: array(:)
4665 character(*,SKG) , intent(in) :: pattern
4666 procedure(logical(LK)) :: iseq
4667 integer(IK) , intent(in), optional :: blindness
4668 integer(IK) , allocatable :: loc(:)
4669 end function
4670#endif
4671
4672#if SK2_ENABLED
4673 module function getLocCusComDefIns_D1_D0_SK2(array, pattern, iseq, blindness) result(loc)
4674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4675 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_SK2
4676#endif
4677 use pm_kind, only: SKG => SK2
4678 character(*,SKG) , intent(in), contiguous :: array(:)
4679 character(*,SKG) , intent(in) :: pattern
4680 procedure(logical(LK)) :: iseq
4681 integer(IK) , intent(in), optional :: blindness
4682 integer(IK) , allocatable :: loc(:)
4683 end function
4684#endif
4685
4686#if SK1_ENABLED
4687 module function getLocCusComDefIns_D1_D0_SK1(array, pattern, iseq, blindness) result(loc)
4688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4689 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_SK1
4690#endif
4691 use pm_kind, only: SKG => SK1
4692 character(*,SKG) , intent(in), contiguous :: array(:)
4693 character(*,SKG) , intent(in) :: pattern
4694 procedure(logical(LK)) :: iseq
4695 integer(IK) , intent(in), optional :: blindness
4696 integer(IK) , allocatable :: loc(:)
4697 end function
4698#endif
4699
4700 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4701
4702#if IK5_ENABLED
4703 module function getLocCusComDefIns_D1_D0_IK5(array, pattern, iseq, blindness) result(loc)
4704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4705 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_IK5
4706#endif
4707 use pm_kind, only: IKG => IK5
4708 integer(IKG) , intent(in), contiguous :: array(:)
4709 integer(IKG) , intent(in) :: pattern
4710 procedure(logical(LK)) :: iseq
4711 integer(IK) , intent(in), optional :: blindness
4712 integer(IK) , allocatable :: loc(:)
4713 end function
4714#endif
4715
4716#if IK4_ENABLED
4717 module function getLocCusComDefIns_D1_D0_IK4(array, pattern, iseq, blindness) result(loc)
4718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4719 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_IK4
4720#endif
4721 use pm_kind, only: IKG => IK4
4722 integer(IKG) , intent(in), contiguous :: array(:)
4723 integer(IKG) , intent(in) :: pattern
4724 procedure(logical(LK)) :: iseq
4725 integer(IK) , intent(in), optional :: blindness
4726 integer(IK) , allocatable :: loc(:)
4727 end function
4728#endif
4729
4730#if IK3_ENABLED
4731 module function getLocCusComDefIns_D1_D0_IK3(array, pattern, iseq, blindness) result(loc)
4732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4733 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_IK3
4734#endif
4735 use pm_kind, only: IKG => IK3
4736 integer(IKG) , intent(in), contiguous :: array(:)
4737 integer(IKG) , intent(in) :: pattern
4738 procedure(logical(LK)) :: iseq
4739 integer(IK) , intent(in), optional :: blindness
4740 integer(IK) , allocatable :: loc(:)
4741 end function
4742#endif
4743
4744#if IK2_ENABLED
4745 module function getLocCusComDefIns_D1_D0_IK2(array, pattern, iseq, blindness) result(loc)
4746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4747 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_IK2
4748#endif
4749 use pm_kind, only: IKG => IK2
4750 integer(IKG) , intent(in), contiguous :: array(:)
4751 integer(IKG) , intent(in) :: pattern
4752 procedure(logical(LK)) :: iseq
4753 integer(IK) , intent(in), optional :: blindness
4754 integer(IK) , allocatable :: loc(:)
4755 end function
4756#endif
4757
4758#if IK1_ENABLED
4759 module function getLocCusComDefIns_D1_D0_IK1(array, pattern, iseq, blindness) result(loc)
4760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4761 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_IK1
4762#endif
4763 use pm_kind, only: IKG => IK1
4764 integer(IKG) , intent(in), contiguous :: array(:)
4765 integer(IKG) , intent(in) :: pattern
4766 procedure(logical(LK)) :: iseq
4767 integer(IK) , intent(in), optional :: blindness
4768 integer(IK) , allocatable :: loc(:)
4769 end function
4770#endif
4771
4772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4773
4774#if LK5_ENABLED
4775 module function getLocCusComDefIns_D1_D0_LK5(array, pattern, iseq, blindness) result(loc)
4776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4777 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_LK5
4778#endif
4779 use pm_kind, only: LKG => LK5
4780 logical(LKG) , intent(in), contiguous :: array(:)
4781 logical(LKG) , intent(in) :: pattern
4782 procedure(logical(LK)) :: iseq
4783 integer(IK) , intent(in), optional :: blindness
4784 integer(IK) , allocatable :: loc(:)
4785 end function
4786#endif
4787
4788#if LK4_ENABLED
4789 module function getLocCusComDefIns_D1_D0_LK4(array, pattern, iseq, blindness) result(loc)
4790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4791 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_LK4
4792#endif
4793 use pm_kind, only: LKG => LK4
4794 logical(LKG) , intent(in), contiguous :: array(:)
4795 logical(LKG) , intent(in) :: pattern
4796 procedure(logical(LK)) :: iseq
4797 integer(IK) , intent(in), optional :: blindness
4798 integer(IK) , allocatable :: loc(:)
4799 end function
4800#endif
4801
4802#if LK3_ENABLED
4803 module function getLocCusComDefIns_D1_D0_LK3(array, pattern, iseq, blindness) result(loc)
4804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4805 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_LK3
4806#endif
4807 use pm_kind, only: LKG => LK3
4808 logical(LKG) , intent(in), contiguous :: array(:)
4809 logical(LKG) , intent(in) :: pattern
4810 procedure(logical(LK)) :: iseq
4811 integer(IK) , intent(in), optional :: blindness
4812 integer(IK) , allocatable :: loc(:)
4813 end function
4814#endif
4815
4816#if LK2_ENABLED
4817 module function getLocCusComDefIns_D1_D0_LK2(array, pattern, iseq, blindness) result(loc)
4818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4819 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_LK2
4820#endif
4821 use pm_kind, only: LKG => LK2
4822 logical(LKG) , intent(in), contiguous :: array(:)
4823 logical(LKG) , intent(in) :: pattern
4824 procedure(logical(LK)) :: iseq
4825 integer(IK) , intent(in), optional :: blindness
4826 integer(IK) , allocatable :: loc(:)
4827 end function
4828#endif
4829
4830#if LK1_ENABLED
4831 module function getLocCusComDefIns_D1_D0_LK1(array, pattern, iseq, blindness) result(loc)
4832#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4833 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_LK1
4834#endif
4835 use pm_kind, only: LKG => LK1
4836 logical(LKG) , intent(in), contiguous :: array(:)
4837 logical(LKG) , intent(in) :: pattern
4838 procedure(logical(LK)) :: iseq
4839 integer(IK) , intent(in), optional :: blindness
4840 integer(IK) , allocatable :: loc(:)
4841 end function
4842#endif
4843
4844 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4845
4846#if CK5_ENABLED
4847 module function getLocCusComDefIns_D1_D0_CK5(array, pattern, iseq, blindness) result(loc)
4848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4849 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_CK5
4850#endif
4851 use pm_kind, only: CKG => CK5
4852 complex(CKG) , intent(in), contiguous :: array(:)
4853 complex(CKG) , intent(in) :: pattern
4854 procedure(logical(LK)) :: iseq
4855 integer(IK) , intent(in), optional :: blindness
4856 integer(IK) , allocatable :: loc(:)
4857 end function
4858#endif
4859
4860#if CK4_ENABLED
4861 module function getLocCusComDefIns_D1_D0_CK4(array, pattern, iseq, blindness) result(loc)
4862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4863 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_CK4
4864#endif
4865 use pm_kind, only: CKG => CK4
4866 complex(CKG) , intent(in), contiguous :: array(:)
4867 complex(CKG) , intent(in) :: pattern
4868 procedure(logical(LK)) :: iseq
4869 integer(IK) , intent(in), optional :: blindness
4870 integer(IK) , allocatable :: loc(:)
4871 end function
4872#endif
4873
4874#if CK3_ENABLED
4875 module function getLocCusComDefIns_D1_D0_CK3(array, pattern, iseq, blindness) result(loc)
4876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4877 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_CK3
4878#endif
4879 use pm_kind, only: CKG => CK3
4880 complex(CKG) , intent(in), contiguous :: array(:)
4881 complex(CKG) , intent(in) :: pattern
4882 procedure(logical(LK)) :: iseq
4883 integer(IK) , intent(in), optional :: blindness
4884 integer(IK) , allocatable :: loc(:)
4885 end function
4886#endif
4887
4888#if CK2_ENABLED
4889 module function getLocCusComDefIns_D1_D0_CK2(array, pattern, iseq, blindness) result(loc)
4890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4891 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_CK2
4892#endif
4893 use pm_kind, only: CKG => CK2
4894 complex(CKG) , intent(in), contiguous :: array(:)
4895 complex(CKG) , intent(in) :: pattern
4896 procedure(logical(LK)) :: iseq
4897 integer(IK) , intent(in), optional :: blindness
4898 integer(IK) , allocatable :: loc(:)
4899 end function
4900#endif
4901
4902#if CK1_ENABLED
4903 module function getLocCusComDefIns_D1_D0_CK1(array, pattern, iseq, blindness) result(loc)
4904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4905 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_CK1
4906#endif
4907 use pm_kind, only: CKG => CK1
4908 complex(CKG) , intent(in), contiguous :: array(:)
4909 complex(CKG) , intent(in) :: pattern
4910 procedure(logical(LK)) :: iseq
4911 integer(IK) , intent(in), optional :: blindness
4912 integer(IK) , allocatable :: loc(:)
4913 end function
4914#endif
4915
4916 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4917
4918#if RK5_ENABLED
4919 module function getLocCusComDefIns_D1_D0_RK5(array, pattern, iseq, blindness) result(loc)
4920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4921 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_RK5
4922#endif
4923 use pm_kind, only: RKG => RK5
4924 real(RKG) , intent(in), contiguous :: array(:)
4925 real(RKG) , intent(in) :: pattern
4926 procedure(logical(LK)) :: iseq
4927 integer(IK) , intent(in), optional :: blindness
4928 integer(IK) , allocatable :: loc(:)
4929 end function
4930#endif
4931
4932#if RK4_ENABLED
4933 module function getLocCusComDefIns_D1_D0_RK4(array, pattern, iseq, blindness) result(loc)
4934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4935 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_RK4
4936#endif
4937 use pm_kind, only: RKG => RK4
4938 real(RKG) , intent(in), contiguous :: array(:)
4939 real(RKG) , intent(in) :: pattern
4940 procedure(logical(LK)) :: iseq
4941 integer(IK) , intent(in), optional :: blindness
4942 integer(IK) , allocatable :: loc(:)
4943 end function
4944#endif
4945
4946#if RK3_ENABLED
4947 module function getLocCusComDefIns_D1_D0_RK3(array, pattern, iseq, blindness) result(loc)
4948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4949 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_RK3
4950#endif
4951 use pm_kind, only: RKG => RK3
4952 real(RKG) , intent(in), contiguous :: array(:)
4953 real(RKG) , intent(in) :: pattern
4954 procedure(logical(LK)) :: iseq
4955 integer(IK) , intent(in), optional :: blindness
4956 integer(IK) , allocatable :: loc(:)
4957 end function
4958#endif
4959
4960#if RK2_ENABLED
4961 module function getLocCusComDefIns_D1_D0_RK2(array, pattern, iseq, blindness) result(loc)
4962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4963 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_RK2
4964#endif
4965 use pm_kind, only: RKG => RK2
4966 real(RKG) , intent(in), contiguous :: array(:)
4967 real(RKG) , intent(in) :: pattern
4968 procedure(logical(LK)) :: iseq
4969 integer(IK) , intent(in), optional :: blindness
4970 integer(IK) , allocatable :: loc(:)
4971 end function
4972#endif
4973
4974#if RK1_ENABLED
4975 module function getLocCusComDefIns_D1_D0_RK1(array, pattern, iseq, blindness) result(loc)
4976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4977 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D0_RK1
4978#endif
4979 use pm_kind, only: RKG => RK1
4980 real(RKG) , intent(in), contiguous :: array(:)
4981 real(RKG) , intent(in) :: pattern
4982 procedure(logical(LK)) :: iseq
4983 integer(IK) , intent(in), optional :: blindness
4984 integer(IK) , allocatable :: loc(:)
4985 end function
4986#endif
4987
4988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4989
4990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4992 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4993
4994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4995
4996#if SK5_ENABLED
4997 PURE module function getLocDefComCusIns_D1_D0_SK5(array, pattern, instance, sorted, positive, blindness) result(loc)
4998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4999 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_SK5
5000#endif
5001 use pm_kind, only: SKG => SK5
5002 character(*,SKG) , intent(in), contiguous :: array(:)
5003 character(*,SKG) , intent(in) :: pattern
5004 integer(IK) , intent(in), contiguous :: instance(:)
5005 logical(LK) , intent(in), optional :: sorted
5006 logical(LK) , intent(in), optional :: positive
5007 integer(IK) , intent(in), optional :: blindness
5008 integer(IK) , allocatable :: loc(:)
5009 end function
5010#endif
5011
5012#if SK4_ENABLED
5013 PURE module function getLocDefComCusIns_D1_D0_SK4(array, pattern, instance, sorted, positive, blindness) result(loc)
5014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5015 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_SK4
5016#endif
5017 use pm_kind, only: SKG => SK4
5018 character(*,SKG) , intent(in), contiguous :: array(:)
5019 character(*,SKG) , intent(in) :: pattern
5020 integer(IK) , intent(in), contiguous :: instance(:)
5021 logical(LK) , intent(in), optional :: sorted
5022 logical(LK) , intent(in), optional :: positive
5023 integer(IK) , intent(in), optional :: blindness
5024 integer(IK) , allocatable :: loc(:)
5025 end function
5026#endif
5027
5028#if SK3_ENABLED
5029 PURE module function getLocDefComCusIns_D1_D0_SK3(array, pattern, instance, sorted, positive, blindness) result(loc)
5030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5031 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_SK3
5032#endif
5033 use pm_kind, only: SKG => SK3
5034 character(*,SKG) , intent(in), contiguous :: array(:)
5035 character(*,SKG) , intent(in) :: pattern
5036 integer(IK) , intent(in), contiguous :: instance(:)
5037 logical(LK) , intent(in), optional :: sorted
5038 logical(LK) , intent(in), optional :: positive
5039 integer(IK) , intent(in), optional :: blindness
5040 integer(IK) , allocatable :: loc(:)
5041 end function
5042#endif
5043
5044#if SK2_ENABLED
5045 PURE module function getLocDefComCusIns_D1_D0_SK2(array, pattern, instance, sorted, positive, blindness) result(loc)
5046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5047 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_SK2
5048#endif
5049 use pm_kind, only: SKG => SK2
5050 character(*,SKG) , intent(in), contiguous :: array(:)
5051 character(*,SKG) , intent(in) :: pattern
5052 integer(IK) , intent(in), contiguous :: instance(:)
5053 logical(LK) , intent(in), optional :: sorted
5054 logical(LK) , intent(in), optional :: positive
5055 integer(IK) , intent(in), optional :: blindness
5056 integer(IK) , allocatable :: loc(:)
5057 end function
5058#endif
5059
5060#if SK1_ENABLED
5061 PURE module function getLocDefComCusIns_D1_D0_SK1(array, pattern, instance, sorted, positive, blindness) result(loc)
5062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5063 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_SK1
5064#endif
5065 use pm_kind, only: SKG => SK1
5066 character(*,SKG) , intent(in), contiguous :: array(:)
5067 character(*,SKG) , intent(in) :: pattern
5068 integer(IK) , intent(in), contiguous :: instance(:)
5069 logical(LK) , intent(in), optional :: sorted
5070 logical(LK) , intent(in), optional :: positive
5071 integer(IK) , intent(in), optional :: blindness
5072 integer(IK) , allocatable :: loc(:)
5073 end function
5074#endif
5075
5076 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5077
5078#if IK5_ENABLED
5079 PURE module function getLocDefComCusIns_D1_D0_IK5(array, pattern, instance, sorted, positive, blindness) result(loc)
5080#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5081 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_IK5
5082#endif
5083 use pm_kind, only: IKG => IK5
5084 integer(IKG) , intent(in), contiguous :: array(:)
5085 integer(IKG) , intent(in) :: pattern
5086 integer(IK) , intent(in), contiguous :: instance(:)
5087 logical(LK) , intent(in), optional :: sorted
5088 logical(LK) , intent(in), optional :: positive
5089 integer(IK) , intent(in), optional :: blindness
5090 integer(IK) , allocatable :: loc(:)
5091 end function
5092#endif
5093
5094#if IK4_ENABLED
5095 PURE module function getLocDefComCusIns_D1_D0_IK4(array, pattern, instance, sorted, positive, blindness) result(loc)
5096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5097 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_IK4
5098#endif
5099 use pm_kind, only: IKG => IK4
5100 integer(IKG) , intent(in), contiguous :: array(:)
5101 integer(IKG) , intent(in) :: pattern
5102 integer(IK) , intent(in), contiguous :: instance(:)
5103 logical(LK) , intent(in), optional :: sorted
5104 logical(LK) , intent(in), optional :: positive
5105 integer(IK) , intent(in), optional :: blindness
5106 integer(IK) , allocatable :: loc(:)
5107 end function
5108#endif
5109
5110#if IK3_ENABLED
5111 PURE module function getLocDefComCusIns_D1_D0_IK3(array, pattern, instance, sorted, positive, blindness) result(loc)
5112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5113 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_IK3
5114#endif
5115 use pm_kind, only: IKG => IK3
5116 integer(IKG) , intent(in), contiguous :: array(:)
5117 integer(IKG) , intent(in) :: pattern
5118 integer(IK) , intent(in), contiguous :: instance(:)
5119 logical(LK) , intent(in), optional :: sorted
5120 logical(LK) , intent(in), optional :: positive
5121 integer(IK) , intent(in), optional :: blindness
5122 integer(IK) , allocatable :: loc(:)
5123 end function
5124#endif
5125
5126#if IK2_ENABLED
5127 PURE module function getLocDefComCusIns_D1_D0_IK2(array, pattern, instance, sorted, positive, blindness) result(loc)
5128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5129 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_IK2
5130#endif
5131 use pm_kind, only: IKG => IK2
5132 integer(IKG) , intent(in), contiguous :: array(:)
5133 integer(IKG) , intent(in) :: pattern
5134 integer(IK) , intent(in), contiguous :: instance(:)
5135 logical(LK) , intent(in), optional :: sorted
5136 logical(LK) , intent(in), optional :: positive
5137 integer(IK) , intent(in), optional :: blindness
5138 integer(IK) , allocatable :: loc(:)
5139 end function
5140#endif
5141
5142#if IK1_ENABLED
5143 PURE module function getLocDefComCusIns_D1_D0_IK1(array, pattern, instance, sorted, positive, blindness) result(loc)
5144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5145 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_IK1
5146#endif
5147 use pm_kind, only: IKG => IK1
5148 integer(IKG) , intent(in), contiguous :: array(:)
5149 integer(IKG) , intent(in) :: pattern
5150 integer(IK) , intent(in), contiguous :: instance(:)
5151 logical(LK) , intent(in), optional :: sorted
5152 logical(LK) , intent(in), optional :: positive
5153 integer(IK) , intent(in), optional :: blindness
5154 integer(IK) , allocatable :: loc(:)
5155 end function
5156#endif
5157
5158 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5159
5160#if LK5_ENABLED
5161 PURE module function getLocDefComCusIns_D1_D0_LK5(array, pattern, instance, sorted, positive, blindness) result(loc)
5162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5163 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_LK5
5164#endif
5165 use pm_kind, only: LKG => LK5
5166 logical(LKG) , intent(in), contiguous :: array(:)
5167 logical(LKG) , intent(in) :: pattern
5168 integer(IK) , intent(in), contiguous :: instance(:)
5169 logical(LK) , intent(in), optional :: sorted
5170 logical(LK) , intent(in), optional :: positive
5171 integer(IK) , intent(in), optional :: blindness
5172 integer(IK) , allocatable :: loc(:)
5173 end function
5174#endif
5175
5176#if LK4_ENABLED
5177 PURE module function getLocDefComCusIns_D1_D0_LK4(array, pattern, instance, sorted, positive, blindness) result(loc)
5178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5179 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_LK4
5180#endif
5181 use pm_kind, only: LKG => LK4
5182 logical(LKG) , intent(in), contiguous :: array(:)
5183 logical(LKG) , intent(in) :: pattern
5184 integer(IK) , intent(in), contiguous :: instance(:)
5185 logical(LK) , intent(in), optional :: sorted
5186 logical(LK) , intent(in), optional :: positive
5187 integer(IK) , intent(in), optional :: blindness
5188 integer(IK) , allocatable :: loc(:)
5189 end function
5190#endif
5191
5192#if LK3_ENABLED
5193 PURE module function getLocDefComCusIns_D1_D0_LK3(array, pattern, instance, sorted, positive, blindness) result(loc)
5194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5195 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_LK3
5196#endif
5197 use pm_kind, only: LKG => LK3
5198 logical(LKG) , intent(in), contiguous :: array(:)
5199 logical(LKG) , intent(in) :: pattern
5200 integer(IK) , intent(in), contiguous :: instance(:)
5201 logical(LK) , intent(in), optional :: sorted
5202 logical(LK) , intent(in), optional :: positive
5203 integer(IK) , intent(in), optional :: blindness
5204 integer(IK) , allocatable :: loc(:)
5205 end function
5206#endif
5207
5208#if LK2_ENABLED
5209 PURE module function getLocDefComCusIns_D1_D0_LK2(array, pattern, instance, sorted, positive, blindness) result(loc)
5210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5211 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_LK2
5212#endif
5213 use pm_kind, only: LKG => LK2
5214 logical(LKG) , intent(in), contiguous :: array(:)
5215 logical(LKG) , intent(in) :: pattern
5216 integer(IK) , intent(in), contiguous :: instance(:)
5217 logical(LK) , intent(in), optional :: sorted
5218 logical(LK) , intent(in), optional :: positive
5219 integer(IK) , intent(in), optional :: blindness
5220 integer(IK) , allocatable :: loc(:)
5221 end function
5222#endif
5223
5224#if LK1_ENABLED
5225 PURE module function getLocDefComCusIns_D1_D0_LK1(array, pattern, instance, sorted, positive, blindness) result(loc)
5226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5227 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_LK1
5228#endif
5229 use pm_kind, only: LKG => LK1
5230 logical(LKG) , intent(in), contiguous :: array(:)
5231 logical(LKG) , intent(in) :: pattern
5232 integer(IK) , intent(in), contiguous :: instance(:)
5233 logical(LK) , intent(in), optional :: sorted
5234 logical(LK) , intent(in), optional :: positive
5235 integer(IK) , intent(in), optional :: blindness
5236 integer(IK) , allocatable :: loc(:)
5237 end function
5238#endif
5239
5240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5241
5242#if CK5_ENABLED
5243 PURE module function getLocDefComCusIns_D1_D0_CK5(array, pattern, instance, sorted, positive, blindness) result(loc)
5244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5245 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_CK5
5246#endif
5247 use pm_kind, only: CKG => CK5
5248 complex(CKG) , intent(in), contiguous :: array(:)
5249 complex(CKG) , intent(in) :: pattern
5250 integer(IK) , intent(in), contiguous :: instance(:)
5251 logical(LK) , intent(in), optional :: sorted
5252 logical(LK) , intent(in), optional :: positive
5253 integer(IK) , intent(in), optional :: blindness
5254 integer(IK) , allocatable :: loc(:)
5255 end function
5256#endif
5257
5258#if CK4_ENABLED
5259 PURE module function getLocDefComCusIns_D1_D0_CK4(array, pattern, instance, sorted, positive, blindness) result(loc)
5260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5261 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_CK4
5262#endif
5263 use pm_kind, only: CKG => CK4
5264 complex(CKG) , intent(in), contiguous :: array(:)
5265 complex(CKG) , intent(in) :: pattern
5266 integer(IK) , intent(in), contiguous :: instance(:)
5267 logical(LK) , intent(in), optional :: sorted
5268 logical(LK) , intent(in), optional :: positive
5269 integer(IK) , intent(in), optional :: blindness
5270 integer(IK) , allocatable :: loc(:)
5271 end function
5272#endif
5273
5274#if CK3_ENABLED
5275 PURE module function getLocDefComCusIns_D1_D0_CK3(array, pattern, instance, sorted, positive, blindness) result(loc)
5276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5277 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_CK3
5278#endif
5279 use pm_kind, only: CKG => CK3
5280 complex(CKG) , intent(in), contiguous :: array(:)
5281 complex(CKG) , intent(in) :: pattern
5282 integer(IK) , intent(in), contiguous :: instance(:)
5283 logical(LK) , intent(in), optional :: sorted
5284 logical(LK) , intent(in), optional :: positive
5285 integer(IK) , intent(in), optional :: blindness
5286 integer(IK) , allocatable :: loc(:)
5287 end function
5288#endif
5289
5290#if CK2_ENABLED
5291 PURE module function getLocDefComCusIns_D1_D0_CK2(array, pattern, instance, sorted, positive, blindness) result(loc)
5292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5293 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_CK2
5294#endif
5295 use pm_kind, only: CKG => CK2
5296 complex(CKG) , intent(in), contiguous :: array(:)
5297 complex(CKG) , intent(in) :: pattern
5298 integer(IK) , intent(in), contiguous :: instance(:)
5299 logical(LK) , intent(in), optional :: sorted
5300 logical(LK) , intent(in), optional :: positive
5301 integer(IK) , intent(in), optional :: blindness
5302 integer(IK) , allocatable :: loc(:)
5303 end function
5304#endif
5305
5306#if CK1_ENABLED
5307 PURE module function getLocDefComCusIns_D1_D0_CK1(array, pattern, instance, sorted, positive, blindness) result(loc)
5308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5309 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_CK1
5310#endif
5311 use pm_kind, only: CKG => CK1
5312 complex(CKG) , intent(in), contiguous :: array(:)
5313 complex(CKG) , intent(in) :: pattern
5314 integer(IK) , intent(in), contiguous :: instance(:)
5315 logical(LK) , intent(in), optional :: sorted
5316 logical(LK) , intent(in), optional :: positive
5317 integer(IK) , intent(in), optional :: blindness
5318 integer(IK) , allocatable :: loc(:)
5319 end function
5320#endif
5321
5322 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5323
5324#if RK5_ENABLED
5325 PURE module function getLocDefComCusIns_D1_D0_RK5(array, pattern, instance, sorted, positive, blindness) result(loc)
5326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5327 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_RK5
5328#endif
5329 use pm_kind, only: RKG => RK5
5330 real(RKG) , intent(in), contiguous :: array(:)
5331 real(RKG) , intent(in) :: pattern
5332 integer(IK) , intent(in), contiguous :: instance(:)
5333 logical(LK) , intent(in), optional :: sorted
5334 logical(LK) , intent(in), optional :: positive
5335 integer(IK) , intent(in), optional :: blindness
5336 integer(IK) , allocatable :: loc(:)
5337 end function
5338#endif
5339
5340#if RK4_ENABLED
5341 PURE module function getLocDefComCusIns_D1_D0_RK4(array, pattern, instance, sorted, positive, blindness) result(loc)
5342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5343 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_RK4
5344#endif
5345 use pm_kind, only: RKG => RK4
5346 real(RKG) , intent(in), contiguous :: array(:)
5347 real(RKG) , intent(in) :: pattern
5348 integer(IK) , intent(in), contiguous :: instance(:)
5349 logical(LK) , intent(in), optional :: sorted
5350 logical(LK) , intent(in), optional :: positive
5351 integer(IK) , intent(in), optional :: blindness
5352 integer(IK) , allocatable :: loc(:)
5353 end function
5354#endif
5355
5356#if RK3_ENABLED
5357 PURE module function getLocDefComCusIns_D1_D0_RK3(array, pattern, instance, sorted, positive, blindness) result(loc)
5358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5359 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_RK3
5360#endif
5361 use pm_kind, only: RKG => RK3
5362 real(RKG) , intent(in), contiguous :: array(:)
5363 real(RKG) , intent(in) :: pattern
5364 integer(IK) , intent(in), contiguous :: instance(:)
5365 logical(LK) , intent(in), optional :: sorted
5366 logical(LK) , intent(in), optional :: positive
5367 integer(IK) , intent(in), optional :: blindness
5368 integer(IK) , allocatable :: loc(:)
5369 end function
5370#endif
5371
5372#if RK2_ENABLED
5373 PURE module function getLocDefComCusIns_D1_D0_RK2(array, pattern, instance, sorted, positive, blindness) result(loc)
5374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5375 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_RK2
5376#endif
5377 use pm_kind, only: RKG => RK2
5378 real(RKG) , intent(in), contiguous :: array(:)
5379 real(RKG) , intent(in) :: pattern
5380 integer(IK) , intent(in), contiguous :: instance(:)
5381 logical(LK) , intent(in), optional :: sorted
5382 logical(LK) , intent(in), optional :: positive
5383 integer(IK) , intent(in), optional :: blindness
5384 integer(IK) , allocatable :: loc(:)
5385 end function
5386#endif
5387
5388#if RK1_ENABLED
5389 PURE module function getLocDefComCusIns_D1_D0_RK1(array, pattern, instance, sorted, positive, blindness) result(loc)
5390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5391 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D0_RK1
5392#endif
5393 use pm_kind, only: RKG => RK1
5394 real(RKG) , intent(in), contiguous :: array(:)
5395 real(RKG) , intent(in) :: pattern
5396 integer(IK) , intent(in), contiguous :: instance(:)
5397 logical(LK) , intent(in), optional :: sorted
5398 logical(LK) , intent(in), optional :: positive
5399 integer(IK) , intent(in), optional :: blindness
5400 integer(IK) , allocatable :: loc(:)
5401 end function
5402#endif
5403
5404 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5405
5406 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5408 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5409
5410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5411
5412#if SK5_ENABLED
5413 module function getLocCusComCusIns_D1_D0_SK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5415 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_SK5
5416#endif
5417 use pm_kind, only: SKG => SK5
5418 character(*,SKG) , intent(in), contiguous :: array(:)
5419 character(*,SKG) , intent(in) :: pattern
5420 procedure(logical(LK)) :: iseq
5421 integer(IK) , intent(in), contiguous :: instance(:)
5422 logical(LK) , intent(in), optional :: sorted
5423 logical(LK) , intent(in), optional :: positive
5424 integer(IK) , intent(in), optional :: blindness
5425 integer(IK) , allocatable :: loc(:)
5426 end function
5427#endif
5428
5429#if SK4_ENABLED
5430 module function getLocCusComCusIns_D1_D0_SK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5432 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_SK4
5433#endif
5434 use pm_kind, only: SKG => SK4
5435 character(*,SKG) , intent(in), contiguous :: array(:)
5436 character(*,SKG) , intent(in) :: pattern
5437 procedure(logical(LK)) :: iseq
5438 integer(IK) , intent(in), contiguous :: instance(:)
5439 logical(LK) , intent(in), optional :: sorted
5440 logical(LK) , intent(in), optional :: positive
5441 integer(IK) , intent(in), optional :: blindness
5442 integer(IK) , allocatable :: loc(:)
5443 end function
5444#endif
5445
5446#if SK3_ENABLED
5447 module function getLocCusComCusIns_D1_D0_SK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5448#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5449 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_SK3
5450#endif
5451 use pm_kind, only: SKG => SK3
5452 character(*,SKG) , intent(in), contiguous :: array(:)
5453 character(*,SKG) , intent(in) :: pattern
5454 procedure(logical(LK)) :: iseq
5455 integer(IK) , intent(in), contiguous :: instance(:)
5456 logical(LK) , intent(in), optional :: sorted
5457 logical(LK) , intent(in), optional :: positive
5458 integer(IK) , intent(in), optional :: blindness
5459 integer(IK) , allocatable :: loc(:)
5460 end function
5461#endif
5462
5463#if SK2_ENABLED
5464 module function getLocCusComCusIns_D1_D0_SK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5466 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_SK2
5467#endif
5468 use pm_kind, only: SKG => SK2
5469 character(*,SKG) , intent(in), contiguous :: array(:)
5470 character(*,SKG) , intent(in) :: pattern
5471 procedure(logical(LK)) :: iseq
5472 integer(IK) , intent(in), contiguous :: instance(:)
5473 logical(LK) , intent(in), optional :: sorted
5474 logical(LK) , intent(in), optional :: positive
5475 integer(IK) , intent(in), optional :: blindness
5476 integer(IK) , allocatable :: loc(:)
5477 end function
5478#endif
5479
5480#if SK1_ENABLED
5481 module function getLocCusComCusIns_D1_D0_SK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5483 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_SK1
5484#endif
5485 use pm_kind, only: SKG => SK1
5486 character(*,SKG) , intent(in), contiguous :: array(:)
5487 character(*,SKG) , intent(in) :: pattern
5488 procedure(logical(LK)) :: iseq
5489 integer(IK) , intent(in), contiguous :: instance(:)
5490 logical(LK) , intent(in), optional :: sorted
5491 logical(LK) , intent(in), optional :: positive
5492 integer(IK) , intent(in), optional :: blindness
5493 integer(IK) , allocatable :: loc(:)
5494 end function
5495#endif
5496
5497 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5498
5499#if IK5_ENABLED
5500 module function getLocCusComCusIns_D1_D0_IK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5502 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_IK5
5503#endif
5504 use pm_kind, only: IKG => IK5
5505 integer(IKG) , intent(in), contiguous :: array(:)
5506 integer(IKG) , intent(in) :: pattern
5507 procedure(logical(LK)) :: iseq
5508 integer(IK) , intent(in), contiguous :: instance(:)
5509 logical(LK) , intent(in), optional :: sorted
5510 logical(LK) , intent(in), optional :: positive
5511 integer(IK) , intent(in), optional :: blindness
5512 integer(IK) , allocatable :: loc(:)
5513 end function
5514#endif
5515
5516#if IK4_ENABLED
5517 module function getLocCusComCusIns_D1_D0_IK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5519 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_IK4
5520#endif
5521 use pm_kind, only: IKG => IK4
5522 integer(IKG) , intent(in), contiguous :: array(:)
5523 integer(IKG) , intent(in) :: pattern
5524 procedure(logical(LK)) :: iseq
5525 integer(IK) , intent(in), contiguous :: instance(:)
5526 logical(LK) , intent(in), optional :: sorted
5527 logical(LK) , intent(in), optional :: positive
5528 integer(IK) , intent(in), optional :: blindness
5529 integer(IK) , allocatable :: loc(:)
5530 end function
5531#endif
5532
5533#if IK3_ENABLED
5534 module function getLocCusComCusIns_D1_D0_IK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5535#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5536 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_IK3
5537#endif
5538 use pm_kind, only: IKG => IK3
5539 integer(IKG) , intent(in), contiguous :: array(:)
5540 integer(IKG) , intent(in) :: pattern
5541 procedure(logical(LK)) :: iseq
5542 integer(IK) , intent(in), contiguous :: instance(:)
5543 logical(LK) , intent(in), optional :: sorted
5544 logical(LK) , intent(in), optional :: positive
5545 integer(IK) , intent(in), optional :: blindness
5546 integer(IK) , allocatable :: loc(:)
5547 end function
5548#endif
5549
5550#if IK2_ENABLED
5551 module function getLocCusComCusIns_D1_D0_IK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5552#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5553 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_IK2
5554#endif
5555 use pm_kind, only: IKG => IK2
5556 integer(IKG) , intent(in), contiguous :: array(:)
5557 integer(IKG) , intent(in) :: pattern
5558 procedure(logical(LK)) :: iseq
5559 integer(IK) , intent(in), contiguous :: instance(:)
5560 logical(LK) , intent(in), optional :: sorted
5561 logical(LK) , intent(in), optional :: positive
5562 integer(IK) , intent(in), optional :: blindness
5563 integer(IK) , allocatable :: loc(:)
5564 end function
5565#endif
5566
5567#if IK1_ENABLED
5568 module function getLocCusComCusIns_D1_D0_IK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5570 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_IK1
5571#endif
5572 use pm_kind, only: IKG => IK1
5573 integer(IKG) , intent(in), contiguous :: array(:)
5574 integer(IKG) , intent(in) :: pattern
5575 procedure(logical(LK)) :: iseq
5576 integer(IK) , intent(in), contiguous :: instance(:)
5577 logical(LK) , intent(in), optional :: sorted
5578 logical(LK) , intent(in), optional :: positive
5579 integer(IK) , intent(in), optional :: blindness
5580 integer(IK) , allocatable :: loc(:)
5581 end function
5582#endif
5583
5584 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5585
5586#if LK5_ENABLED
5587 module function getLocCusComCusIns_D1_D0_LK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5589 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_LK5
5590#endif
5591 use pm_kind, only: LKG => LK5
5592 logical(LKG) , intent(in), contiguous :: array(:)
5593 logical(LKG) , intent(in) :: pattern
5594 procedure(logical(LK)) :: iseq
5595 integer(IK) , intent(in), contiguous :: instance(:)
5596 logical(LK) , intent(in), optional :: sorted
5597 logical(LK) , intent(in), optional :: positive
5598 integer(IK) , intent(in), optional :: blindness
5599 integer(IK) , allocatable :: loc(:)
5600 end function
5601#endif
5602
5603#if LK4_ENABLED
5604 module function getLocCusComCusIns_D1_D0_LK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5605#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5606 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_LK4
5607#endif
5608 use pm_kind, only: LKG => LK4
5609 logical(LKG) , intent(in), contiguous :: array(:)
5610 logical(LKG) , intent(in) :: pattern
5611 procedure(logical(LK)) :: iseq
5612 integer(IK) , intent(in), contiguous :: instance(:)
5613 logical(LK) , intent(in), optional :: sorted
5614 logical(LK) , intent(in), optional :: positive
5615 integer(IK) , intent(in), optional :: blindness
5616 integer(IK) , allocatable :: loc(:)
5617 end function
5618#endif
5619
5620#if LK3_ENABLED
5621 module function getLocCusComCusIns_D1_D0_LK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5622#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5623 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_LK3
5624#endif
5625 use pm_kind, only: LKG => LK3
5626 logical(LKG) , intent(in), contiguous :: array(:)
5627 logical(LKG) , intent(in) :: pattern
5628 procedure(logical(LK)) :: iseq
5629 integer(IK) , intent(in), contiguous :: instance(:)
5630 logical(LK) , intent(in), optional :: sorted
5631 logical(LK) , intent(in), optional :: positive
5632 integer(IK) , intent(in), optional :: blindness
5633 integer(IK) , allocatable :: loc(:)
5634 end function
5635#endif
5636
5637#if LK2_ENABLED
5638 module function getLocCusComCusIns_D1_D0_LK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5640 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_LK2
5641#endif
5642 use pm_kind, only: LKG => LK2
5643 logical(LKG) , intent(in), contiguous :: array(:)
5644 logical(LKG) , intent(in) :: pattern
5645 procedure(logical(LK)) :: iseq
5646 integer(IK) , intent(in), contiguous :: instance(:)
5647 logical(LK) , intent(in), optional :: sorted
5648 logical(LK) , intent(in), optional :: positive
5649 integer(IK) , intent(in), optional :: blindness
5650 integer(IK) , allocatable :: loc(:)
5651 end function
5652#endif
5653
5654#if LK1_ENABLED
5655 module function getLocCusComCusIns_D1_D0_LK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5657 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_LK1
5658#endif
5659 use pm_kind, only: LKG => LK1
5660 logical(LKG) , intent(in), contiguous :: array(:)
5661 logical(LKG) , intent(in) :: pattern
5662 procedure(logical(LK)) :: iseq
5663 integer(IK) , intent(in), contiguous :: instance(:)
5664 logical(LK) , intent(in), optional :: sorted
5665 logical(LK) , intent(in), optional :: positive
5666 integer(IK) , intent(in), optional :: blindness
5667 integer(IK) , allocatable :: loc(:)
5668 end function
5669#endif
5670
5671 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5672
5673#if CK5_ENABLED
5674 module function getLocCusComCusIns_D1_D0_CK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5676 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_CK5
5677#endif
5678 use pm_kind, only: CKG => CK5
5679 complex(CKG) , intent(in), contiguous :: array(:)
5680 complex(CKG) , intent(in) :: pattern
5681 procedure(logical(LK)) :: iseq
5682 integer(IK) , intent(in), contiguous :: instance(:)
5683 logical(LK) , intent(in), optional :: sorted
5684 logical(LK) , intent(in), optional :: positive
5685 integer(IK) , intent(in), optional :: blindness
5686 integer(IK) , allocatable :: loc(:)
5687 end function
5688#endif
5689
5690#if CK4_ENABLED
5691 module function getLocCusComCusIns_D1_D0_CK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5693 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_CK4
5694#endif
5695 use pm_kind, only: CKG => CK4
5696 complex(CKG) , intent(in), contiguous :: array(:)
5697 complex(CKG) , intent(in) :: pattern
5698 procedure(logical(LK)) :: iseq
5699 integer(IK) , intent(in), contiguous :: instance(:)
5700 logical(LK) , intent(in), optional :: sorted
5701 logical(LK) , intent(in), optional :: positive
5702 integer(IK) , intent(in), optional :: blindness
5703 integer(IK) , allocatable :: loc(:)
5704 end function
5705#endif
5706
5707#if CK3_ENABLED
5708 module function getLocCusComCusIns_D1_D0_CK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5710 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_CK3
5711#endif
5712 use pm_kind, only: CKG => CK3
5713 complex(CKG) , intent(in), contiguous :: array(:)
5714 complex(CKG) , intent(in) :: pattern
5715 procedure(logical(LK)) :: iseq
5716 integer(IK) , intent(in), contiguous :: instance(:)
5717 logical(LK) , intent(in), optional :: sorted
5718 logical(LK) , intent(in), optional :: positive
5719 integer(IK) , intent(in), optional :: blindness
5720 integer(IK) , allocatable :: loc(:)
5721 end function
5722#endif
5723
5724#if CK2_ENABLED
5725 module function getLocCusComCusIns_D1_D0_CK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5727 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_CK2
5728#endif
5729 use pm_kind, only: CKG => CK2
5730 complex(CKG) , intent(in), contiguous :: array(:)
5731 complex(CKG) , intent(in) :: pattern
5732 procedure(logical(LK)) :: iseq
5733 integer(IK) , intent(in), contiguous :: instance(:)
5734 logical(LK) , intent(in), optional :: sorted
5735 logical(LK) , intent(in), optional :: positive
5736 integer(IK) , intent(in), optional :: blindness
5737 integer(IK) , allocatable :: loc(:)
5738 end function
5739#endif
5740
5741#if CK1_ENABLED
5742 module function getLocCusComCusIns_D1_D0_CK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5743#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5744 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_CK1
5745#endif
5746 use pm_kind, only: CKG => CK1
5747 complex(CKG) , intent(in), contiguous :: array(:)
5748 complex(CKG) , intent(in) :: pattern
5749 procedure(logical(LK)) :: iseq
5750 integer(IK) , intent(in), contiguous :: instance(:)
5751 logical(LK) , intent(in), optional :: sorted
5752 logical(LK) , intent(in), optional :: positive
5753 integer(IK) , intent(in), optional :: blindness
5754 integer(IK) , allocatable :: loc(:)
5755 end function
5756#endif
5757
5758 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5759
5760#if RK5_ENABLED
5761 module function getLocCusComCusIns_D1_D0_RK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5762#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5763 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_RK5
5764#endif
5765 use pm_kind, only: RKG => RK5
5766 real(RKG) , intent(in), contiguous :: array(:)
5767 real(RKG) , intent(in) :: pattern
5768 procedure(logical(LK)) :: iseq
5769 integer(IK) , intent(in), contiguous :: instance(:)
5770 logical(LK) , intent(in), optional :: sorted
5771 logical(LK) , intent(in), optional :: positive
5772 integer(IK) , intent(in), optional :: blindness
5773 integer(IK) , allocatable :: loc(:)
5774 end function
5775#endif
5776
5777#if RK4_ENABLED
5778 module function getLocCusComCusIns_D1_D0_RK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5779#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5780 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_RK4
5781#endif
5782 use pm_kind, only: RKG => RK4
5783 real(RKG) , intent(in), contiguous :: array(:)
5784 real(RKG) , intent(in) :: pattern
5785 procedure(logical(LK)) :: iseq
5786 integer(IK) , intent(in), contiguous :: instance(:)
5787 logical(LK) , intent(in), optional :: sorted
5788 logical(LK) , intent(in), optional :: positive
5789 integer(IK) , intent(in), optional :: blindness
5790 integer(IK) , allocatable :: loc(:)
5791 end function
5792#endif
5793
5794#if RK3_ENABLED
5795 module function getLocCusComCusIns_D1_D0_RK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5797 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_RK3
5798#endif
5799 use pm_kind, only: RKG => RK3
5800 real(RKG) , intent(in), contiguous :: array(:)
5801 real(RKG) , intent(in) :: pattern
5802 procedure(logical(LK)) :: iseq
5803 integer(IK) , intent(in), contiguous :: instance(:)
5804 logical(LK) , intent(in), optional :: sorted
5805 logical(LK) , intent(in), optional :: positive
5806 integer(IK) , intent(in), optional :: blindness
5807 integer(IK) , allocatable :: loc(:)
5808 end function
5809#endif
5810
5811#if RK2_ENABLED
5812 module function getLocCusComCusIns_D1_D0_RK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5814 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_RK2
5815#endif
5816 use pm_kind, only: RKG => RK2
5817 real(RKG) , intent(in), contiguous :: array(:)
5818 real(RKG) , intent(in) :: pattern
5819 procedure(logical(LK)) :: iseq
5820 integer(IK) , intent(in), contiguous :: instance(:)
5821 logical(LK) , intent(in), optional :: sorted
5822 logical(LK) , intent(in), optional :: positive
5823 integer(IK) , intent(in), optional :: blindness
5824 integer(IK) , allocatable :: loc(:)
5825 end function
5826#endif
5827
5828#if RK1_ENABLED
5829 module function getLocCusComCusIns_D1_D0_RK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
5830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5831 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D0_RK1
5832#endif
5833 use pm_kind, only: RKG => RK1
5834 real(RKG) , intent(in), contiguous :: array(:)
5835 real(RKG) , intent(in) :: pattern
5836 procedure(logical(LK)) :: iseq
5837 integer(IK) , intent(in), contiguous :: instance(:)
5838 logical(LK) , intent(in), optional :: sorted
5839 logical(LK) , intent(in), optional :: positive
5840 integer(IK) , intent(in), optional :: blindness
5841 integer(IK) , allocatable :: loc(:)
5842 end function
5843#endif
5844
5845 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5846
5847 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5850
5851 end interface
5852
5853 ! D1_D1
5854
5855 interface getLoc
5856
5857 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5858 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5859 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5860
5861 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5862
5863#if SK5_ENABLED
5864 PURE module function getLocDefComDefIns_D1_D1_SK5(array, pattern, blindness) result(loc)
5865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5866 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_SK5
5867#endif
5868 use pm_kind, only: SKG => SK5
5869 character(*,SKG) , intent(in), contiguous :: array(:)
5870 character(*,SKG) , intent(in), contiguous :: pattern(:)
5871 integer(IK) , intent(in), optional :: blindness
5872 integer(IK) , allocatable :: loc(:)
5873 end function
5874#endif
5875
5876#if SK4_ENABLED
5877 PURE module function getLocDefComDefIns_D1_D1_SK4(array, pattern, blindness) result(loc)
5878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5879 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_SK4
5880#endif
5881 use pm_kind, only: SKG => SK4
5882 character(*,SKG) , intent(in), contiguous :: array(:)
5883 character(*,SKG) , intent(in), contiguous :: pattern(:)
5884 integer(IK) , intent(in), optional :: blindness
5885 integer(IK) , allocatable :: loc(:)
5886 end function
5887#endif
5888
5889#if SK3_ENABLED
5890 PURE module function getLocDefComDefIns_D1_D1_SK3(array, pattern, blindness) result(loc)
5891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5892 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_SK3
5893#endif
5894 use pm_kind, only: SKG => SK3
5895 character(*,SKG) , intent(in), contiguous :: array(:)
5896 character(*,SKG) , intent(in), contiguous :: pattern(:)
5897 integer(IK) , intent(in), optional :: blindness
5898 integer(IK) , allocatable :: loc(:)
5899 end function
5900#endif
5901
5902#if SK2_ENABLED
5903 PURE module function getLocDefComDefIns_D1_D1_SK2(array, pattern, blindness) result(loc)
5904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5905 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_SK2
5906#endif
5907 use pm_kind, only: SKG => SK2
5908 character(*,SKG) , intent(in), contiguous :: array(:)
5909 character(*,SKG) , intent(in), contiguous :: pattern(:)
5910 integer(IK) , intent(in), optional :: blindness
5911 integer(IK) , allocatable :: loc(:)
5912 end function
5913#endif
5914
5915#if SK1_ENABLED
5916 PURE module function getLocDefComDefIns_D1_D1_SK1(array, pattern, blindness) result(loc)
5917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5918 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_SK1
5919#endif
5920 use pm_kind, only: SKG => SK1
5921 character(*,SKG) , intent(in), contiguous :: array(:)
5922 character(*,SKG) , intent(in), contiguous :: pattern(:)
5923 integer(IK) , intent(in), optional :: blindness
5924 integer(IK) , allocatable :: loc(:)
5925 end function
5926#endif
5927
5928 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5929
5930#if IK5_ENABLED
5931 PURE module function getLocDefComDefIns_D1_D1_IK5(array, pattern, blindness) result(loc)
5932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5933 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_IK5
5934#endif
5935 use pm_kind, only: IKG => IK5
5936 integer(IKG) , intent(in), contiguous :: array(:)
5937 integer(IKG) , intent(in), contiguous :: pattern(:)
5938 integer(IK) , intent(in), optional :: blindness
5939 integer(IK) , allocatable :: loc(:)
5940 end function
5941#endif
5942
5943#if IK4_ENABLED
5944 PURE module function getLocDefComDefIns_D1_D1_IK4(array, pattern, blindness) result(loc)
5945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5946 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_IK4
5947#endif
5948 use pm_kind, only: IKG => IK4
5949 integer(IKG) , intent(in), contiguous :: array(:)
5950 integer(IKG) , intent(in), contiguous :: pattern(:)
5951 integer(IK) , intent(in), optional :: blindness
5952 integer(IK) , allocatable :: loc(:)
5953 end function
5954#endif
5955
5956#if IK3_ENABLED
5957 PURE module function getLocDefComDefIns_D1_D1_IK3(array, pattern, blindness) result(loc)
5958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5959 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_IK3
5960#endif
5961 use pm_kind, only: IKG => IK3
5962 integer(IKG) , intent(in), contiguous :: array(:)
5963 integer(IKG) , intent(in), contiguous :: pattern(:)
5964 integer(IK) , intent(in), optional :: blindness
5965 integer(IK) , allocatable :: loc(:)
5966 end function
5967#endif
5968
5969#if IK2_ENABLED
5970 PURE module function getLocDefComDefIns_D1_D1_IK2(array, pattern, blindness) result(loc)
5971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5972 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_IK2
5973#endif
5974 use pm_kind, only: IKG => IK2
5975 integer(IKG) , intent(in), contiguous :: array(:)
5976 integer(IKG) , intent(in), contiguous :: pattern(:)
5977 integer(IK) , intent(in), optional :: blindness
5978 integer(IK) , allocatable :: loc(:)
5979 end function
5980#endif
5981
5982#if IK1_ENABLED
5983 PURE module function getLocDefComDefIns_D1_D1_IK1(array, pattern, blindness) result(loc)
5984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5985 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_IK1
5986#endif
5987 use pm_kind, only: IKG => IK1
5988 integer(IKG) , intent(in), contiguous :: array(:)
5989 integer(IKG) , intent(in), contiguous :: pattern(:)
5990 integer(IK) , intent(in), optional :: blindness
5991 integer(IK) , allocatable :: loc(:)
5992 end function
5993#endif
5994
5995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5996
5997#if LK5_ENABLED
5998 PURE module function getLocDefComDefIns_D1_D1_LK5(array, pattern, blindness) result(loc)
5999#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6000 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_LK5
6001#endif
6002 use pm_kind, only: LKG => LK5
6003 logical(LKG) , intent(in), contiguous :: array(:)
6004 logical(LKG) , intent(in), contiguous :: pattern(:)
6005 integer(IK) , intent(in), optional :: blindness
6006 integer(IK) , allocatable :: loc(:)
6007 end function
6008#endif
6009
6010#if LK4_ENABLED
6011 PURE module function getLocDefComDefIns_D1_D1_LK4(array, pattern, blindness) result(loc)
6012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6013 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_LK4
6014#endif
6015 use pm_kind, only: LKG => LK4
6016 logical(LKG) , intent(in), contiguous :: array(:)
6017 logical(LKG) , intent(in), contiguous :: pattern(:)
6018 integer(IK) , intent(in), optional :: blindness
6019 integer(IK) , allocatable :: loc(:)
6020 end function
6021#endif
6022
6023#if LK3_ENABLED
6024 PURE module function getLocDefComDefIns_D1_D1_LK3(array, pattern, blindness) result(loc)
6025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6026 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_LK3
6027#endif
6028 use pm_kind, only: LKG => LK3
6029 logical(LKG) , intent(in), contiguous :: array(:)
6030 logical(LKG) , intent(in), contiguous :: pattern(:)
6031 integer(IK) , intent(in), optional :: blindness
6032 integer(IK) , allocatable :: loc(:)
6033 end function
6034#endif
6035
6036#if LK2_ENABLED
6037 PURE module function getLocDefComDefIns_D1_D1_LK2(array, pattern, blindness) result(loc)
6038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6039 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_LK2
6040#endif
6041 use pm_kind, only: LKG => LK2
6042 logical(LKG) , intent(in), contiguous :: array(:)
6043 logical(LKG) , intent(in), contiguous :: pattern(:)
6044 integer(IK) , intent(in), optional :: blindness
6045 integer(IK) , allocatable :: loc(:)
6046 end function
6047#endif
6048
6049#if LK1_ENABLED
6050 PURE module function getLocDefComDefIns_D1_D1_LK1(array, pattern, blindness) result(loc)
6051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6052 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_LK1
6053#endif
6054 use pm_kind, only: LKG => LK1
6055 logical(LKG) , intent(in), contiguous :: array(:)
6056 logical(LKG) , intent(in), contiguous :: pattern(:)
6057 integer(IK) , intent(in), optional :: blindness
6058 integer(IK) , allocatable :: loc(:)
6059 end function
6060#endif
6061
6062 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6063
6064#if CK5_ENABLED
6065 PURE module function getLocDefComDefIns_D1_D1_CK5(array, pattern, blindness) result(loc)
6066#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6067 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_CK5
6068#endif
6069 use pm_kind, only: CKG => CK5
6070 complex(CKG) , intent(in), contiguous :: array(:)
6071 complex(CKG) , intent(in), contiguous :: pattern(:)
6072 integer(IK) , intent(in), optional :: blindness
6073 integer(IK) , allocatable :: loc(:)
6074 end function
6075#endif
6076
6077#if CK4_ENABLED
6078 PURE module function getLocDefComDefIns_D1_D1_CK4(array, pattern, blindness) result(loc)
6079#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6080 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_CK4
6081#endif
6082 use pm_kind, only: CKG => CK4
6083 complex(CKG) , intent(in), contiguous :: array(:)
6084 complex(CKG) , intent(in), contiguous :: pattern(:)
6085 integer(IK) , intent(in), optional :: blindness
6086 integer(IK) , allocatable :: loc(:)
6087 end function
6088#endif
6089
6090#if CK3_ENABLED
6091 PURE module function getLocDefComDefIns_D1_D1_CK3(array, pattern, blindness) result(loc)
6092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6093 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_CK3
6094#endif
6095 use pm_kind, only: CKG => CK3
6096 complex(CKG) , intent(in), contiguous :: array(:)
6097 complex(CKG) , intent(in), contiguous :: pattern(:)
6098 integer(IK) , intent(in), optional :: blindness
6099 integer(IK) , allocatable :: loc(:)
6100 end function
6101#endif
6102
6103#if CK2_ENABLED
6104 PURE module function getLocDefComDefIns_D1_D1_CK2(array, pattern, blindness) result(loc)
6105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6106 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_CK2
6107#endif
6108 use pm_kind, only: CKG => CK2
6109 complex(CKG) , intent(in), contiguous :: array(:)
6110 complex(CKG) , intent(in), contiguous :: pattern(:)
6111 integer(IK) , intent(in), optional :: blindness
6112 integer(IK) , allocatable :: loc(:)
6113 end function
6114#endif
6115
6116#if CK1_ENABLED
6117 PURE module function getLocDefComDefIns_D1_D1_CK1(array, pattern, blindness) result(loc)
6118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6119 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_CK1
6120#endif
6121 use pm_kind, only: CKG => CK1
6122 complex(CKG) , intent(in), contiguous :: array(:)
6123 complex(CKG) , intent(in), contiguous :: pattern(:)
6124 integer(IK) , intent(in), optional :: blindness
6125 integer(IK) , allocatable :: loc(:)
6126 end function
6127#endif
6128
6129 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6130
6131#if RK5_ENABLED
6132 PURE module function getLocDefComDefIns_D1_D1_RK5(array, pattern, blindness) result(loc)
6133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6134 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_RK5
6135#endif
6136 use pm_kind, only: RKG => RK5
6137 real(RKG) , intent(in), contiguous :: array(:)
6138 real(RKG) , intent(in), contiguous :: pattern(:)
6139 integer(IK) , intent(in), optional :: blindness
6140 integer(IK) , allocatable :: loc(:)
6141 end function
6142#endif
6143
6144#if RK4_ENABLED
6145 PURE module function getLocDefComDefIns_D1_D1_RK4(array, pattern, blindness) result(loc)
6146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6147 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_RK4
6148#endif
6149 use pm_kind, only: RKG => RK4
6150 real(RKG) , intent(in), contiguous :: array(:)
6151 real(RKG) , intent(in), contiguous :: pattern(:)
6152 integer(IK) , intent(in), optional :: blindness
6153 integer(IK) , allocatable :: loc(:)
6154 end function
6155#endif
6156
6157#if RK3_ENABLED
6158 PURE module function getLocDefComDefIns_D1_D1_RK3(array, pattern, blindness) result(loc)
6159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6160 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_RK3
6161#endif
6162 use pm_kind, only: RKG => RK3
6163 real(RKG) , intent(in), contiguous :: array(:)
6164 real(RKG) , intent(in), contiguous :: pattern(:)
6165 integer(IK) , intent(in), optional :: blindness
6166 integer(IK) , allocatable :: loc(:)
6167 end function
6168#endif
6169
6170#if RK2_ENABLED
6171 PURE module function getLocDefComDefIns_D1_D1_RK2(array, pattern, blindness) result(loc)
6172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6173 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_RK2
6174#endif
6175 use pm_kind, only: RKG => RK2
6176 real(RKG) , intent(in), contiguous :: array(:)
6177 real(RKG) , intent(in), contiguous :: pattern(:)
6178 integer(IK) , intent(in), optional :: blindness
6179 integer(IK) , allocatable :: loc(:)
6180 end function
6181#endif
6182
6183#if RK1_ENABLED
6184 PURE module function getLocDefComDefIns_D1_D1_RK1(array, pattern, blindness) result(loc)
6185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6186 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComDefIns_D1_D1_RK1
6187#endif
6188 use pm_kind, only: RKG => RK1
6189 real(RKG) , intent(in), contiguous :: array(:)
6190 real(RKG) , intent(in), contiguous :: pattern(:)
6191 integer(IK) , intent(in), optional :: blindness
6192 integer(IK) , allocatable :: loc(:)
6193 end function
6194#endif
6195
6196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6197
6198 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6199 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6201
6202 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6203
6204#if SK5_ENABLED
6205 module function getLocCusComDefIns_D1_D1_SK5(array, pattern, iseq, blindness) result(loc)
6206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6207 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_SK5
6208#endif
6209 use pm_kind, only: SKG => SK5
6210 character(*,SKG) , intent(in), contiguous :: array(:)
6211 character(*,SKG) , intent(in), contiguous :: pattern(:)
6212 procedure(logical(LK)) :: iseq
6213 integer(IK) , intent(in), optional :: blindness
6214 integer(IK) , allocatable :: loc(:)
6215 end function
6216#endif
6217
6218#if SK4_ENABLED
6219 module function getLocCusComDefIns_D1_D1_SK4(array, pattern, iseq, blindness) result(loc)
6220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6221 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_SK4
6222#endif
6223 use pm_kind, only: SKG => SK4
6224 character(*,SKG) , intent(in), contiguous :: array(:)
6225 character(*,SKG) , intent(in), contiguous :: pattern(:)
6226 procedure(logical(LK)) :: iseq
6227 integer(IK) , intent(in), optional :: blindness
6228 integer(IK) , allocatable :: loc(:)
6229 end function
6230#endif
6231
6232#if SK3_ENABLED
6233 module function getLocCusComDefIns_D1_D1_SK3(array, pattern, iseq, blindness) result(loc)
6234#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6235 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_SK3
6236#endif
6237 use pm_kind, only: SKG => SK3
6238 character(*,SKG) , intent(in), contiguous :: array(:)
6239 character(*,SKG) , intent(in), contiguous :: pattern(:)
6240 procedure(logical(LK)) :: iseq
6241 integer(IK) , intent(in), optional :: blindness
6242 integer(IK) , allocatable :: loc(:)
6243 end function
6244#endif
6245
6246#if SK2_ENABLED
6247 module function getLocCusComDefIns_D1_D1_SK2(array, pattern, iseq, blindness) result(loc)
6248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6249 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_SK2
6250#endif
6251 use pm_kind, only: SKG => SK2
6252 character(*,SKG) , intent(in), contiguous :: array(:)
6253 character(*,SKG) , intent(in), contiguous :: pattern(:)
6254 procedure(logical(LK)) :: iseq
6255 integer(IK) , intent(in), optional :: blindness
6256 integer(IK) , allocatable :: loc(:)
6257 end function
6258#endif
6259
6260#if SK1_ENABLED
6261 module function getLocCusComDefIns_D1_D1_SK1(array, pattern, iseq, blindness) result(loc)
6262#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6263 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_SK1
6264#endif
6265 use pm_kind, only: SKG => SK1
6266 character(*,SKG) , intent(in), contiguous :: array(:)
6267 character(*,SKG) , intent(in), contiguous :: pattern(:)
6268 procedure(logical(LK)) :: iseq
6269 integer(IK) , intent(in), optional :: blindness
6270 integer(IK) , allocatable :: loc(:)
6271 end function
6272#endif
6273
6274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6275
6276#if IK5_ENABLED
6277 module function getLocCusComDefIns_D1_D1_IK5(array, pattern, iseq, blindness) result(loc)
6278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6279 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_IK5
6280#endif
6281 use pm_kind, only: IKG => IK5
6282 integer(IKG) , intent(in), contiguous :: array(:)
6283 integer(IKG) , intent(in), contiguous :: pattern(:)
6284 procedure(logical(LK)) :: iseq
6285 integer(IK) , intent(in), optional :: blindness
6286 integer(IK) , allocatable :: loc(:)
6287 end function
6288#endif
6289
6290#if IK4_ENABLED
6291 module function getLocCusComDefIns_D1_D1_IK4(array, pattern, iseq, blindness) result(loc)
6292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6293 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_IK4
6294#endif
6295 use pm_kind, only: IKG => IK4
6296 integer(IKG) , intent(in), contiguous :: array(:)
6297 integer(IKG) , intent(in), contiguous :: pattern(:)
6298 procedure(logical(LK)) :: iseq
6299 integer(IK) , intent(in), optional :: blindness
6300 integer(IK) , allocatable :: loc(:)
6301 end function
6302#endif
6303
6304#if IK3_ENABLED
6305 module function getLocCusComDefIns_D1_D1_IK3(array, pattern, iseq, blindness) result(loc)
6306#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6307 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_IK3
6308#endif
6309 use pm_kind, only: IKG => IK3
6310 integer(IKG) , intent(in), contiguous :: array(:)
6311 integer(IKG) , intent(in), contiguous :: pattern(:)
6312 procedure(logical(LK)) :: iseq
6313 integer(IK) , intent(in), optional :: blindness
6314 integer(IK) , allocatable :: loc(:)
6315 end function
6316#endif
6317
6318#if IK2_ENABLED
6319 module function getLocCusComDefIns_D1_D1_IK2(array, pattern, iseq, blindness) result(loc)
6320#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6321 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_IK2
6322#endif
6323 use pm_kind, only: IKG => IK2
6324 integer(IKG) , intent(in), contiguous :: array(:)
6325 integer(IKG) , intent(in), contiguous :: pattern(:)
6326 procedure(logical(LK)) :: iseq
6327 integer(IK) , intent(in), optional :: blindness
6328 integer(IK) , allocatable :: loc(:)
6329 end function
6330#endif
6331
6332#if IK1_ENABLED
6333 module function getLocCusComDefIns_D1_D1_IK1(array, pattern, iseq, blindness) result(loc)
6334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6335 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_IK1
6336#endif
6337 use pm_kind, only: IKG => IK1
6338 integer(IKG) , intent(in), contiguous :: array(:)
6339 integer(IKG) , intent(in), contiguous :: pattern(:)
6340 procedure(logical(LK)) :: iseq
6341 integer(IK) , intent(in), optional :: blindness
6342 integer(IK) , allocatable :: loc(:)
6343 end function
6344#endif
6345
6346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6347
6348#if LK5_ENABLED
6349 module function getLocCusComDefIns_D1_D1_LK5(array, pattern, iseq, blindness) result(loc)
6350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6351 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_LK5
6352#endif
6353 use pm_kind, only: LKG => LK5
6354 logical(LKG) , intent(in), contiguous :: array(:)
6355 logical(LKG) , intent(in), contiguous :: pattern(:)
6356 procedure(logical(LK)) :: iseq
6357 integer(IK) , intent(in), optional :: blindness
6358 integer(IK) , allocatable :: loc(:)
6359 end function
6360#endif
6361
6362#if LK4_ENABLED
6363 module function getLocCusComDefIns_D1_D1_LK4(array, pattern, iseq, blindness) result(loc)
6364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6365 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_LK4
6366#endif
6367 use pm_kind, only: LKG => LK4
6368 logical(LKG) , intent(in), contiguous :: array(:)
6369 logical(LKG) , intent(in), contiguous :: pattern(:)
6370 procedure(logical(LK)) :: iseq
6371 integer(IK) , intent(in), optional :: blindness
6372 integer(IK) , allocatable :: loc(:)
6373 end function
6374#endif
6375
6376#if LK3_ENABLED
6377 module function getLocCusComDefIns_D1_D1_LK3(array, pattern, iseq, blindness) result(loc)
6378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6379 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_LK3
6380#endif
6381 use pm_kind, only: LKG => LK3
6382 logical(LKG) , intent(in), contiguous :: array(:)
6383 logical(LKG) , intent(in), contiguous :: pattern(:)
6384 procedure(logical(LK)) :: iseq
6385 integer(IK) , intent(in), optional :: blindness
6386 integer(IK) , allocatable :: loc(:)
6387 end function
6388#endif
6389
6390#if LK2_ENABLED
6391 module function getLocCusComDefIns_D1_D1_LK2(array, pattern, iseq, blindness) result(loc)
6392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6393 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_LK2
6394#endif
6395 use pm_kind, only: LKG => LK2
6396 logical(LKG) , intent(in), contiguous :: array(:)
6397 logical(LKG) , intent(in), contiguous :: pattern(:)
6398 procedure(logical(LK)) :: iseq
6399 integer(IK) , intent(in), optional :: blindness
6400 integer(IK) , allocatable :: loc(:)
6401 end function
6402#endif
6403
6404#if LK1_ENABLED
6405 module function getLocCusComDefIns_D1_D1_LK1(array, pattern, iseq, blindness) result(loc)
6406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6407 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_LK1
6408#endif
6409 use pm_kind, only: LKG => LK1
6410 logical(LKG) , intent(in), contiguous :: array(:)
6411 logical(LKG) , intent(in), contiguous :: pattern(:)
6412 procedure(logical(LK)) :: iseq
6413 integer(IK) , intent(in), optional :: blindness
6414 integer(IK) , allocatable :: loc(:)
6415 end function
6416#endif
6417
6418 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6419
6420#if CK5_ENABLED
6421 module function getLocCusComDefIns_D1_D1_CK5(array, pattern, iseq, blindness) result(loc)
6422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6423 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_CK5
6424#endif
6425 use pm_kind, only: CKG => CK5
6426 complex(CKG) , intent(in), contiguous :: array(:)
6427 complex(CKG) , intent(in), contiguous :: pattern(:)
6428 procedure(logical(LK)) :: iseq
6429 integer(IK) , intent(in), optional :: blindness
6430 integer(IK) , allocatable :: loc(:)
6431 end function
6432#endif
6433
6434#if CK4_ENABLED
6435 module function getLocCusComDefIns_D1_D1_CK4(array, pattern, iseq, blindness) result(loc)
6436#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6437 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_CK4
6438#endif
6439 use pm_kind, only: CKG => CK4
6440 complex(CKG) , intent(in), contiguous :: array(:)
6441 complex(CKG) , intent(in), contiguous :: pattern(:)
6442 procedure(logical(LK)) :: iseq
6443 integer(IK) , intent(in), optional :: blindness
6444 integer(IK) , allocatable :: loc(:)
6445 end function
6446#endif
6447
6448#if CK3_ENABLED
6449 module function getLocCusComDefIns_D1_D1_CK3(array, pattern, iseq, blindness) result(loc)
6450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6451 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_CK3
6452#endif
6453 use pm_kind, only: CKG => CK3
6454 complex(CKG) , intent(in), contiguous :: array(:)
6455 complex(CKG) , intent(in), contiguous :: pattern(:)
6456 procedure(logical(LK)) :: iseq
6457 integer(IK) , intent(in), optional :: blindness
6458 integer(IK) , allocatable :: loc(:)
6459 end function
6460#endif
6461
6462#if CK2_ENABLED
6463 module function getLocCusComDefIns_D1_D1_CK2(array, pattern, iseq, blindness) result(loc)
6464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6465 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_CK2
6466#endif
6467 use pm_kind, only: CKG => CK2
6468 complex(CKG) , intent(in), contiguous :: array(:)
6469 complex(CKG) , intent(in), contiguous :: pattern(:)
6470 procedure(logical(LK)) :: iseq
6471 integer(IK) , intent(in), optional :: blindness
6472 integer(IK) , allocatable :: loc(:)
6473 end function
6474#endif
6475
6476#if CK1_ENABLED
6477 module function getLocCusComDefIns_D1_D1_CK1(array, pattern, iseq, blindness) result(loc)
6478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6479 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_CK1
6480#endif
6481 use pm_kind, only: CKG => CK1
6482 complex(CKG) , intent(in), contiguous :: array(:)
6483 complex(CKG) , intent(in), contiguous :: pattern(:)
6484 procedure(logical(LK)) :: iseq
6485 integer(IK) , intent(in), optional :: blindness
6486 integer(IK) , allocatable :: loc(:)
6487 end function
6488#endif
6489
6490 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6491
6492#if RK5_ENABLED
6493 module function getLocCusComDefIns_D1_D1_RK5(array, pattern, iseq, blindness) result(loc)
6494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6495 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_RK5
6496#endif
6497 use pm_kind, only: RKG => RK5
6498 real(RKG) , intent(in), contiguous :: array(:)
6499 real(RKG) , intent(in), contiguous :: pattern(:)
6500 procedure(logical(LK)) :: iseq
6501 integer(IK) , intent(in), optional :: blindness
6502 integer(IK) , allocatable :: loc(:)
6503 end function
6504#endif
6505
6506#if RK4_ENABLED
6507 module function getLocCusComDefIns_D1_D1_RK4(array, pattern, iseq, blindness) result(loc)
6508#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6509 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_RK4
6510#endif
6511 use pm_kind, only: RKG => RK4
6512 real(RKG) , intent(in), contiguous :: array(:)
6513 real(RKG) , intent(in), contiguous :: pattern(:)
6514 procedure(logical(LK)) :: iseq
6515 integer(IK) , intent(in), optional :: blindness
6516 integer(IK) , allocatable :: loc(:)
6517 end function
6518#endif
6519
6520#if RK3_ENABLED
6521 module function getLocCusComDefIns_D1_D1_RK3(array, pattern, iseq, blindness) result(loc)
6522#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6523 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_RK3
6524#endif
6525 use pm_kind, only: RKG => RK3
6526 real(RKG) , intent(in), contiguous :: array(:)
6527 real(RKG) , intent(in), contiguous :: pattern(:)
6528 procedure(logical(LK)) :: iseq
6529 integer(IK) , intent(in), optional :: blindness
6530 integer(IK) , allocatable :: loc(:)
6531 end function
6532#endif
6533
6534#if RK2_ENABLED
6535 module function getLocCusComDefIns_D1_D1_RK2(array, pattern, iseq, blindness) result(loc)
6536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6537 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_RK2
6538#endif
6539 use pm_kind, only: RKG => RK2
6540 real(RKG) , intent(in), contiguous :: array(:)
6541 real(RKG) , intent(in), contiguous :: pattern(:)
6542 procedure(logical(LK)) :: iseq
6543 integer(IK) , intent(in), optional :: blindness
6544 integer(IK) , allocatable :: loc(:)
6545 end function
6546#endif
6547
6548#if RK1_ENABLED
6549 module function getLocCusComDefIns_D1_D1_RK1(array, pattern, iseq, blindness) result(loc)
6550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6551 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComDefIns_D1_D1_RK1
6552#endif
6553 use pm_kind, only: RKG => RK1
6554 real(RKG) , intent(in), contiguous :: array(:)
6555 real(RKG) , intent(in), contiguous :: pattern(:)
6556 procedure(logical(LK)) :: iseq
6557 integer(IK) , intent(in), optional :: blindness
6558 integer(IK) , allocatable :: loc(:)
6559 end function
6560#endif
6561
6562 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6563
6564 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6565 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6566 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6567
6568 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6569
6570#if SK5_ENABLED
6571 PURE module function getLocDefComCusIns_D1_D1_SK5(array, pattern, instance, sorted, positive, blindness) result(loc)
6572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6573 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_SK5
6574#endif
6575 use pm_kind, only: SKG => SK5
6576 character(*,SKG) , intent(in), contiguous :: array(:)
6577 character(*,SKG) , intent(in), contiguous :: pattern(:)
6578 integer(IK) , intent(in), contiguous :: instance(:)
6579 logical(LK) , intent(in), optional :: sorted
6580 logical(LK) , intent(in), optional :: positive
6581 integer(IK) , intent(in), optional :: blindness
6582 integer(IK) , allocatable :: loc(:)
6583 end function
6584#endif
6585
6586#if SK4_ENABLED
6587 PURE module function getLocDefComCusIns_D1_D1_SK4(array, pattern, instance, sorted, positive, blindness) result(loc)
6588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6589 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_SK4
6590#endif
6591 use pm_kind, only: SKG => SK4
6592 character(*,SKG) , intent(in), contiguous :: array(:)
6593 character(*,SKG) , intent(in), contiguous :: pattern(:)
6594 integer(IK) , intent(in), contiguous :: instance(:)
6595 logical(LK) , intent(in), optional :: sorted
6596 logical(LK) , intent(in), optional :: positive
6597 integer(IK) , intent(in), optional :: blindness
6598 integer(IK) , allocatable :: loc(:)
6599 end function
6600#endif
6601
6602#if SK3_ENABLED
6603 PURE module function getLocDefComCusIns_D1_D1_SK3(array, pattern, instance, sorted, positive, blindness) result(loc)
6604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6605 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_SK3
6606#endif
6607 use pm_kind, only: SKG => SK3
6608 character(*,SKG) , intent(in), contiguous :: array(:)
6609 character(*,SKG) , intent(in), contiguous :: pattern(:)
6610 integer(IK) , intent(in), contiguous :: instance(:)
6611 logical(LK) , intent(in), optional :: sorted
6612 logical(LK) , intent(in), optional :: positive
6613 integer(IK) , intent(in), optional :: blindness
6614 integer(IK) , allocatable :: loc(:)
6615 end function
6616#endif
6617
6618#if SK2_ENABLED
6619 PURE module function getLocDefComCusIns_D1_D1_SK2(array, pattern, instance, sorted, positive, blindness) result(loc)
6620#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6621 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_SK2
6622#endif
6623 use pm_kind, only: SKG => SK2
6624 character(*,SKG) , intent(in), contiguous :: array(:)
6625 character(*,SKG) , intent(in), contiguous :: pattern(:)
6626 integer(IK) , intent(in), contiguous :: instance(:)
6627 logical(LK) , intent(in), optional :: sorted
6628 logical(LK) , intent(in), optional :: positive
6629 integer(IK) , intent(in), optional :: blindness
6630 integer(IK) , allocatable :: loc(:)
6631 end function
6632#endif
6633
6634#if SK1_ENABLED
6635 PURE module function getLocDefComCusIns_D1_D1_SK1(array, pattern, instance, sorted, positive, blindness) result(loc)
6636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6637 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_SK1
6638#endif
6639 use pm_kind, only: SKG => SK1
6640 character(*,SKG) , intent(in), contiguous :: array(:)
6641 character(*,SKG) , intent(in), contiguous :: pattern(:)
6642 integer(IK) , intent(in), contiguous :: instance(:)
6643 logical(LK) , intent(in), optional :: sorted
6644 logical(LK) , intent(in), optional :: positive
6645 integer(IK) , intent(in), optional :: blindness
6646 integer(IK) , allocatable :: loc(:)
6647 end function
6648#endif
6649
6650 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6651
6652#if IK5_ENABLED
6653 PURE module function getLocDefComCusIns_D1_D1_IK5(array, pattern, instance, sorted, positive, blindness) result(loc)
6654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6655 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_IK5
6656#endif
6657 use pm_kind, only: IKG => IK5
6658 integer(IKG) , intent(in), contiguous :: array(:)
6659 integer(IKG) , intent(in), contiguous :: pattern(:)
6660 integer(IK) , intent(in), contiguous :: instance(:)
6661 logical(LK) , intent(in), optional :: sorted
6662 logical(LK) , intent(in), optional :: positive
6663 integer(IK) , intent(in), optional :: blindness
6664 integer(IK) , allocatable :: loc(:)
6665 end function
6666#endif
6667
6668#if IK4_ENABLED
6669 PURE module function getLocDefComCusIns_D1_D1_IK4(array, pattern, instance, sorted, positive, blindness) result(loc)
6670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6671 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_IK4
6672#endif
6673 use pm_kind, only: IKG => IK4
6674 integer(IKG) , intent(in), contiguous :: array(:)
6675 integer(IKG) , intent(in), contiguous :: pattern(:)
6676 integer(IK) , intent(in), contiguous :: instance(:)
6677 logical(LK) , intent(in), optional :: sorted
6678 logical(LK) , intent(in), optional :: positive
6679 integer(IK) , intent(in), optional :: blindness
6680 integer(IK) , allocatable :: loc(:)
6681 end function
6682#endif
6683
6684#if IK3_ENABLED
6685 PURE module function getLocDefComCusIns_D1_D1_IK3(array, pattern, instance, sorted, positive, blindness) result(loc)
6686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6687 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_IK3
6688#endif
6689 use pm_kind, only: IKG => IK3
6690 integer(IKG) , intent(in), contiguous :: array(:)
6691 integer(IKG) , intent(in), contiguous :: pattern(:)
6692 integer(IK) , intent(in), contiguous :: instance(:)
6693 logical(LK) , intent(in), optional :: sorted
6694 logical(LK) , intent(in), optional :: positive
6695 integer(IK) , intent(in), optional :: blindness
6696 integer(IK) , allocatable :: loc(:)
6697 end function
6698#endif
6699
6700#if IK2_ENABLED
6701 PURE module function getLocDefComCusIns_D1_D1_IK2(array, pattern, instance, sorted, positive, blindness) result(loc)
6702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6703 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_IK2
6704#endif
6705 use pm_kind, only: IKG => IK2
6706 integer(IKG) , intent(in), contiguous :: array(:)
6707 integer(IKG) , intent(in), contiguous :: pattern(:)
6708 integer(IK) , intent(in), contiguous :: instance(:)
6709 logical(LK) , intent(in), optional :: sorted
6710 logical(LK) , intent(in), optional :: positive
6711 integer(IK) , intent(in), optional :: blindness
6712 integer(IK) , allocatable :: loc(:)
6713 end function
6714#endif
6715
6716#if IK1_ENABLED
6717 PURE module function getLocDefComCusIns_D1_D1_IK1(array, pattern, instance, sorted, positive, blindness) result(loc)
6718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6719 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_IK1
6720#endif
6721 use pm_kind, only: IKG => IK1
6722 integer(IKG) , intent(in), contiguous :: array(:)
6723 integer(IKG) , intent(in), contiguous :: pattern(:)
6724 integer(IK) , intent(in), contiguous :: instance(:)
6725 logical(LK) , intent(in), optional :: sorted
6726 logical(LK) , intent(in), optional :: positive
6727 integer(IK) , intent(in), optional :: blindness
6728 integer(IK) , allocatable :: loc(:)
6729 end function
6730#endif
6731
6732 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6733
6734#if LK5_ENABLED
6735 PURE module function getLocDefComCusIns_D1_D1_LK5(array, pattern, instance, sorted, positive, blindness) result(loc)
6736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6737 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_LK5
6738#endif
6739 use pm_kind, only: LKG => LK5
6740 logical(LKG) , intent(in), contiguous :: array(:)
6741 logical(LKG) , intent(in), contiguous :: pattern(:)
6742 integer(IK) , intent(in), contiguous :: instance(:)
6743 logical(LK) , intent(in), optional :: sorted
6744 logical(LK) , intent(in), optional :: positive
6745 integer(IK) , intent(in), optional :: blindness
6746 integer(IK) , allocatable :: loc(:)
6747 end function
6748#endif
6749
6750#if LK4_ENABLED
6751 PURE module function getLocDefComCusIns_D1_D1_LK4(array, pattern, instance, sorted, positive, blindness) result(loc)
6752#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6753 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_LK4
6754#endif
6755 use pm_kind, only: LKG => LK4
6756 logical(LKG) , intent(in), contiguous :: array(:)
6757 logical(LKG) , intent(in), contiguous :: pattern(:)
6758 integer(IK) , intent(in), contiguous :: instance(:)
6759 logical(LK) , intent(in), optional :: sorted
6760 logical(LK) , intent(in), optional :: positive
6761 integer(IK) , intent(in), optional :: blindness
6762 integer(IK) , allocatable :: loc(:)
6763 end function
6764#endif
6765
6766#if LK3_ENABLED
6767 PURE module function getLocDefComCusIns_D1_D1_LK3(array, pattern, instance, sorted, positive, blindness) result(loc)
6768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6769 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_LK3
6770#endif
6771 use pm_kind, only: LKG => LK3
6772 logical(LKG) , intent(in), contiguous :: array(:)
6773 logical(LKG) , intent(in), contiguous :: pattern(:)
6774 integer(IK) , intent(in), contiguous :: instance(:)
6775 logical(LK) , intent(in), optional :: sorted
6776 logical(LK) , intent(in), optional :: positive
6777 integer(IK) , intent(in), optional :: blindness
6778 integer(IK) , allocatable :: loc(:)
6779 end function
6780#endif
6781
6782#if LK2_ENABLED
6783 PURE module function getLocDefComCusIns_D1_D1_LK2(array, pattern, instance, sorted, positive, blindness) result(loc)
6784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6785 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_LK2
6786#endif
6787 use pm_kind, only: LKG => LK2
6788 logical(LKG) , intent(in), contiguous :: array(:)
6789 logical(LKG) , intent(in), contiguous :: pattern(:)
6790 integer(IK) , intent(in), contiguous :: instance(:)
6791 logical(LK) , intent(in), optional :: sorted
6792 logical(LK) , intent(in), optional :: positive
6793 integer(IK) , intent(in), optional :: blindness
6794 integer(IK) , allocatable :: loc(:)
6795 end function
6796#endif
6797
6798#if LK1_ENABLED
6799 PURE module function getLocDefComCusIns_D1_D1_LK1(array, pattern, instance, sorted, positive, blindness) result(loc)
6800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6801 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_LK1
6802#endif
6803 use pm_kind, only: LKG => LK1
6804 logical(LKG) , intent(in), contiguous :: array(:)
6805 logical(LKG) , intent(in), contiguous :: pattern(:)
6806 integer(IK) , intent(in), contiguous :: instance(:)
6807 logical(LK) , intent(in), optional :: sorted
6808 logical(LK) , intent(in), optional :: positive
6809 integer(IK) , intent(in), optional :: blindness
6810 integer(IK) , allocatable :: loc(:)
6811 end function
6812#endif
6813
6814 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6815
6816#if CK5_ENABLED
6817 PURE module function getLocDefComCusIns_D1_D1_CK5(array, pattern, instance, sorted, positive, blindness) result(loc)
6818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6819 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_CK5
6820#endif
6821 use pm_kind, only: CKG => CK5
6822 complex(CKG) , intent(in), contiguous :: array(:)
6823 complex(CKG) , intent(in), contiguous :: pattern(:)
6824 integer(IK) , intent(in), contiguous :: instance(:)
6825 logical(LK) , intent(in), optional :: sorted
6826 logical(LK) , intent(in), optional :: positive
6827 integer(IK) , intent(in), optional :: blindness
6828 integer(IK) , allocatable :: loc(:)
6829 end function
6830#endif
6831
6832#if CK4_ENABLED
6833 PURE module function getLocDefComCusIns_D1_D1_CK4(array, pattern, instance, sorted, positive, blindness) result(loc)
6834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6835 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_CK4
6836#endif
6837 use pm_kind, only: CKG => CK4
6838 complex(CKG) , intent(in), contiguous :: array(:)
6839 complex(CKG) , intent(in), contiguous :: pattern(:)
6840 integer(IK) , intent(in), contiguous :: instance(:)
6841 logical(LK) , intent(in), optional :: sorted
6842 logical(LK) , intent(in), optional :: positive
6843 integer(IK) , intent(in), optional :: blindness
6844 integer(IK) , allocatable :: loc(:)
6845 end function
6846#endif
6847
6848#if CK3_ENABLED
6849 PURE module function getLocDefComCusIns_D1_D1_CK3(array, pattern, instance, sorted, positive, blindness) result(loc)
6850#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6851 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_CK3
6852#endif
6853 use pm_kind, only: CKG => CK3
6854 complex(CKG) , intent(in), contiguous :: array(:)
6855 complex(CKG) , intent(in), contiguous :: pattern(:)
6856 integer(IK) , intent(in), contiguous :: instance(:)
6857 logical(LK) , intent(in), optional :: sorted
6858 logical(LK) , intent(in), optional :: positive
6859 integer(IK) , intent(in), optional :: blindness
6860 integer(IK) , allocatable :: loc(:)
6861 end function
6862#endif
6863
6864#if CK2_ENABLED
6865 PURE module function getLocDefComCusIns_D1_D1_CK2(array, pattern, instance, sorted, positive, blindness) result(loc)
6866#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6867 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_CK2
6868#endif
6869 use pm_kind, only: CKG => CK2
6870 complex(CKG) , intent(in), contiguous :: array(:)
6871 complex(CKG) , intent(in), contiguous :: pattern(:)
6872 integer(IK) , intent(in), contiguous :: instance(:)
6873 logical(LK) , intent(in), optional :: sorted
6874 logical(LK) , intent(in), optional :: positive
6875 integer(IK) , intent(in), optional :: blindness
6876 integer(IK) , allocatable :: loc(:)
6877 end function
6878#endif
6879
6880#if CK1_ENABLED
6881 PURE module function getLocDefComCusIns_D1_D1_CK1(array, pattern, instance, sorted, positive, blindness) result(loc)
6882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6883 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_CK1
6884#endif
6885 use pm_kind, only: CKG => CK1
6886 complex(CKG) , intent(in), contiguous :: array(:)
6887 complex(CKG) , intent(in), contiguous :: pattern(:)
6888 integer(IK) , intent(in), contiguous :: instance(:)
6889 logical(LK) , intent(in), optional :: sorted
6890 logical(LK) , intent(in), optional :: positive
6891 integer(IK) , intent(in), optional :: blindness
6892 integer(IK) , allocatable :: loc(:)
6893 end function
6894#endif
6895
6896 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6897
6898#if RK5_ENABLED
6899 PURE module function getLocDefComCusIns_D1_D1_RK5(array, pattern, instance, sorted, positive, blindness) result(loc)
6900#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6901 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_RK5
6902#endif
6903 use pm_kind, only: RKG => RK5
6904 real(RKG) , intent(in), contiguous :: array(:)
6905 real(RKG) , intent(in), contiguous :: pattern(:)
6906 integer(IK) , intent(in), contiguous :: instance(:)
6907 logical(LK) , intent(in), optional :: sorted
6908 logical(LK) , intent(in), optional :: positive
6909 integer(IK) , intent(in), optional :: blindness
6910 integer(IK) , allocatable :: loc(:)
6911 end function
6912#endif
6913
6914#if RK4_ENABLED
6915 PURE module function getLocDefComCusIns_D1_D1_RK4(array, pattern, instance, sorted, positive, blindness) result(loc)
6916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6917 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_RK4
6918#endif
6919 use pm_kind, only: RKG => RK4
6920 real(RKG) , intent(in), contiguous :: array(:)
6921 real(RKG) , intent(in), contiguous :: pattern(:)
6922 integer(IK) , intent(in), contiguous :: instance(:)
6923 logical(LK) , intent(in), optional :: sorted
6924 logical(LK) , intent(in), optional :: positive
6925 integer(IK) , intent(in), optional :: blindness
6926 integer(IK) , allocatable :: loc(:)
6927 end function
6928#endif
6929
6930#if RK3_ENABLED
6931 PURE module function getLocDefComCusIns_D1_D1_RK3(array, pattern, instance, sorted, positive, blindness) result(loc)
6932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6933 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_RK3
6934#endif
6935 use pm_kind, only: RKG => RK3
6936 real(RKG) , intent(in), contiguous :: array(:)
6937 real(RKG) , intent(in), contiguous :: pattern(:)
6938 integer(IK) , intent(in), contiguous :: instance(:)
6939 logical(LK) , intent(in), optional :: sorted
6940 logical(LK) , intent(in), optional :: positive
6941 integer(IK) , intent(in), optional :: blindness
6942 integer(IK) , allocatable :: loc(:)
6943 end function
6944#endif
6945
6946#if RK2_ENABLED
6947 PURE module function getLocDefComCusIns_D1_D1_RK2(array, pattern, instance, sorted, positive, blindness) result(loc)
6948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6949 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_RK2
6950#endif
6951 use pm_kind, only: RKG => RK2
6952 real(RKG) , intent(in), contiguous :: array(:)
6953 real(RKG) , intent(in), contiguous :: pattern(:)
6954 integer(IK) , intent(in), contiguous :: instance(:)
6955 logical(LK) , intent(in), optional :: sorted
6956 logical(LK) , intent(in), optional :: positive
6957 integer(IK) , intent(in), optional :: blindness
6958 integer(IK) , allocatable :: loc(:)
6959 end function
6960#endif
6961
6962#if RK1_ENABLED
6963 PURE module function getLocDefComCusIns_D1_D1_RK1(array, pattern, instance, sorted, positive, blindness) result(loc)
6964#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6965 !DEC$ ATTRIBUTES DLLEXPORT :: getLocDefComCusIns_D1_D1_RK1
6966#endif
6967 use pm_kind, only: RKG => RK1
6968 real(RKG) , intent(in), contiguous :: array(:)
6969 real(RKG) , intent(in), contiguous :: pattern(:)
6970 integer(IK) , intent(in), contiguous :: instance(:)
6971 logical(LK) , intent(in), optional :: sorted
6972 logical(LK) , intent(in), optional :: positive
6973 integer(IK) , intent(in), optional :: blindness
6974 integer(IK) , allocatable :: loc(:)
6975 end function
6976#endif
6977
6978 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6979
6980 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6981 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6982 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6983
6984 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6985
6986#if SK5_ENABLED
6987 module function getLocCusComCusIns_D1_D1_SK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
6988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6989 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_SK5
6990#endif
6991 use pm_kind, only: SKG => SK5
6992 character(*,SKG) , intent(in), contiguous :: array(:)
6993 character(*,SKG) , intent(in), contiguous :: pattern(:)
6994 procedure(logical(LK)) :: iseq
6995 integer(IK) , intent(in), contiguous :: instance(:)
6996 logical(LK) , intent(in), optional :: sorted
6997 logical(LK) , intent(in), optional :: positive
6998 integer(IK) , intent(in), optional :: blindness
6999 integer(IK) , allocatable :: loc(:)
7000 end function
7001#endif
7002
7003#if SK4_ENABLED
7004 module function getLocCusComCusIns_D1_D1_SK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7006 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_SK4
7007#endif
7008 use pm_kind, only: SKG => SK4
7009 character(*,SKG) , intent(in), contiguous :: array(:)
7010 character(*,SKG) , intent(in), contiguous :: pattern(:)
7011 procedure(logical(LK)) :: iseq
7012 integer(IK) , intent(in), contiguous :: instance(:)
7013 logical(LK) , intent(in), optional :: sorted
7014 logical(LK) , intent(in), optional :: positive
7015 integer(IK) , intent(in), optional :: blindness
7016 integer(IK) , allocatable :: loc(:)
7017 end function
7018#endif
7019
7020#if SK3_ENABLED
7021 module function getLocCusComCusIns_D1_D1_SK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7023 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_SK3
7024#endif
7025 use pm_kind, only: SKG => SK3
7026 character(*,SKG) , intent(in), contiguous :: array(:)
7027 character(*,SKG) , intent(in), contiguous :: pattern(:)
7028 procedure(logical(LK)) :: iseq
7029 integer(IK) , intent(in), contiguous :: instance(:)
7030 logical(LK) , intent(in), optional :: sorted
7031 logical(LK) , intent(in), optional :: positive
7032 integer(IK) , intent(in), optional :: blindness
7033 integer(IK) , allocatable :: loc(:)
7034 end function
7035#endif
7036
7037#if SK2_ENABLED
7038 module function getLocCusComCusIns_D1_D1_SK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7039#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7040 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_SK2
7041#endif
7042 use pm_kind, only: SKG => SK2
7043 character(*,SKG) , intent(in), contiguous :: array(:)
7044 character(*,SKG) , intent(in), contiguous :: pattern(:)
7045 procedure(logical(LK)) :: iseq
7046 integer(IK) , intent(in), contiguous :: instance(:)
7047 logical(LK) , intent(in), optional :: sorted
7048 logical(LK) , intent(in), optional :: positive
7049 integer(IK) , intent(in), optional :: blindness
7050 integer(IK) , allocatable :: loc(:)
7051 end function
7052#endif
7053
7054#if SK1_ENABLED
7055 module function getLocCusComCusIns_D1_D1_SK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7057 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_SK1
7058#endif
7059 use pm_kind, only: SKG => SK1
7060 character(*,SKG) , intent(in), contiguous :: array(:)
7061 character(*,SKG) , intent(in), contiguous :: pattern(:)
7062 procedure(logical(LK)) :: iseq
7063 integer(IK) , intent(in), contiguous :: instance(:)
7064 logical(LK) , intent(in), optional :: sorted
7065 logical(LK) , intent(in), optional :: positive
7066 integer(IK) , intent(in), optional :: blindness
7067 integer(IK) , allocatable :: loc(:)
7068 end function
7069#endif
7070
7071 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7072
7073#if IK5_ENABLED
7074 module function getLocCusComCusIns_D1_D1_IK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7076 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_IK5
7077#endif
7078 use pm_kind, only: IKG => IK5
7079 integer(IKG) , intent(in), contiguous :: array(:)
7080 integer(IKG) , intent(in), contiguous :: pattern(:)
7081 procedure(logical(LK)) :: iseq
7082 integer(IK) , intent(in), contiguous :: instance(:)
7083 logical(LK) , intent(in), optional :: sorted
7084 logical(LK) , intent(in), optional :: positive
7085 integer(IK) , intent(in), optional :: blindness
7086 integer(IK) , allocatable :: loc(:)
7087 end function
7088#endif
7089
7090#if IK4_ENABLED
7091 module function getLocCusComCusIns_D1_D1_IK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7093 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_IK4
7094#endif
7095 use pm_kind, only: IKG => IK4
7096 integer(IKG) , intent(in), contiguous :: array(:)
7097 integer(IKG) , intent(in), contiguous :: pattern(:)
7098 procedure(logical(LK)) :: iseq
7099 integer(IK) , intent(in), contiguous :: instance(:)
7100 logical(LK) , intent(in), optional :: sorted
7101 logical(LK) , intent(in), optional :: positive
7102 integer(IK) , intent(in), optional :: blindness
7103 integer(IK) , allocatable :: loc(:)
7104 end function
7105#endif
7106
7107#if IK3_ENABLED
7108 module function getLocCusComCusIns_D1_D1_IK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7110 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_IK3
7111#endif
7112 use pm_kind, only: IKG => IK3
7113 integer(IKG) , intent(in), contiguous :: array(:)
7114 integer(IKG) , intent(in), contiguous :: pattern(:)
7115 procedure(logical(LK)) :: iseq
7116 integer(IK) , intent(in), contiguous :: instance(:)
7117 logical(LK) , intent(in), optional :: sorted
7118 logical(LK) , intent(in), optional :: positive
7119 integer(IK) , intent(in), optional :: blindness
7120 integer(IK) , allocatable :: loc(:)
7121 end function
7122#endif
7123
7124#if IK2_ENABLED
7125 module function getLocCusComCusIns_D1_D1_IK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7126#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7127 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_IK2
7128#endif
7129 use pm_kind, only: IKG => IK2
7130 integer(IKG) , intent(in), contiguous :: array(:)
7131 integer(IKG) , intent(in), contiguous :: pattern(:)
7132 procedure(logical(LK)) :: iseq
7133 integer(IK) , intent(in), contiguous :: instance(:)
7134 logical(LK) , intent(in), optional :: sorted
7135 logical(LK) , intent(in), optional :: positive
7136 integer(IK) , intent(in), optional :: blindness
7137 integer(IK) , allocatable :: loc(:)
7138 end function
7139#endif
7140
7141#if IK1_ENABLED
7142 module function getLocCusComCusIns_D1_D1_IK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7144 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_IK1
7145#endif
7146 use pm_kind, only: IKG => IK1
7147 integer(IKG) , intent(in), contiguous :: array(:)
7148 integer(IKG) , intent(in), contiguous :: pattern(:)
7149 procedure(logical(LK)) :: iseq
7150 integer(IK) , intent(in), contiguous :: instance(:)
7151 logical(LK) , intent(in), optional :: sorted
7152 logical(LK) , intent(in), optional :: positive
7153 integer(IK) , intent(in), optional :: blindness
7154 integer(IK) , allocatable :: loc(:)
7155 end function
7156#endif
7157
7158 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7159
7160#if LK5_ENABLED
7161 module function getLocCusComCusIns_D1_D1_LK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7163 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_LK5
7164#endif
7165 use pm_kind, only: LKG => LK5
7166 logical(LKG) , intent(in), contiguous :: array(:)
7167 logical(LKG) , intent(in), contiguous :: pattern(:)
7168 procedure(logical(LK)) :: iseq
7169 integer(IK) , intent(in), contiguous :: instance(:)
7170 logical(LK) , intent(in), optional :: sorted
7171 logical(LK) , intent(in), optional :: positive
7172 integer(IK) , intent(in), optional :: blindness
7173 integer(IK) , allocatable :: loc(:)
7174 end function
7175#endif
7176
7177#if LK4_ENABLED
7178 module function getLocCusComCusIns_D1_D1_LK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7180 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_LK4
7181#endif
7182 use pm_kind, only: LKG => LK4
7183 logical(LKG) , intent(in), contiguous :: array(:)
7184 logical(LKG) , intent(in), contiguous :: pattern(:)
7185 procedure(logical(LK)) :: iseq
7186 integer(IK) , intent(in), contiguous :: instance(:)
7187 logical(LK) , intent(in), optional :: sorted
7188 logical(LK) , intent(in), optional :: positive
7189 integer(IK) , intent(in), optional :: blindness
7190 integer(IK) , allocatable :: loc(:)
7191 end function
7192#endif
7193
7194#if LK3_ENABLED
7195 module function getLocCusComCusIns_D1_D1_LK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7196#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7197 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_LK3
7198#endif
7199 use pm_kind, only: LKG => LK3
7200 logical(LKG) , intent(in), contiguous :: array(:)
7201 logical(LKG) , intent(in), contiguous :: pattern(:)
7202 procedure(logical(LK)) :: iseq
7203 integer(IK) , intent(in), contiguous :: instance(:)
7204 logical(LK) , intent(in), optional :: sorted
7205 logical(LK) , intent(in), optional :: positive
7206 integer(IK) , intent(in), optional :: blindness
7207 integer(IK) , allocatable :: loc(:)
7208 end function
7209#endif
7210
7211#if LK2_ENABLED
7212 module function getLocCusComCusIns_D1_D1_LK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7214 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_LK2
7215#endif
7216 use pm_kind, only: LKG => LK2
7217 logical(LKG) , intent(in), contiguous :: array(:)
7218 logical(LKG) , intent(in), contiguous :: pattern(:)
7219 procedure(logical(LK)) :: iseq
7220 integer(IK) , intent(in), contiguous :: instance(:)
7221 logical(LK) , intent(in), optional :: sorted
7222 logical(LK) , intent(in), optional :: positive
7223 integer(IK) , intent(in), optional :: blindness
7224 integer(IK) , allocatable :: loc(:)
7225 end function
7226#endif
7227
7228#if LK1_ENABLED
7229 module function getLocCusComCusIns_D1_D1_LK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7231 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_LK1
7232#endif
7233 use pm_kind, only: LKG => LK1
7234 logical(LKG) , intent(in), contiguous :: array(:)
7235 logical(LKG) , intent(in), contiguous :: pattern(:)
7236 procedure(logical(LK)) :: iseq
7237 integer(IK) , intent(in), contiguous :: instance(:)
7238 logical(LK) , intent(in), optional :: sorted
7239 logical(LK) , intent(in), optional :: positive
7240 integer(IK) , intent(in), optional :: blindness
7241 integer(IK) , allocatable :: loc(:)
7242 end function
7243#endif
7244
7245 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7246
7247#if CK5_ENABLED
7248 module function getLocCusComCusIns_D1_D1_CK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7250 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_CK5
7251#endif
7252 use pm_kind, only: CKG => CK5
7253 complex(CKG) , intent(in), contiguous :: array(:)
7254 complex(CKG) , intent(in), contiguous :: pattern(:)
7255 procedure(logical(LK)) :: iseq
7256 integer(IK) , intent(in), contiguous :: instance(:)
7257 logical(LK) , intent(in), optional :: sorted
7258 logical(LK) , intent(in), optional :: positive
7259 integer(IK) , intent(in), optional :: blindness
7260 integer(IK) , allocatable :: loc(:)
7261 end function
7262#endif
7263
7264#if CK4_ENABLED
7265 module function getLocCusComCusIns_D1_D1_CK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7267 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_CK4
7268#endif
7269 use pm_kind, only: CKG => CK4
7270 complex(CKG) , intent(in), contiguous :: array(:)
7271 complex(CKG) , intent(in), contiguous :: pattern(:)
7272 procedure(logical(LK)) :: iseq
7273 integer(IK) , intent(in), contiguous :: instance(:)
7274 logical(LK) , intent(in), optional :: sorted
7275 logical(LK) , intent(in), optional :: positive
7276 integer(IK) , intent(in), optional :: blindness
7277 integer(IK) , allocatable :: loc(:)
7278 end function
7279#endif
7280
7281#if CK3_ENABLED
7282 module function getLocCusComCusIns_D1_D1_CK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7284 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_CK3
7285#endif
7286 use pm_kind, only: CKG => CK3
7287 complex(CKG) , intent(in), contiguous :: array(:)
7288 complex(CKG) , intent(in), contiguous :: pattern(:)
7289 procedure(logical(LK)) :: iseq
7290 integer(IK) , intent(in), contiguous :: instance(:)
7291 logical(LK) , intent(in), optional :: sorted
7292 logical(LK) , intent(in), optional :: positive
7293 integer(IK) , intent(in), optional :: blindness
7294 integer(IK) , allocatable :: loc(:)
7295 end function
7296#endif
7297
7298#if CK2_ENABLED
7299 module function getLocCusComCusIns_D1_D1_CK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7301 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_CK2
7302#endif
7303 use pm_kind, only: CKG => CK2
7304 complex(CKG) , intent(in), contiguous :: array(:)
7305 complex(CKG) , intent(in), contiguous :: pattern(:)
7306 procedure(logical(LK)) :: iseq
7307 integer(IK) , intent(in), contiguous :: instance(:)
7308 logical(LK) , intent(in), optional :: sorted
7309 logical(LK) , intent(in), optional :: positive
7310 integer(IK) , intent(in), optional :: blindness
7311 integer(IK) , allocatable :: loc(:)
7312 end function
7313#endif
7314
7315#if CK1_ENABLED
7316 module function getLocCusComCusIns_D1_D1_CK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7318 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_CK1
7319#endif
7320 use pm_kind, only: CKG => CK1
7321 complex(CKG) , intent(in), contiguous :: array(:)
7322 complex(CKG) , intent(in), contiguous :: pattern(:)
7323 procedure(logical(LK)) :: iseq
7324 integer(IK) , intent(in), contiguous :: instance(:)
7325 logical(LK) , intent(in), optional :: sorted
7326 logical(LK) , intent(in), optional :: positive
7327 integer(IK) , intent(in), optional :: blindness
7328 integer(IK) , allocatable :: loc(:)
7329 end function
7330#endif
7331
7332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7333
7334#if RK5_ENABLED
7335 module function getLocCusComCusIns_D1_D1_RK5(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7337 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_RK5
7338#endif
7339 use pm_kind, only: RKG => RK5
7340 real(RKG) , intent(in), contiguous :: array(:)
7341 real(RKG) , intent(in), contiguous :: pattern(:)
7342 procedure(logical(LK)) :: iseq
7343 integer(IK) , intent(in), contiguous :: instance(:)
7344 logical(LK) , intent(in), optional :: sorted
7345 logical(LK) , intent(in), optional :: positive
7346 integer(IK) , intent(in), optional :: blindness
7347 integer(IK) , allocatable :: loc(:)
7348 end function
7349#endif
7350
7351#if RK4_ENABLED
7352 module function getLocCusComCusIns_D1_D1_RK4(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7353#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7354 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_RK4
7355#endif
7356 use pm_kind, only: RKG => RK4
7357 real(RKG) , intent(in), contiguous :: array(:)
7358 real(RKG) , intent(in), contiguous :: pattern(:)
7359 procedure(logical(LK)) :: iseq
7360 integer(IK) , intent(in), contiguous :: instance(:)
7361 logical(LK) , intent(in), optional :: sorted
7362 logical(LK) , intent(in), optional :: positive
7363 integer(IK) , intent(in), optional :: blindness
7364 integer(IK) , allocatable :: loc(:)
7365 end function
7366#endif
7367
7368#if RK3_ENABLED
7369 module function getLocCusComCusIns_D1_D1_RK3(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7371 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_RK3
7372#endif
7373 use pm_kind, only: RKG => RK3
7374 real(RKG) , intent(in), contiguous :: array(:)
7375 real(RKG) , intent(in), contiguous :: pattern(:)
7376 procedure(logical(LK)) :: iseq
7377 integer(IK) , intent(in), contiguous :: instance(:)
7378 logical(LK) , intent(in), optional :: sorted
7379 logical(LK) , intent(in), optional :: positive
7380 integer(IK) , intent(in), optional :: blindness
7381 integer(IK) , allocatable :: loc(:)
7382 end function
7383#endif
7384
7385#if RK2_ENABLED
7386 module function getLocCusComCusIns_D1_D1_RK2(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7388 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_RK2
7389#endif
7390 use pm_kind, only: RKG => RK2
7391 real(RKG) , intent(in), contiguous :: array(:)
7392 real(RKG) , intent(in), contiguous :: pattern(:)
7393 procedure(logical(LK)) :: iseq
7394 integer(IK) , intent(in), contiguous :: instance(:)
7395 logical(LK) , intent(in), optional :: sorted
7396 logical(LK) , intent(in), optional :: positive
7397 integer(IK) , intent(in), optional :: blindness
7398 integer(IK) , allocatable :: loc(:)
7399 end function
7400#endif
7401
7402#if RK1_ENABLED
7403 module function getLocCusComCusIns_D1_D1_RK1(array, pattern, iseq, instance, sorted, positive, blindness) result(loc)
7404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7405 !DEC$ ATTRIBUTES DLLEXPORT :: getLocCusComCusIns_D1_D1_RK1
7406#endif
7407 use pm_kind, only: RKG => RK1
7408 real(RKG) , intent(in), contiguous :: array(:)
7409 real(RKG) , intent(in), contiguous :: pattern(:)
7410 procedure(logical(LK)) :: iseq
7411 integer(IK) , intent(in), contiguous :: instance(:)
7412 logical(LK) , intent(in), optional :: sorted
7413 logical(LK) , intent(in), optional :: positive
7414 integer(IK) , intent(in), optional :: blindness
7415 integer(IK) , allocatable :: loc(:)
7416 end function
7417#endif
7418
7419 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7420
7421 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7424
7425 end interface
7426
7427!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7428
7621
7622 ! D0_D0
7623
7624 interface setLoc
7625
7626 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7627 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7629
7630 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7631
7632#if SK5_ENABLED
7633 PURE module subroutine setLocDefComDefIns_D0_D0_SK5(loc, nloc, array, pattern, blindness)
7634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7635 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D0_D0_SK5
7636#endif
7637 use pm_kind, only: SKG => SK5
7638 character(*,SKG) , intent(in) :: array
7639 character(*,SKG) , intent(in) :: pattern
7640 integer(IK) , intent(in) , optional :: blindness
7641 integer(IK) , intent(inout) , allocatable :: loc(:)
7642 integer(IK) , intent(out) :: nloc
7643 end subroutine
7644#endif
7645
7646#if SK4_ENABLED
7647 PURE module subroutine setLocDefComDefIns_D0_D0_SK4(loc, nloc, array, pattern, blindness)
7648#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7649 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D0_D0_SK4
7650#endif
7651 use pm_kind, only: SKG => SK4
7652 character(*,SKG) , intent(in) :: array
7653 character(*,SKG) , intent(in) :: pattern
7654 integer(IK) , intent(in) , optional :: blindness
7655 integer(IK) , intent(inout) , allocatable :: loc(:)
7656 integer(IK) , intent(out) :: nloc
7657 end subroutine
7658#endif
7659
7660#if SK3_ENABLED
7661 PURE module subroutine setLocDefComDefIns_D0_D0_SK3(loc, nloc, array, pattern, blindness)
7662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7663 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D0_D0_SK3
7664#endif
7665 use pm_kind, only: SKG => SK3
7666 character(*,SKG) , intent(in) :: array
7667 character(*,SKG) , intent(in) :: pattern
7668 integer(IK) , intent(in) , optional :: blindness
7669 integer(IK) , intent(inout) , allocatable :: loc(:)
7670 integer(IK) , intent(out) :: nloc
7671 end subroutine
7672#endif
7673
7674#if SK2_ENABLED
7675 PURE module subroutine setLocDefComDefIns_D0_D0_SK2(loc, nloc, array, pattern, blindness)
7676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7677 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D0_D0_SK2
7678#endif
7679 use pm_kind, only: SKG => SK2
7680 character(*,SKG) , intent(in) :: array
7681 character(*,SKG) , intent(in) :: pattern
7682 integer(IK) , intent(in) , optional :: blindness
7683 integer(IK) , intent(inout) , allocatable :: loc(:)
7684 integer(IK) , intent(out) :: nloc
7685 end subroutine
7686#endif
7687
7688#if SK1_ENABLED
7689 PURE module subroutine setLocDefComDefIns_D0_D0_SK1(loc, nloc, array, pattern, blindness)
7690#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7691 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D0_D0_SK1
7692#endif
7693 use pm_kind, only: SKG => SK1
7694 character(*,SKG) , intent(in) :: array
7695 character(*,SKG) , intent(in) :: pattern
7696 integer(IK) , intent(in) , optional :: blindness
7697 integer(IK) , intent(inout) , allocatable :: loc(:)
7698 integer(IK) , intent(out) :: nloc
7699 end subroutine
7700#endif
7701
7702 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7703
7704 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7705 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7706 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7707
7708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7709
7710#if SK5_ENABLED
7711 module subroutine setLocCusComDefIns_D0_D0_SK5(loc, nloc, array, pattern, iseq, blindness)
7712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7713 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D0_D0_SK5
7714#endif
7715 use pm_kind, only: SKG => SK5
7716 character(*,SKG) , intent(in) :: array
7717 character(*,SKG) , intent(in) :: pattern
7718 procedure(logical(LK)) :: iseq
7719 integer(IK) , intent(in) , optional :: blindness
7720 integer(IK) , intent(inout) , allocatable :: loc(:)
7721 integer(IK) , intent(out) :: nloc
7722 end subroutine
7723#endif
7724
7725#if SK4_ENABLED
7726 module subroutine setLocCusComDefIns_D0_D0_SK4(loc, nloc, array, pattern, iseq, blindness)
7727#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7728 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D0_D0_SK4
7729#endif
7730 use pm_kind, only: SKG => SK4
7731 character(*,SKG) , intent(in) :: array
7732 character(*,SKG) , intent(in) :: pattern
7733 procedure(logical(LK)) :: iseq
7734 integer(IK) , intent(in) , optional :: blindness
7735 integer(IK) , intent(inout) , allocatable :: loc(:)
7736 integer(IK) , intent(out) :: nloc
7737 end subroutine
7738#endif
7739
7740#if SK3_ENABLED
7741 module subroutine setLocCusComDefIns_D0_D0_SK3(loc, nloc, array, pattern, iseq, blindness)
7742#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7743 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D0_D0_SK3
7744#endif
7745 use pm_kind, only: SKG => SK3
7746 character(*,SKG) , intent(in) :: array
7747 character(*,SKG) , intent(in) :: pattern
7748 procedure(logical(LK)) :: iseq
7749 integer(IK) , intent(in) , optional :: blindness
7750 integer(IK) , intent(inout) , allocatable :: loc(:)
7751 integer(IK) , intent(out) :: nloc
7752 end subroutine
7753#endif
7754
7755#if SK2_ENABLED
7756 module subroutine setLocCusComDefIns_D0_D0_SK2(loc, nloc, array, pattern, iseq, blindness)
7757#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7758 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D0_D0_SK2
7759#endif
7760 use pm_kind, only: SKG => SK2
7761 character(*,SKG) , intent(in) :: array
7762 character(*,SKG) , intent(in) :: pattern
7763 procedure(logical(LK)) :: iseq
7764 integer(IK) , intent(in) , optional :: blindness
7765 integer(IK) , intent(inout) , allocatable :: loc(:)
7766 integer(IK) , intent(out) :: nloc
7767 end subroutine
7768#endif
7769
7770#if SK1_ENABLED
7771 module subroutine setLocCusComDefIns_D0_D0_SK1(loc, nloc, array, pattern, iseq, blindness)
7772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7773 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D0_D0_SK1
7774#endif
7775 use pm_kind, only: SKG => SK1
7776 character(*,SKG) , intent(in) :: array
7777 character(*,SKG) , intent(in) :: pattern
7778 procedure(logical(LK)) :: iseq
7779 integer(IK) , intent(in) , optional :: blindness
7780 integer(IK) , intent(inout) , allocatable :: loc(:)
7781 integer(IK) , intent(out) :: nloc
7782 end subroutine
7783#endif
7784
7785 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7786
7787 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7788 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7789 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7790
7791 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7792
7793#if SK5_ENABLED
7794 PURE module subroutine setLocDefComCusIns_D0_D0_SK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
7795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7796 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D0_D0_SK5
7797#endif
7798 use pm_kind, only: SKG => SK5
7799 character(*,SKG) , intent(in) :: array
7800 character(*,SKG) , intent(in) :: pattern
7801 integer(IK) , intent(in) , contiguous :: instance(:)
7802 logical(LK) , intent(in) :: sorted
7803 logical(LK) , intent(in) :: positive
7804 integer(IK) , intent(in) :: blindness
7805 integer(IK) , intent(inout) , allocatable :: loc(:)
7806 integer(IK) , intent(out) :: nloc
7807 end subroutine
7808#endif
7809
7810#if SK4_ENABLED
7811 PURE module subroutine setLocDefComCusIns_D0_D0_SK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
7812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7813 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D0_D0_SK4
7814#endif
7815 use pm_kind, only: SKG => SK4
7816 character(*,SKG) , intent(in) :: array
7817 character(*,SKG) , intent(in) :: pattern
7818 integer(IK) , intent(in) , contiguous :: instance(:)
7819 logical(LK) , intent(in) :: sorted
7820 logical(LK) , intent(in) :: positive
7821 integer(IK) , intent(in) :: blindness
7822 integer(IK) , intent(inout) , allocatable :: loc(:)
7823 integer(IK) , intent(out) :: nloc
7824 end subroutine
7825#endif
7826
7827#if SK3_ENABLED
7828 PURE module subroutine setLocDefComCusIns_D0_D0_SK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
7829#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7830 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D0_D0_SK3
7831#endif
7832 use pm_kind, only: SKG => SK3
7833 character(*,SKG) , intent(in) :: array
7834 character(*,SKG) , intent(in) :: pattern
7835 integer(IK) , intent(in) , contiguous :: instance(:)
7836 logical(LK) , intent(in) :: sorted
7837 logical(LK) , intent(in) :: positive
7838 integer(IK) , intent(in) :: blindness
7839 integer(IK) , intent(inout) , allocatable :: loc(:)
7840 integer(IK) , intent(out) :: nloc
7841 end subroutine
7842#endif
7843
7844#if SK2_ENABLED
7845 PURE module subroutine setLocDefComCusIns_D0_D0_SK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
7846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7847 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D0_D0_SK2
7848#endif
7849 use pm_kind, only: SKG => SK2
7850 character(*,SKG) , intent(in) :: array
7851 character(*,SKG) , intent(in) :: pattern
7852 integer(IK) , intent(in) , contiguous :: instance(:)
7853 logical(LK) , intent(in) :: sorted
7854 logical(LK) , intent(in) :: positive
7855 integer(IK) , intent(in) :: blindness
7856 integer(IK) , intent(inout) , allocatable :: loc(:)
7857 integer(IK) , intent(out) :: nloc
7858 end subroutine
7859#endif
7860
7861#if SK1_ENABLED
7862 PURE module subroutine setLocDefComCusIns_D0_D0_SK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
7863#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7864 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D0_D0_SK1
7865#endif
7866 use pm_kind, only: SKG => SK1
7867 character(*,SKG) , intent(in) :: array
7868 character(*,SKG) , intent(in) :: pattern
7869 integer(IK) , intent(in) , contiguous :: instance(:)
7870 logical(LK) , intent(in) :: sorted
7871 logical(LK) , intent(in) :: positive
7872 integer(IK) , intent(in) :: blindness
7873 integer(IK) , intent(inout) , allocatable :: loc(:)
7874 integer(IK) , intent(out) :: nloc
7875 end subroutine
7876#endif
7877
7878 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7879
7880 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7881 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7883
7884 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7885
7886#if SK5_ENABLED
7887 module subroutine setLocCusComCusIns_D0_D0_SK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
7888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7889 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D0_D0_SK5
7890#endif
7891 use pm_kind, only: SKG => SK5
7892 character(*,SKG) , intent(in) :: array
7893 character(*,SKG) , intent(in) :: pattern
7894 procedure(logical(LK)) :: iseq
7895 integer(IK) , intent(in) , contiguous :: instance(:)
7896 logical(LK) , intent(in) :: sorted
7897 logical(LK) , intent(in) :: positive
7898 integer(IK) , intent(in) :: blindness
7899 integer(IK) , intent(inout) , allocatable :: loc(:)
7900 integer(IK) , intent(out) :: nloc
7901 end subroutine
7902#endif
7903
7904#if SK4_ENABLED
7905 module subroutine setLocCusComCusIns_D0_D0_SK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
7906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7907 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D0_D0_SK4
7908#endif
7909 use pm_kind, only: SKG => SK4
7910 character(*,SKG) , intent(in) :: array
7911 character(*,SKG) , intent(in) :: pattern
7912 procedure(logical(LK)) :: iseq
7913 integer(IK) , intent(in) , contiguous :: instance(:)
7914 logical(LK) , intent(in) :: sorted
7915 logical(LK) , intent(in) :: positive
7916 integer(IK) , intent(in) :: blindness
7917 integer(IK) , intent(inout) , allocatable :: loc(:)
7918 integer(IK) , intent(out) :: nloc
7919 end subroutine
7920#endif
7921
7922#if SK3_ENABLED
7923 module subroutine setLocCusComCusIns_D0_D0_SK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
7924#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7925 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D0_D0_SK3
7926#endif
7927 use pm_kind, only: SKG => SK3
7928 character(*,SKG) , intent(in) :: array
7929 character(*,SKG) , intent(in) :: pattern
7930 procedure(logical(LK)) :: iseq
7931 integer(IK) , intent(in) , contiguous :: instance(:)
7932 logical(LK) , intent(in) :: sorted
7933 logical(LK) , intent(in) :: positive
7934 integer(IK) , intent(in) :: blindness
7935 integer(IK) , intent(inout) , allocatable :: loc(:)
7936 integer(IK) , intent(out) :: nloc
7937 end subroutine
7938#endif
7939
7940#if SK2_ENABLED
7941 module subroutine setLocCusComCusIns_D0_D0_SK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
7942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7943 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D0_D0_SK2
7944#endif
7945 use pm_kind, only: SKG => SK2
7946 character(*,SKG) , intent(in) :: array
7947 character(*,SKG) , intent(in) :: pattern
7948 procedure(logical(LK)) :: iseq
7949 integer(IK) , intent(in) , contiguous :: instance(:)
7950 logical(LK) , intent(in) :: sorted
7951 logical(LK) , intent(in) :: positive
7952 integer(IK) , intent(in) :: blindness
7953 integer(IK) , intent(inout) , allocatable :: loc(:)
7954 integer(IK) , intent(out) :: nloc
7955 end subroutine
7956#endif
7957
7958#if SK1_ENABLED
7959 module subroutine setLocCusComCusIns_D0_D0_SK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
7960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7961 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D0_D0_SK1
7962#endif
7963 use pm_kind, only: SKG => SK1
7964 character(*,SKG) , intent(in) :: array
7965 character(*,SKG) , intent(in) :: pattern
7966 procedure(logical(LK)) :: iseq
7967 integer(IK) , intent(in) , contiguous :: instance(:)
7968 logical(LK) , intent(in) :: sorted
7969 logical(LK) , intent(in) :: positive
7970 integer(IK) , intent(in) :: blindness
7971 integer(IK) , intent(inout) , allocatable :: loc(:)
7972 integer(IK) , intent(out) :: nloc
7973 end subroutine
7974#endif
7975
7976 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7977
7978 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7979 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7980 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7981
7982 end interface
7983
7984 ! D1_D0
7985
7986 interface setLoc
7987
7988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7989 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7991
7992 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7993
7994#if SK5_ENABLED
7995 PURE module subroutine setLocDefComDefIns_D1_D0_SK5(loc, nloc, array, pattern, blindness)
7996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7997 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_SK5
7998#endif
7999 use pm_kind, only: SKG => SK5
8000 character(*,SKG) , intent(in) , contiguous :: array(:)
8001 character(*,SKG) , intent(in) :: pattern
8002 integer(IK) , intent(in) , optional :: blindness
8003 integer(IK) , intent(inout) , allocatable :: loc(:)
8004 integer(IK) , intent(out) :: nloc
8005 end subroutine
8006#endif
8007
8008#if SK4_ENABLED
8009 PURE module subroutine setLocDefComDefIns_D1_D0_SK4(loc, nloc, array, pattern, blindness)
8010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8011 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_SK4
8012#endif
8013 use pm_kind, only: SKG => SK4
8014 character(*,SKG) , intent(in) , contiguous :: array(:)
8015 character(*,SKG) , intent(in) :: pattern
8016 integer(IK) , intent(in) , optional :: blindness
8017 integer(IK) , intent(inout) , allocatable :: loc(:)
8018 integer(IK) , intent(out) :: nloc
8019 end subroutine
8020#endif
8021
8022#if SK3_ENABLED
8023 PURE module subroutine setLocDefComDefIns_D1_D0_SK3(loc, nloc, array, pattern, blindness)
8024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8025 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_SK3
8026#endif
8027 use pm_kind, only: SKG => SK3
8028 character(*,SKG) , intent(in) , contiguous :: array(:)
8029 character(*,SKG) , intent(in) :: pattern
8030 integer(IK) , intent(in) , optional :: blindness
8031 integer(IK) , intent(inout) , allocatable :: loc(:)
8032 integer(IK) , intent(out) :: nloc
8033 end subroutine
8034#endif
8035
8036#if SK2_ENABLED
8037 PURE module subroutine setLocDefComDefIns_D1_D0_SK2(loc, nloc, array, pattern, blindness)
8038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8039 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_SK2
8040#endif
8041 use pm_kind, only: SKG => SK2
8042 character(*,SKG) , intent(in) , contiguous :: array(:)
8043 character(*,SKG) , intent(in) :: pattern
8044 integer(IK) , intent(in) , optional :: blindness
8045 integer(IK) , intent(inout) , allocatable :: loc(:)
8046 integer(IK) , intent(out) :: nloc
8047 end subroutine
8048#endif
8049
8050#if SK1_ENABLED
8051 PURE module subroutine setLocDefComDefIns_D1_D0_SK1(loc, nloc, array, pattern, blindness)
8052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8053 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_SK1
8054#endif
8055 use pm_kind, only: SKG => SK1
8056 character(*,SKG) , intent(in) , contiguous :: array(:)
8057 character(*,SKG) , intent(in) :: pattern
8058 integer(IK) , intent(in) , optional :: blindness
8059 integer(IK) , intent(inout) , allocatable :: loc(:)
8060 integer(IK) , intent(out) :: nloc
8061 end subroutine
8062#endif
8063
8064 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8065
8066#if IK5_ENABLED
8067 PURE module subroutine setLocDefComDefIns_D1_D0_IK5(loc, nloc, array, pattern, blindness)
8068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8069 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_IK5
8070#endif
8071 use pm_kind, only: IKG => IK5
8072 integer(IKG) , intent(in) , contiguous :: array(:)
8073 integer(IKG) , intent(in) :: pattern
8074 integer(IK) , intent(in) , optional :: blindness
8075 integer(IK) , intent(inout) , allocatable :: loc(:)
8076 integer(IK) , intent(out) :: nloc
8077 end subroutine
8078#endif
8079
8080#if IK4_ENABLED
8081 PURE module subroutine setLocDefComDefIns_D1_D0_IK4(loc, nloc, array, pattern, blindness)
8082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8083 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_IK4
8084#endif
8085 use pm_kind, only: IKG => IK4
8086 integer(IKG) , intent(in) , contiguous :: array(:)
8087 integer(IKG) , intent(in) :: pattern
8088 integer(IK) , intent(in) , optional :: blindness
8089 integer(IK) , intent(inout) , allocatable :: loc(:)
8090 integer(IK) , intent(out) :: nloc
8091 end subroutine
8092#endif
8093
8094#if IK3_ENABLED
8095 PURE module subroutine setLocDefComDefIns_D1_D0_IK3(loc, nloc, array, pattern, blindness)
8096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8097 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_IK3
8098#endif
8099 use pm_kind, only: IKG => IK3
8100 integer(IKG) , intent(in) , contiguous :: array(:)
8101 integer(IKG) , intent(in) :: pattern
8102 integer(IK) , intent(in) , optional :: blindness
8103 integer(IK) , intent(inout) , allocatable :: loc(:)
8104 integer(IK) , intent(out) :: nloc
8105 end subroutine
8106#endif
8107
8108#if IK2_ENABLED
8109 PURE module subroutine setLocDefComDefIns_D1_D0_IK2(loc, nloc, array, pattern, blindness)
8110#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8111 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_IK2
8112#endif
8113 use pm_kind, only: IKG => IK2
8114 integer(IKG) , intent(in) , contiguous :: array(:)
8115 integer(IKG) , intent(in) :: pattern
8116 integer(IK) , intent(in) , optional :: blindness
8117 integer(IK) , intent(inout) , allocatable :: loc(:)
8118 integer(IK) , intent(out) :: nloc
8119 end subroutine
8120#endif
8121
8122#if IK1_ENABLED
8123 PURE module subroutine setLocDefComDefIns_D1_D0_IK1(loc, nloc, array, pattern, blindness)
8124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8125 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_IK1
8126#endif
8127 use pm_kind, only: IKG => IK1
8128 integer(IKG) , intent(in) , contiguous :: array(:)
8129 integer(IKG) , intent(in) :: pattern
8130 integer(IK) , intent(in) , optional :: blindness
8131 integer(IK) , intent(inout) , allocatable :: loc(:)
8132 integer(IK) , intent(out) :: nloc
8133 end subroutine
8134#endif
8135
8136 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8137
8138#if LK5_ENABLED
8139 PURE module subroutine setLocDefComDefIns_D1_D0_LK5(loc, nloc, array, pattern, blindness)
8140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8141 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_LK5
8142#endif
8143 use pm_kind, only: LKG => LK5
8144 logical(LKG) , intent(in) , contiguous :: array(:)
8145 logical(LKG) , intent(in) :: pattern
8146 integer(IK) , intent(in) , optional :: blindness
8147 integer(IK) , intent(inout) , allocatable :: loc(:)
8148 integer(IK) , intent(out) :: nloc
8149 end subroutine
8150#endif
8151
8152#if LK4_ENABLED
8153 PURE module subroutine setLocDefComDefIns_D1_D0_LK4(loc, nloc, array, pattern, blindness)
8154#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8155 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_LK4
8156#endif
8157 use pm_kind, only: LKG => LK4
8158 logical(LKG) , intent(in) , contiguous :: array(:)
8159 logical(LKG) , intent(in) :: pattern
8160 integer(IK) , intent(in) , optional :: blindness
8161 integer(IK) , intent(inout) , allocatable :: loc(:)
8162 integer(IK) , intent(out) :: nloc
8163 end subroutine
8164#endif
8165
8166#if LK3_ENABLED
8167 PURE module subroutine setLocDefComDefIns_D1_D0_LK3(loc, nloc, array, pattern, blindness)
8168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8169 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_LK3
8170#endif
8171 use pm_kind, only: LKG => LK3
8172 logical(LKG) , intent(in) , contiguous :: array(:)
8173 logical(LKG) , intent(in) :: pattern
8174 integer(IK) , intent(in) , optional :: blindness
8175 integer(IK) , intent(inout) , allocatable :: loc(:)
8176 integer(IK) , intent(out) :: nloc
8177 end subroutine
8178#endif
8179
8180#if LK2_ENABLED
8181 PURE module subroutine setLocDefComDefIns_D1_D0_LK2(loc, nloc, array, pattern, blindness)
8182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8183 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_LK2
8184#endif
8185 use pm_kind, only: LKG => LK2
8186 logical(LKG) , intent(in) , contiguous :: array(:)
8187 logical(LKG) , intent(in) :: pattern
8188 integer(IK) , intent(in) , optional :: blindness
8189 integer(IK) , intent(inout) , allocatable :: loc(:)
8190 integer(IK) , intent(out) :: nloc
8191 end subroutine
8192#endif
8193
8194#if LK1_ENABLED
8195 PURE module subroutine setLocDefComDefIns_D1_D0_LK1(loc, nloc, array, pattern, blindness)
8196#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8197 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_LK1
8198#endif
8199 use pm_kind, only: LKG => LK1
8200 logical(LKG) , intent(in) , contiguous :: array(:)
8201 logical(LKG) , intent(in) :: pattern
8202 integer(IK) , intent(in) , optional :: blindness
8203 integer(IK) , intent(inout) , allocatable :: loc(:)
8204 integer(IK) , intent(out) :: nloc
8205 end subroutine
8206#endif
8207
8208 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8209
8210#if CK5_ENABLED
8211 PURE module subroutine setLocDefComDefIns_D1_D0_CK5(loc, nloc, array, pattern, blindness)
8212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8213 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_CK5
8214#endif
8215 use pm_kind, only: CKG => CK5
8216 complex(CKG) , intent(in) , contiguous :: array(:)
8217 complex(CKG) , intent(in) :: pattern
8218 integer(IK) , intent(in) , optional :: blindness
8219 integer(IK) , intent(inout) , allocatable :: loc(:)
8220 integer(IK) , intent(out) :: nloc
8221 end subroutine
8222#endif
8223
8224#if CK4_ENABLED
8225 PURE module subroutine setLocDefComDefIns_D1_D0_CK4(loc, nloc, array, pattern, blindness)
8226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8227 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_CK4
8228#endif
8229 use pm_kind, only: CKG => CK4
8230 complex(CKG) , intent(in) , contiguous :: array(:)
8231 complex(CKG) , intent(in) :: pattern
8232 integer(IK) , intent(in) , optional :: blindness
8233 integer(IK) , intent(inout) , allocatable :: loc(:)
8234 integer(IK) , intent(out) :: nloc
8235 end subroutine
8236#endif
8237
8238#if CK3_ENABLED
8239 PURE module subroutine setLocDefComDefIns_D1_D0_CK3(loc, nloc, array, pattern, blindness)
8240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8241 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_CK3
8242#endif
8243 use pm_kind, only: CKG => CK3
8244 complex(CKG) , intent(in) , contiguous :: array(:)
8245 complex(CKG) , intent(in) :: pattern
8246 integer(IK) , intent(in) , optional :: blindness
8247 integer(IK) , intent(inout) , allocatable :: loc(:)
8248 integer(IK) , intent(out) :: nloc
8249 end subroutine
8250#endif
8251
8252#if CK2_ENABLED
8253 PURE module subroutine setLocDefComDefIns_D1_D0_CK2(loc, nloc, array, pattern, blindness)
8254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8255 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_CK2
8256#endif
8257 use pm_kind, only: CKG => CK2
8258 complex(CKG) , intent(in) , contiguous :: array(:)
8259 complex(CKG) , intent(in) :: pattern
8260 integer(IK) , intent(in) , optional :: blindness
8261 integer(IK) , intent(inout) , allocatable :: loc(:)
8262 integer(IK) , intent(out) :: nloc
8263 end subroutine
8264#endif
8265
8266#if CK1_ENABLED
8267 PURE module subroutine setLocDefComDefIns_D1_D0_CK1(loc, nloc, array, pattern, blindness)
8268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8269 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_CK1
8270#endif
8271 use pm_kind, only: CKG => CK1
8272 complex(CKG) , intent(in) , contiguous :: array(:)
8273 complex(CKG) , intent(in) :: pattern
8274 integer(IK) , intent(in) , optional :: blindness
8275 integer(IK) , intent(inout) , allocatable :: loc(:)
8276 integer(IK) , intent(out) :: nloc
8277 end subroutine
8278#endif
8279
8280 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8281
8282#if RK5_ENABLED
8283 PURE module subroutine setLocDefComDefIns_D1_D0_RK5(loc, nloc, array, pattern, blindness)
8284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8285 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_RK5
8286#endif
8287 use pm_kind, only: RKG => RK5
8288 real(RKG) , intent(in) , contiguous :: array(:)
8289 real(RKG) , intent(in) :: pattern
8290 integer(IK) , intent(in) , optional :: blindness
8291 integer(IK) , intent(inout) , allocatable :: loc(:)
8292 integer(IK) , intent(out) :: nloc
8293 end subroutine
8294#endif
8295
8296#if RK4_ENABLED
8297 PURE module subroutine setLocDefComDefIns_D1_D0_RK4(loc, nloc, array, pattern, blindness)
8298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8299 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_RK4
8300#endif
8301 use pm_kind, only: RKG => RK4
8302 real(RKG) , intent(in) , contiguous :: array(:)
8303 real(RKG) , intent(in) :: pattern
8304 integer(IK) , intent(in) , optional :: blindness
8305 integer(IK) , intent(inout) , allocatable :: loc(:)
8306 integer(IK) , intent(out) :: nloc
8307 end subroutine
8308#endif
8309
8310#if RK3_ENABLED
8311 PURE module subroutine setLocDefComDefIns_D1_D0_RK3(loc, nloc, array, pattern, blindness)
8312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8313 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_RK3
8314#endif
8315 use pm_kind, only: RKG => RK3
8316 real(RKG) , intent(in) , contiguous :: array(:)
8317 real(RKG) , intent(in) :: pattern
8318 integer(IK) , intent(in) , optional :: blindness
8319 integer(IK) , intent(inout) , allocatable :: loc(:)
8320 integer(IK) , intent(out) :: nloc
8321 end subroutine
8322#endif
8323
8324#if RK2_ENABLED
8325 PURE module subroutine setLocDefComDefIns_D1_D0_RK2(loc, nloc, array, pattern, blindness)
8326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8327 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_RK2
8328#endif
8329 use pm_kind, only: RKG => RK2
8330 real(RKG) , intent(in) , contiguous :: array(:)
8331 real(RKG) , intent(in) :: pattern
8332 integer(IK) , intent(in) , optional :: blindness
8333 integer(IK) , intent(inout) , allocatable :: loc(:)
8334 integer(IK) , intent(out) :: nloc
8335 end subroutine
8336#endif
8337
8338#if RK1_ENABLED
8339 PURE module subroutine setLocDefComDefIns_D1_D0_RK1(loc, nloc, array, pattern, blindness)
8340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8341 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D0_RK1
8342#endif
8343 use pm_kind, only: RKG => RK1
8344 real(RKG) , intent(in) , contiguous :: array(:)
8345 real(RKG) , intent(in) :: pattern
8346 integer(IK) , intent(in) , optional :: blindness
8347 integer(IK) , intent(inout) , allocatable :: loc(:)
8348 integer(IK) , intent(out) :: nloc
8349 end subroutine
8350#endif
8351
8352 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8353
8354 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8356 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8357
8358 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8359
8360#if SK5_ENABLED
8361 module subroutine setLocCusComDefIns_D1_D0_SK5(loc, nloc, array, pattern, iseq, blindness)
8362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8363 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_SK5
8364#endif
8365 use pm_kind, only: SKG => SK5
8366 character(*,SKG) , intent(in) , contiguous :: array(:)
8367 character(*,SKG) , intent(in) :: pattern
8368 procedure(logical(LK)) :: iseq
8369 integer(IK) , intent(in) , optional :: blindness
8370 integer(IK) , intent(inout) , allocatable :: loc(:)
8371 integer(IK) , intent(out) :: nloc
8372 end subroutine
8373#endif
8374
8375#if SK4_ENABLED
8376 module subroutine setLocCusComDefIns_D1_D0_SK4(loc, nloc, array, pattern, iseq, blindness)
8377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8378 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_SK4
8379#endif
8380 use pm_kind, only: SKG => SK4
8381 character(*,SKG) , intent(in) , contiguous :: array(:)
8382 character(*,SKG) , intent(in) :: pattern
8383 procedure(logical(LK)) :: iseq
8384 integer(IK) , intent(in) , optional :: blindness
8385 integer(IK) , intent(inout) , allocatable :: loc(:)
8386 integer(IK) , intent(out) :: nloc
8387 end subroutine
8388#endif
8389
8390#if SK3_ENABLED
8391 module subroutine setLocCusComDefIns_D1_D0_SK3(loc, nloc, array, pattern, iseq, blindness)
8392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8393 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_SK3
8394#endif
8395 use pm_kind, only: SKG => SK3
8396 character(*,SKG) , intent(in) , contiguous :: array(:)
8397 character(*,SKG) , intent(in) :: pattern
8398 procedure(logical(LK)) :: iseq
8399 integer(IK) , intent(in) , optional :: blindness
8400 integer(IK) , intent(inout) , allocatable :: loc(:)
8401 integer(IK) , intent(out) :: nloc
8402 end subroutine
8403#endif
8404
8405#if SK2_ENABLED
8406 module subroutine setLocCusComDefIns_D1_D0_SK2(loc, nloc, array, pattern, iseq, blindness)
8407#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8408 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_SK2
8409#endif
8410 use pm_kind, only: SKG => SK2
8411 character(*,SKG) , intent(in) , contiguous :: array(:)
8412 character(*,SKG) , intent(in) :: pattern
8413 procedure(logical(LK)) :: iseq
8414 integer(IK) , intent(in) , optional :: blindness
8415 integer(IK) , intent(inout) , allocatable :: loc(:)
8416 integer(IK) , intent(out) :: nloc
8417 end subroutine
8418#endif
8419
8420#if SK1_ENABLED
8421 module subroutine setLocCusComDefIns_D1_D0_SK1(loc, nloc, array, pattern, iseq, blindness)
8422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8423 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_SK1
8424#endif
8425 use pm_kind, only: SKG => SK1
8426 character(*,SKG) , intent(in) , contiguous :: array(:)
8427 character(*,SKG) , intent(in) :: pattern
8428 procedure(logical(LK)) :: iseq
8429 integer(IK) , intent(in) , optional :: blindness
8430 integer(IK) , intent(inout) , allocatable :: loc(:)
8431 integer(IK) , intent(out) :: nloc
8432 end subroutine
8433#endif
8434
8435 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8436
8437#if IK5_ENABLED
8438 module subroutine setLocCusComDefIns_D1_D0_IK5(loc, nloc, array, pattern, iseq, blindness)
8439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8440 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_IK5
8441#endif
8442 use pm_kind, only: IKG => IK5
8443 integer(IKG) , intent(in) , contiguous :: array(:)
8444 integer(IKG) , intent(in) :: pattern
8445 procedure(logical(LK)) :: iseq
8446 integer(IK) , intent(in) , optional :: blindness
8447 integer(IK) , intent(inout) , allocatable :: loc(:)
8448 integer(IK) , intent(out) :: nloc
8449 end subroutine
8450#endif
8451
8452#if IK4_ENABLED
8453 module subroutine setLocCusComDefIns_D1_D0_IK4(loc, nloc, array, pattern, iseq, blindness)
8454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8455 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_IK4
8456#endif
8457 use pm_kind, only: IKG => IK4
8458 integer(IKG) , intent(in) , contiguous :: array(:)
8459 integer(IKG) , intent(in) :: pattern
8460 procedure(logical(LK)) :: iseq
8461 integer(IK) , intent(in) , optional :: blindness
8462 integer(IK) , intent(inout) , allocatable :: loc(:)
8463 integer(IK) , intent(out) :: nloc
8464 end subroutine
8465#endif
8466
8467#if IK3_ENABLED
8468 module subroutine setLocCusComDefIns_D1_D0_IK3(loc, nloc, array, pattern, iseq, blindness)
8469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8470 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_IK3
8471#endif
8472 use pm_kind, only: IKG => IK3
8473 integer(IKG) , intent(in) , contiguous :: array(:)
8474 integer(IKG) , intent(in) :: pattern
8475 procedure(logical(LK)) :: iseq
8476 integer(IK) , intent(in) , optional :: blindness
8477 integer(IK) , intent(inout) , allocatable :: loc(:)
8478 integer(IK) , intent(out) :: nloc
8479 end subroutine
8480#endif
8481
8482#if IK2_ENABLED
8483 module subroutine setLocCusComDefIns_D1_D0_IK2(loc, nloc, array, pattern, iseq, blindness)
8484#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8485 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_IK2
8486#endif
8487 use pm_kind, only: IKG => IK2
8488 integer(IKG) , intent(in) , contiguous :: array(:)
8489 integer(IKG) , intent(in) :: pattern
8490 procedure(logical(LK)) :: iseq
8491 integer(IK) , intent(in) , optional :: blindness
8492 integer(IK) , intent(inout) , allocatable :: loc(:)
8493 integer(IK) , intent(out) :: nloc
8494 end subroutine
8495#endif
8496
8497#if IK1_ENABLED
8498 module subroutine setLocCusComDefIns_D1_D0_IK1(loc, nloc, array, pattern, iseq, blindness)
8499#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8500 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_IK1
8501#endif
8502 use pm_kind, only: IKG => IK1
8503 integer(IKG) , intent(in) , contiguous :: array(:)
8504 integer(IKG) , intent(in) :: pattern
8505 procedure(logical(LK)) :: iseq
8506 integer(IK) , intent(in) , optional :: blindness
8507 integer(IK) , intent(inout) , allocatable :: loc(:)
8508 integer(IK) , intent(out) :: nloc
8509 end subroutine
8510#endif
8511
8512 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8513
8514#if LK5_ENABLED
8515 module subroutine setLocCusComDefIns_D1_D0_LK5(loc, nloc, array, pattern, iseq, blindness)
8516#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8517 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_LK5
8518#endif
8519 use pm_kind, only: LKG => LK5
8520 logical(LKG) , intent(in) , contiguous :: array(:)
8521 logical(LKG) , intent(in) :: pattern
8522 procedure(logical(LK)) :: iseq
8523 integer(IK) , intent(in) , optional :: blindness
8524 integer(IK) , intent(inout) , allocatable :: loc(:)
8525 integer(IK) , intent(out) :: nloc
8526 end subroutine
8527#endif
8528
8529#if LK4_ENABLED
8530 module subroutine setLocCusComDefIns_D1_D0_LK4(loc, nloc, array, pattern, iseq, blindness)
8531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8532 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_LK4
8533#endif
8534 use pm_kind, only: LKG => LK4
8535 logical(LKG) , intent(in) , contiguous :: array(:)
8536 logical(LKG) , intent(in) :: pattern
8537 procedure(logical(LK)) :: iseq
8538 integer(IK) , intent(in) , optional :: blindness
8539 integer(IK) , intent(inout) , allocatable :: loc(:)
8540 integer(IK) , intent(out) :: nloc
8541 end subroutine
8542#endif
8543
8544#if LK3_ENABLED
8545 module subroutine setLocCusComDefIns_D1_D0_LK3(loc, nloc, array, pattern, iseq, blindness)
8546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8547 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_LK3
8548#endif
8549 use pm_kind, only: LKG => LK3
8550 logical(LKG) , intent(in) , contiguous :: array(:)
8551 logical(LKG) , intent(in) :: pattern
8552 procedure(logical(LK)) :: iseq
8553 integer(IK) , intent(in) , optional :: blindness
8554 integer(IK) , intent(inout) , allocatable :: loc(:)
8555 integer(IK) , intent(out) :: nloc
8556 end subroutine
8557#endif
8558
8559#if LK2_ENABLED
8560 module subroutine setLocCusComDefIns_D1_D0_LK2(loc, nloc, array, pattern, iseq, blindness)
8561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8562 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_LK2
8563#endif
8564 use pm_kind, only: LKG => LK2
8565 logical(LKG) , intent(in) , contiguous :: array(:)
8566 logical(LKG) , intent(in) :: pattern
8567 procedure(logical(LK)) :: iseq
8568 integer(IK) , intent(in) , optional :: blindness
8569 integer(IK) , intent(inout) , allocatable :: loc(:)
8570 integer(IK) , intent(out) :: nloc
8571 end subroutine
8572#endif
8573
8574#if LK1_ENABLED
8575 module subroutine setLocCusComDefIns_D1_D0_LK1(loc, nloc, array, pattern, iseq, blindness)
8576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8577 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_LK1
8578#endif
8579 use pm_kind, only: LKG => LK1
8580 logical(LKG) , intent(in) , contiguous :: array(:)
8581 logical(LKG) , intent(in) :: pattern
8582 procedure(logical(LK)) :: iseq
8583 integer(IK) , intent(in) , optional :: blindness
8584 integer(IK) , intent(inout) , allocatable :: loc(:)
8585 integer(IK) , intent(out) :: nloc
8586 end subroutine
8587#endif
8588
8589 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8590
8591#if CK5_ENABLED
8592 module subroutine setLocCusComDefIns_D1_D0_CK5(loc, nloc, array, pattern, iseq, blindness)
8593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8594 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_CK5
8595#endif
8596 use pm_kind, only: CKG => CK5
8597 complex(CKG) , intent(in) , contiguous :: array(:)
8598 complex(CKG) , intent(in) :: pattern
8599 procedure(logical(LK)) :: iseq
8600 integer(IK) , intent(in) , optional :: blindness
8601 integer(IK) , intent(inout) , allocatable :: loc(:)
8602 integer(IK) , intent(out) :: nloc
8603 end subroutine
8604#endif
8605
8606#if CK4_ENABLED
8607 module subroutine setLocCusComDefIns_D1_D0_CK4(loc, nloc, array, pattern, iseq, blindness)
8608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8609 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_CK4
8610#endif
8611 use pm_kind, only: CKG => CK4
8612 complex(CKG) , intent(in) , contiguous :: array(:)
8613 complex(CKG) , intent(in) :: pattern
8614 procedure(logical(LK)) :: iseq
8615 integer(IK) , intent(in) , optional :: blindness
8616 integer(IK) , intent(inout) , allocatable :: loc(:)
8617 integer(IK) , intent(out) :: nloc
8618 end subroutine
8619#endif
8620
8621#if CK3_ENABLED
8622 module subroutine setLocCusComDefIns_D1_D0_CK3(loc, nloc, array, pattern, iseq, blindness)
8623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8624 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_CK3
8625#endif
8626 use pm_kind, only: CKG => CK3
8627 complex(CKG) , intent(in) , contiguous :: array(:)
8628 complex(CKG) , intent(in) :: pattern
8629 procedure(logical(LK)) :: iseq
8630 integer(IK) , intent(in) , optional :: blindness
8631 integer(IK) , intent(inout) , allocatable :: loc(:)
8632 integer(IK) , intent(out) :: nloc
8633 end subroutine
8634#endif
8635
8636#if CK2_ENABLED
8637 module subroutine setLocCusComDefIns_D1_D0_CK2(loc, nloc, array, pattern, iseq, blindness)
8638#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8639 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_CK2
8640#endif
8641 use pm_kind, only: CKG => CK2
8642 complex(CKG) , intent(in) , contiguous :: array(:)
8643 complex(CKG) , intent(in) :: pattern
8644 procedure(logical(LK)) :: iseq
8645 integer(IK) , intent(in) , optional :: blindness
8646 integer(IK) , intent(inout) , allocatable :: loc(:)
8647 integer(IK) , intent(out) :: nloc
8648 end subroutine
8649#endif
8650
8651#if CK1_ENABLED
8652 module subroutine setLocCusComDefIns_D1_D0_CK1(loc, nloc, array, pattern, iseq, blindness)
8653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8654 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_CK1
8655#endif
8656 use pm_kind, only: CKG => CK1
8657 complex(CKG) , intent(in) , contiguous :: array(:)
8658 complex(CKG) , intent(in) :: pattern
8659 procedure(logical(LK)) :: iseq
8660 integer(IK) , intent(in) , optional :: blindness
8661 integer(IK) , intent(inout) , allocatable :: loc(:)
8662 integer(IK) , intent(out) :: nloc
8663 end subroutine
8664#endif
8665
8666 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8667
8668#if RK5_ENABLED
8669 module subroutine setLocCusComDefIns_D1_D0_RK5(loc, nloc, array, pattern, iseq, blindness)
8670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8671 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_RK5
8672#endif
8673 use pm_kind, only: RKG => RK5
8674 real(RKG) , intent(in) , contiguous :: array(:)
8675 real(RKG) , intent(in) :: pattern
8676 procedure(logical(LK)) :: iseq
8677 integer(IK) , intent(in) , optional :: blindness
8678 integer(IK) , intent(inout) , allocatable :: loc(:)
8679 integer(IK) , intent(out) :: nloc
8680 end subroutine
8681#endif
8682
8683#if RK4_ENABLED
8684 module subroutine setLocCusComDefIns_D1_D0_RK4(loc, nloc, array, pattern, iseq, blindness)
8685#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8686 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_RK4
8687#endif
8688 use pm_kind, only: RKG => RK4
8689 real(RKG) , intent(in) , contiguous :: array(:)
8690 real(RKG) , intent(in) :: pattern
8691 procedure(logical(LK)) :: iseq
8692 integer(IK) , intent(in) , optional :: blindness
8693 integer(IK) , intent(inout) , allocatable :: loc(:)
8694 integer(IK) , intent(out) :: nloc
8695 end subroutine
8696#endif
8697
8698#if RK3_ENABLED
8699 module subroutine setLocCusComDefIns_D1_D0_RK3(loc, nloc, array, pattern, iseq, blindness)
8700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8701 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_RK3
8702#endif
8703 use pm_kind, only: RKG => RK3
8704 real(RKG) , intent(in) , contiguous :: array(:)
8705 real(RKG) , intent(in) :: pattern
8706 procedure(logical(LK)) :: iseq
8707 integer(IK) , intent(in) , optional :: blindness
8708 integer(IK) , intent(inout) , allocatable :: loc(:)
8709 integer(IK) , intent(out) :: nloc
8710 end subroutine
8711#endif
8712
8713#if RK2_ENABLED
8714 module subroutine setLocCusComDefIns_D1_D0_RK2(loc, nloc, array, pattern, iseq, blindness)
8715#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8716 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_RK2
8717#endif
8718 use pm_kind, only: RKG => RK2
8719 real(RKG) , intent(in) , contiguous :: array(:)
8720 real(RKG) , intent(in) :: pattern
8721 procedure(logical(LK)) :: iseq
8722 integer(IK) , intent(in) , optional :: blindness
8723 integer(IK) , intent(inout) , allocatable :: loc(:)
8724 integer(IK) , intent(out) :: nloc
8725 end subroutine
8726#endif
8727
8728#if RK1_ENABLED
8729 module subroutine setLocCusComDefIns_D1_D0_RK1(loc, nloc, array, pattern, iseq, blindness)
8730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8731 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D0_RK1
8732#endif
8733 use pm_kind, only: RKG => RK1
8734 real(RKG) , intent(in) , contiguous :: array(:)
8735 real(RKG) , intent(in) :: pattern
8736 procedure(logical(LK)) :: iseq
8737 integer(IK) , intent(in) , optional :: blindness
8738 integer(IK) , intent(inout) , allocatable :: loc(:)
8739 integer(IK) , intent(out) :: nloc
8740 end subroutine
8741#endif
8742
8743 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8744
8745 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8748
8749 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8750
8751#if SK5_ENABLED
8752 PURE module subroutine setLocDefComCusIns_D1_D0_SK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8754 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_SK5
8755#endif
8756 use pm_kind, only: SKG => SK5
8757 character(*,SKG) , intent(in) , contiguous :: array(:)
8758 character(*,SKG) , intent(in) :: pattern
8759 integer(IK) , intent(in) , contiguous :: instance(:)
8760 logical(LK) , intent(in) :: sorted
8761 logical(LK) , intent(in) :: positive
8762 integer(IK) , intent(in) :: blindness
8763 integer(IK) , intent(inout) , allocatable :: loc(:)
8764 integer(IK) , intent(out) :: nloc
8765 end subroutine
8766#endif
8767
8768#if SK4_ENABLED
8769 PURE module subroutine setLocDefComCusIns_D1_D0_SK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8770#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8771 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_SK4
8772#endif
8773 use pm_kind, only: SKG => SK4
8774 character(*,SKG) , intent(in) , contiguous :: array(:)
8775 character(*,SKG) , intent(in) :: pattern
8776 integer(IK) , intent(in) , contiguous :: instance(:)
8777 logical(LK) , intent(in) :: sorted
8778 logical(LK) , intent(in) :: positive
8779 integer(IK) , intent(in) :: blindness
8780 integer(IK) , intent(inout) , allocatable :: loc(:)
8781 integer(IK) , intent(out) :: nloc
8782 end subroutine
8783#endif
8784
8785#if SK3_ENABLED
8786 PURE module subroutine setLocDefComCusIns_D1_D0_SK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8788 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_SK3
8789#endif
8790 use pm_kind, only: SKG => SK3
8791 character(*,SKG) , intent(in) , contiguous :: array(:)
8792 character(*,SKG) , intent(in) :: pattern
8793 integer(IK) , intent(in) , contiguous :: instance(:)
8794 logical(LK) , intent(in) :: sorted
8795 logical(LK) , intent(in) :: positive
8796 integer(IK) , intent(in) :: blindness
8797 integer(IK) , intent(inout) , allocatable :: loc(:)
8798 integer(IK) , intent(out) :: nloc
8799 end subroutine
8800#endif
8801
8802#if SK2_ENABLED
8803 PURE module subroutine setLocDefComCusIns_D1_D0_SK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8805 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_SK2
8806#endif
8807 use pm_kind, only: SKG => SK2
8808 character(*,SKG) , intent(in) , contiguous :: array(:)
8809 character(*,SKG) , intent(in) :: pattern
8810 integer(IK) , intent(in) , contiguous :: instance(:)
8811 logical(LK) , intent(in) :: sorted
8812 logical(LK) , intent(in) :: positive
8813 integer(IK) , intent(in) :: blindness
8814 integer(IK) , intent(inout) , allocatable :: loc(:)
8815 integer(IK) , intent(out) :: nloc
8816 end subroutine
8817#endif
8818
8819#if SK1_ENABLED
8820 PURE module subroutine setLocDefComCusIns_D1_D0_SK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8822 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_SK1
8823#endif
8824 use pm_kind, only: SKG => SK1
8825 character(*,SKG) , intent(in) , contiguous :: array(:)
8826 character(*,SKG) , intent(in) :: pattern
8827 integer(IK) , intent(in) , contiguous :: instance(:)
8828 logical(LK) , intent(in) :: sorted
8829 logical(LK) , intent(in) :: positive
8830 integer(IK) , intent(in) :: blindness
8831 integer(IK) , intent(inout) , allocatable :: loc(:)
8832 integer(IK) , intent(out) :: nloc
8833 end subroutine
8834#endif
8835
8836 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8837
8838#if IK5_ENABLED
8839 PURE module subroutine setLocDefComCusIns_D1_D0_IK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8841 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_IK5
8842#endif
8843 use pm_kind, only: IKG => IK5
8844 integer(IKG) , intent(in) , contiguous :: array(:)
8845 integer(IKG) , intent(in) :: pattern
8846 integer(IK) , intent(in) , contiguous :: instance(:)
8847 logical(LK) , intent(in) :: sorted
8848 logical(LK) , intent(in) :: positive
8849 integer(IK) , intent(in) :: blindness
8850 integer(IK) , intent(inout) , allocatable :: loc(:)
8851 integer(IK) , intent(out) :: nloc
8852 end subroutine
8853#endif
8854
8855#if IK4_ENABLED
8856 PURE module subroutine setLocDefComCusIns_D1_D0_IK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8858 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_IK4
8859#endif
8860 use pm_kind, only: IKG => IK4
8861 integer(IKG) , intent(in) , contiguous :: array(:)
8862 integer(IKG) , intent(in) :: pattern
8863 integer(IK) , intent(in) , contiguous :: instance(:)
8864 logical(LK) , intent(in) :: sorted
8865 logical(LK) , intent(in) :: positive
8866 integer(IK) , intent(in) :: blindness
8867 integer(IK) , intent(inout) , allocatable :: loc(:)
8868 integer(IK) , intent(out) :: nloc
8869 end subroutine
8870#endif
8871
8872#if IK3_ENABLED
8873 PURE module subroutine setLocDefComCusIns_D1_D0_IK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8875 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_IK3
8876#endif
8877 use pm_kind, only: IKG => IK3
8878 integer(IKG) , intent(in) , contiguous :: array(:)
8879 integer(IKG) , intent(in) :: pattern
8880 integer(IK) , intent(in) , contiguous :: instance(:)
8881 logical(LK) , intent(in) :: sorted
8882 logical(LK) , intent(in) :: positive
8883 integer(IK) , intent(in) :: blindness
8884 integer(IK) , intent(inout) , allocatable :: loc(:)
8885 integer(IK) , intent(out) :: nloc
8886 end subroutine
8887#endif
8888
8889#if IK2_ENABLED
8890 PURE module subroutine setLocDefComCusIns_D1_D0_IK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8892 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_IK2
8893#endif
8894 use pm_kind, only: IKG => IK2
8895 integer(IKG) , intent(in) , contiguous :: array(:)
8896 integer(IKG) , intent(in) :: pattern
8897 integer(IK) , intent(in) , contiguous :: instance(:)
8898 logical(LK) , intent(in) :: sorted
8899 logical(LK) , intent(in) :: positive
8900 integer(IK) , intent(in) :: blindness
8901 integer(IK) , intent(inout) , allocatable :: loc(:)
8902 integer(IK) , intent(out) :: nloc
8903 end subroutine
8904#endif
8905
8906#if IK1_ENABLED
8907 PURE module subroutine setLocDefComCusIns_D1_D0_IK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8908#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8909 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_IK1
8910#endif
8911 use pm_kind, only: IKG => IK1
8912 integer(IKG) , intent(in) , contiguous :: array(:)
8913 integer(IKG) , intent(in) :: pattern
8914 integer(IK) , intent(in) , contiguous :: instance(:)
8915 logical(LK) , intent(in) :: sorted
8916 logical(LK) , intent(in) :: positive
8917 integer(IK) , intent(in) :: blindness
8918 integer(IK) , intent(inout) , allocatable :: loc(:)
8919 integer(IK) , intent(out) :: nloc
8920 end subroutine
8921#endif
8922
8923 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8924
8925#if LK5_ENABLED
8926 PURE module subroutine setLocDefComCusIns_D1_D0_LK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8927#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8928 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_LK5
8929#endif
8930 use pm_kind, only: LKG => LK5
8931 logical(LKG) , intent(in) , contiguous :: array(:)
8932 logical(LKG) , intent(in) :: pattern
8933 integer(IK) , intent(in) , contiguous :: instance(:)
8934 logical(LK) , intent(in) :: sorted
8935 logical(LK) , intent(in) :: positive
8936 integer(IK) , intent(in) :: blindness
8937 integer(IK) , intent(inout) , allocatable :: loc(:)
8938 integer(IK) , intent(out) :: nloc
8939 end subroutine
8940#endif
8941
8942#if LK4_ENABLED
8943 PURE module subroutine setLocDefComCusIns_D1_D0_LK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8944#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8945 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_LK4
8946#endif
8947 use pm_kind, only: LKG => LK4
8948 logical(LKG) , intent(in) , contiguous :: array(:)
8949 logical(LKG) , intent(in) :: pattern
8950 integer(IK) , intent(in) , contiguous :: instance(:)
8951 logical(LK) , intent(in) :: sorted
8952 logical(LK) , intent(in) :: positive
8953 integer(IK) , intent(in) :: blindness
8954 integer(IK) , intent(inout) , allocatable :: loc(:)
8955 integer(IK) , intent(out) :: nloc
8956 end subroutine
8957#endif
8958
8959#if LK3_ENABLED
8960 PURE module subroutine setLocDefComCusIns_D1_D0_LK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8962 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_LK3
8963#endif
8964 use pm_kind, only: LKG => LK3
8965 logical(LKG) , intent(in) , contiguous :: array(:)
8966 logical(LKG) , intent(in) :: pattern
8967 integer(IK) , intent(in) , contiguous :: instance(:)
8968 logical(LK) , intent(in) :: sorted
8969 logical(LK) , intent(in) :: positive
8970 integer(IK) , intent(in) :: blindness
8971 integer(IK) , intent(inout) , allocatable :: loc(:)
8972 integer(IK) , intent(out) :: nloc
8973 end subroutine
8974#endif
8975
8976#if LK2_ENABLED
8977 PURE module subroutine setLocDefComCusIns_D1_D0_LK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8979 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_LK2
8980#endif
8981 use pm_kind, only: LKG => LK2
8982 logical(LKG) , intent(in) , contiguous :: array(:)
8983 logical(LKG) , intent(in) :: pattern
8984 integer(IK) , intent(in) , contiguous :: instance(:)
8985 logical(LK) , intent(in) :: sorted
8986 logical(LK) , intent(in) :: positive
8987 integer(IK) , intent(in) :: blindness
8988 integer(IK) , intent(inout) , allocatable :: loc(:)
8989 integer(IK) , intent(out) :: nloc
8990 end subroutine
8991#endif
8992
8993#if LK1_ENABLED
8994 PURE module subroutine setLocDefComCusIns_D1_D0_LK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
8995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8996 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_LK1
8997#endif
8998 use pm_kind, only: LKG => LK1
8999 logical(LKG) , intent(in) , contiguous :: array(:)
9000 logical(LKG) , intent(in) :: pattern
9001 integer(IK) , intent(in) , contiguous :: instance(:)
9002 logical(LK) , intent(in) :: sorted
9003 logical(LK) , intent(in) :: positive
9004 integer(IK) , intent(in) :: blindness
9005 integer(IK) , intent(inout) , allocatable :: loc(:)
9006 integer(IK) , intent(out) :: nloc
9007 end subroutine
9008#endif
9009
9010 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9011
9012#if CK5_ENABLED
9013 PURE module subroutine setLocDefComCusIns_D1_D0_CK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9015 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_CK5
9016#endif
9017 use pm_kind, only: CKG => CK5
9018 complex(CKG) , intent(in) , contiguous :: array(:)
9019 complex(CKG) , intent(in) :: pattern
9020 integer(IK) , intent(in) , contiguous :: instance(:)
9021 logical(LK) , intent(in) :: sorted
9022 logical(LK) , intent(in) :: positive
9023 integer(IK) , intent(in) :: blindness
9024 integer(IK) , intent(inout) , allocatable :: loc(:)
9025 integer(IK) , intent(out) :: nloc
9026 end subroutine
9027#endif
9028
9029#if CK4_ENABLED
9030 PURE module subroutine setLocDefComCusIns_D1_D0_CK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9031#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9032 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_CK4
9033#endif
9034 use pm_kind, only: CKG => CK4
9035 complex(CKG) , intent(in) , contiguous :: array(:)
9036 complex(CKG) , intent(in) :: pattern
9037 integer(IK) , intent(in) , contiguous :: instance(:)
9038 logical(LK) , intent(in) :: sorted
9039 logical(LK) , intent(in) :: positive
9040 integer(IK) , intent(in) :: blindness
9041 integer(IK) , intent(inout) , allocatable :: loc(:)
9042 integer(IK) , intent(out) :: nloc
9043 end subroutine
9044#endif
9045
9046#if CK3_ENABLED
9047 PURE module subroutine setLocDefComCusIns_D1_D0_CK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9048#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9049 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_CK3
9050#endif
9051 use pm_kind, only: CKG => CK3
9052 complex(CKG) , intent(in) , contiguous :: array(:)
9053 complex(CKG) , intent(in) :: pattern
9054 integer(IK) , intent(in) , contiguous :: instance(:)
9055 logical(LK) , intent(in) :: sorted
9056 logical(LK) , intent(in) :: positive
9057 integer(IK) , intent(in) :: blindness
9058 integer(IK) , intent(inout) , allocatable :: loc(:)
9059 integer(IK) , intent(out) :: nloc
9060 end subroutine
9061#endif
9062
9063#if CK2_ENABLED
9064 PURE module subroutine setLocDefComCusIns_D1_D0_CK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9066 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_CK2
9067#endif
9068 use pm_kind, only: CKG => CK2
9069 complex(CKG) , intent(in) , contiguous :: array(:)
9070 complex(CKG) , intent(in) :: pattern
9071 integer(IK) , intent(in) , contiguous :: instance(:)
9072 logical(LK) , intent(in) :: sorted
9073 logical(LK) , intent(in) :: positive
9074 integer(IK) , intent(in) :: blindness
9075 integer(IK) , intent(inout) , allocatable :: loc(:)
9076 integer(IK) , intent(out) :: nloc
9077 end subroutine
9078#endif
9079
9080#if CK1_ENABLED
9081 PURE module subroutine setLocDefComCusIns_D1_D0_CK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9083 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_CK1
9084#endif
9085 use pm_kind, only: CKG => CK1
9086 complex(CKG) , intent(in) , contiguous :: array(:)
9087 complex(CKG) , intent(in) :: pattern
9088 integer(IK) , intent(in) , contiguous :: instance(:)
9089 logical(LK) , intent(in) :: sorted
9090 logical(LK) , intent(in) :: positive
9091 integer(IK) , intent(in) :: blindness
9092 integer(IK) , intent(inout) , allocatable :: loc(:)
9093 integer(IK) , intent(out) :: nloc
9094 end subroutine
9095#endif
9096
9097 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9098
9099#if RK5_ENABLED
9100 PURE module subroutine setLocDefComCusIns_D1_D0_RK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9102 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_RK5
9103#endif
9104 use pm_kind, only: RKG => RK5
9105 real(RKG) , intent(in) , contiguous :: array(:)
9106 real(RKG) , intent(in) :: pattern
9107 integer(IK) , intent(in) , contiguous :: instance(:)
9108 logical(LK) , intent(in) :: sorted
9109 logical(LK) , intent(in) :: positive
9110 integer(IK) , intent(in) :: blindness
9111 integer(IK) , intent(inout) , allocatable :: loc(:)
9112 integer(IK) , intent(out) :: nloc
9113 end subroutine
9114#endif
9115
9116#if RK4_ENABLED
9117 PURE module subroutine setLocDefComCusIns_D1_D0_RK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9119 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_RK4
9120#endif
9121 use pm_kind, only: RKG => RK4
9122 real(RKG) , intent(in) , contiguous :: array(:)
9123 real(RKG) , intent(in) :: pattern
9124 integer(IK) , intent(in) , contiguous :: instance(:)
9125 logical(LK) , intent(in) :: sorted
9126 logical(LK) , intent(in) :: positive
9127 integer(IK) , intent(in) :: blindness
9128 integer(IK) , intent(inout) , allocatable :: loc(:)
9129 integer(IK) , intent(out) :: nloc
9130 end subroutine
9131#endif
9132
9133#if RK3_ENABLED
9134 PURE module subroutine setLocDefComCusIns_D1_D0_RK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9136 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_RK3
9137#endif
9138 use pm_kind, only: RKG => RK3
9139 real(RKG) , intent(in) , contiguous :: array(:)
9140 real(RKG) , intent(in) :: pattern
9141 integer(IK) , intent(in) , contiguous :: instance(:)
9142 logical(LK) , intent(in) :: sorted
9143 logical(LK) , intent(in) :: positive
9144 integer(IK) , intent(in) :: blindness
9145 integer(IK) , intent(inout) , allocatable :: loc(:)
9146 integer(IK) , intent(out) :: nloc
9147 end subroutine
9148#endif
9149
9150#if RK2_ENABLED
9151 PURE module subroutine setLocDefComCusIns_D1_D0_RK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9152#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9153 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_RK2
9154#endif
9155 use pm_kind, only: RKG => RK2
9156 real(RKG) , intent(in) , contiguous :: array(:)
9157 real(RKG) , intent(in) :: pattern
9158 integer(IK) , intent(in) , contiguous :: instance(:)
9159 logical(LK) , intent(in) :: sorted
9160 logical(LK) , intent(in) :: positive
9161 integer(IK) , intent(in) :: blindness
9162 integer(IK) , intent(inout) , allocatable :: loc(:)
9163 integer(IK) , intent(out) :: nloc
9164 end subroutine
9165#endif
9166
9167#if RK1_ENABLED
9168 PURE module subroutine setLocDefComCusIns_D1_D0_RK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
9169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9170 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D0_RK1
9171#endif
9172 use pm_kind, only: RKG => RK1
9173 real(RKG) , intent(in) , contiguous :: array(:)
9174 real(RKG) , intent(in) :: pattern
9175 integer(IK) , intent(in) , contiguous :: instance(:)
9176 logical(LK) , intent(in) :: sorted
9177 logical(LK) , intent(in) :: positive
9178 integer(IK) , intent(in) :: blindness
9179 integer(IK) , intent(inout) , allocatable :: loc(:)
9180 integer(IK) , intent(out) :: nloc
9181 end subroutine
9182#endif
9183
9184 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9185
9186 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9187 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9188 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9189
9190 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9191
9192#if SK5_ENABLED
9193 module subroutine setLocCusComCusIns_D1_D0_SK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9195 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_SK5
9196#endif
9197 use pm_kind, only: SKG => SK5
9198 character(*,SKG) , intent(in) , contiguous :: array(:)
9199 character(*,SKG) , intent(in) :: pattern
9200 procedure(logical(LK)) :: iseq
9201 integer(IK) , intent(in) , contiguous :: instance(:)
9202 logical(LK) , intent(in) :: sorted
9203 logical(LK) , intent(in) :: positive
9204 integer(IK) , intent(in) :: blindness
9205 integer(IK) , intent(inout) , allocatable :: loc(:)
9206 integer(IK) , intent(out) :: nloc
9207 end subroutine
9208#endif
9209
9210#if SK4_ENABLED
9211 module subroutine setLocCusComCusIns_D1_D0_SK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9213 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_SK4
9214#endif
9215 use pm_kind, only: SKG => SK4
9216 character(*,SKG) , intent(in) , contiguous :: array(:)
9217 character(*,SKG) , intent(in) :: pattern
9218 procedure(logical(LK)) :: iseq
9219 integer(IK) , intent(in) , contiguous :: instance(:)
9220 logical(LK) , intent(in) :: sorted
9221 logical(LK) , intent(in) :: positive
9222 integer(IK) , intent(in) :: blindness
9223 integer(IK) , intent(inout) , allocatable :: loc(:)
9224 integer(IK) , intent(out) :: nloc
9225 end subroutine
9226#endif
9227
9228#if SK3_ENABLED
9229 module subroutine setLocCusComCusIns_D1_D0_SK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9231 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_SK3
9232#endif
9233 use pm_kind, only: SKG => SK3
9234 character(*,SKG) , intent(in) , contiguous :: array(:)
9235 character(*,SKG) , intent(in) :: pattern
9236 procedure(logical(LK)) :: iseq
9237 integer(IK) , intent(in) , contiguous :: instance(:)
9238 logical(LK) , intent(in) :: sorted
9239 logical(LK) , intent(in) :: positive
9240 integer(IK) , intent(in) :: blindness
9241 integer(IK) , intent(inout) , allocatable :: loc(:)
9242 integer(IK) , intent(out) :: nloc
9243 end subroutine
9244#endif
9245
9246#if SK2_ENABLED
9247 module subroutine setLocCusComCusIns_D1_D0_SK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9249 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_SK2
9250#endif
9251 use pm_kind, only: SKG => SK2
9252 character(*,SKG) , intent(in) , contiguous :: array(:)
9253 character(*,SKG) , intent(in) :: pattern
9254 procedure(logical(LK)) :: iseq
9255 integer(IK) , intent(in) , contiguous :: instance(:)
9256 logical(LK) , intent(in) :: sorted
9257 logical(LK) , intent(in) :: positive
9258 integer(IK) , intent(in) :: blindness
9259 integer(IK) , intent(inout) , allocatable :: loc(:)
9260 integer(IK) , intent(out) :: nloc
9261 end subroutine
9262#endif
9263
9264#if SK1_ENABLED
9265 module subroutine setLocCusComCusIns_D1_D0_SK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9267 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_SK1
9268#endif
9269 use pm_kind, only: SKG => SK1
9270 character(*,SKG) , intent(in) , contiguous :: array(:)
9271 character(*,SKG) , intent(in) :: pattern
9272 procedure(logical(LK)) :: iseq
9273 integer(IK) , intent(in) , contiguous :: instance(:)
9274 logical(LK) , intent(in) :: sorted
9275 logical(LK) , intent(in) :: positive
9276 integer(IK) , intent(in) :: blindness
9277 integer(IK) , intent(inout) , allocatable :: loc(:)
9278 integer(IK) , intent(out) :: nloc
9279 end subroutine
9280#endif
9281
9282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9283
9284#if IK5_ENABLED
9285 module subroutine setLocCusComCusIns_D1_D0_IK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9287 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_IK5
9288#endif
9289 use pm_kind, only: IKG => IK5
9290 integer(IKG) , intent(in) , contiguous :: array(:)
9291 integer(IKG) , intent(in) :: pattern
9292 procedure(logical(LK)) :: iseq
9293 integer(IK) , intent(in) , contiguous :: instance(:)
9294 logical(LK) , intent(in) :: sorted
9295 logical(LK) , intent(in) :: positive
9296 integer(IK) , intent(in) :: blindness
9297 integer(IK) , intent(inout) , allocatable :: loc(:)
9298 integer(IK) , intent(out) :: nloc
9299 end subroutine
9300#endif
9301
9302#if IK4_ENABLED
9303 module subroutine setLocCusComCusIns_D1_D0_IK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9304#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9305 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_IK4
9306#endif
9307 use pm_kind, only: IKG => IK4
9308 integer(IKG) , intent(in) , contiguous :: array(:)
9309 integer(IKG) , intent(in) :: pattern
9310 procedure(logical(LK)) :: iseq
9311 integer(IK) , intent(in) , contiguous :: instance(:)
9312 logical(LK) , intent(in) :: sorted
9313 logical(LK) , intent(in) :: positive
9314 integer(IK) , intent(in) :: blindness
9315 integer(IK) , intent(inout) , allocatable :: loc(:)
9316 integer(IK) , intent(out) :: nloc
9317 end subroutine
9318#endif
9319
9320#if IK3_ENABLED
9321 module subroutine setLocCusComCusIns_D1_D0_IK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9323 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_IK3
9324#endif
9325 use pm_kind, only: IKG => IK3
9326 integer(IKG) , intent(in) , contiguous :: array(:)
9327 integer(IKG) , intent(in) :: pattern
9328 procedure(logical(LK)) :: iseq
9329 integer(IK) , intent(in) , contiguous :: instance(:)
9330 logical(LK) , intent(in) :: sorted
9331 logical(LK) , intent(in) :: positive
9332 integer(IK) , intent(in) :: blindness
9333 integer(IK) , intent(inout) , allocatable :: loc(:)
9334 integer(IK) , intent(out) :: nloc
9335 end subroutine
9336#endif
9337
9338#if IK2_ENABLED
9339 module subroutine setLocCusComCusIns_D1_D0_IK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9341 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_IK2
9342#endif
9343 use pm_kind, only: IKG => IK2
9344 integer(IKG) , intent(in) , contiguous :: array(:)
9345 integer(IKG) , intent(in) :: pattern
9346 procedure(logical(LK)) :: iseq
9347 integer(IK) , intent(in) , contiguous :: instance(:)
9348 logical(LK) , intent(in) :: sorted
9349 logical(LK) , intent(in) :: positive
9350 integer(IK) , intent(in) :: blindness
9351 integer(IK) , intent(inout) , allocatable :: loc(:)
9352 integer(IK) , intent(out) :: nloc
9353 end subroutine
9354#endif
9355
9356#if IK1_ENABLED
9357 module subroutine setLocCusComCusIns_D1_D0_IK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9359 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_IK1
9360#endif
9361 use pm_kind, only: IKG => IK1
9362 integer(IKG) , intent(in) , contiguous :: array(:)
9363 integer(IKG) , intent(in) :: pattern
9364 procedure(logical(LK)) :: iseq
9365 integer(IK) , intent(in) , contiguous :: instance(:)
9366 logical(LK) , intent(in) :: sorted
9367 logical(LK) , intent(in) :: positive
9368 integer(IK) , intent(in) :: blindness
9369 integer(IK) , intent(inout) , allocatable :: loc(:)
9370 integer(IK) , intent(out) :: nloc
9371 end subroutine
9372#endif
9373
9374 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9375
9376#if LK5_ENABLED
9377 module subroutine setLocCusComCusIns_D1_D0_LK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9379 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_LK5
9380#endif
9381 use pm_kind, only: LKG => LK5
9382 logical(LKG) , intent(in) , contiguous :: array(:)
9383 logical(LKG) , intent(in) :: pattern
9384 procedure(logical(LK)) :: iseq
9385 integer(IK) , intent(in) , contiguous :: instance(:)
9386 logical(LK) , intent(in) :: sorted
9387 logical(LK) , intent(in) :: positive
9388 integer(IK) , intent(in) :: blindness
9389 integer(IK) , intent(inout) , allocatable :: loc(:)
9390 integer(IK) , intent(out) :: nloc
9391 end subroutine
9392#endif
9393
9394#if LK4_ENABLED
9395 module subroutine setLocCusComCusIns_D1_D0_LK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9397 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_LK4
9398#endif
9399 use pm_kind, only: LKG => LK4
9400 logical(LKG) , intent(in) , contiguous :: array(:)
9401 logical(LKG) , intent(in) :: pattern
9402 procedure(logical(LK)) :: iseq
9403 integer(IK) , intent(in) , contiguous :: instance(:)
9404 logical(LK) , intent(in) :: sorted
9405 logical(LK) , intent(in) :: positive
9406 integer(IK) , intent(in) :: blindness
9407 integer(IK) , intent(inout) , allocatable :: loc(:)
9408 integer(IK) , intent(out) :: nloc
9409 end subroutine
9410#endif
9411
9412#if LK3_ENABLED
9413 module subroutine setLocCusComCusIns_D1_D0_LK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9415 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_LK3
9416#endif
9417 use pm_kind, only: LKG => LK3
9418 logical(LKG) , intent(in) , contiguous :: array(:)
9419 logical(LKG) , intent(in) :: pattern
9420 procedure(logical(LK)) :: iseq
9421 integer(IK) , intent(in) , contiguous :: instance(:)
9422 logical(LK) , intent(in) :: sorted
9423 logical(LK) , intent(in) :: positive
9424 integer(IK) , intent(in) :: blindness
9425 integer(IK) , intent(inout) , allocatable :: loc(:)
9426 integer(IK) , intent(out) :: nloc
9427 end subroutine
9428#endif
9429
9430#if LK2_ENABLED
9431 module subroutine setLocCusComCusIns_D1_D0_LK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9432#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9433 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_LK2
9434#endif
9435 use pm_kind, only: LKG => LK2
9436 logical(LKG) , intent(in) , contiguous :: array(:)
9437 logical(LKG) , intent(in) :: pattern
9438 procedure(logical(LK)) :: iseq
9439 integer(IK) , intent(in) , contiguous :: instance(:)
9440 logical(LK) , intent(in) :: sorted
9441 logical(LK) , intent(in) :: positive
9442 integer(IK) , intent(in) :: blindness
9443 integer(IK) , intent(inout) , allocatable :: loc(:)
9444 integer(IK) , intent(out) :: nloc
9445 end subroutine
9446#endif
9447
9448#if LK1_ENABLED
9449 module subroutine setLocCusComCusIns_D1_D0_LK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9451 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_LK1
9452#endif
9453 use pm_kind, only: LKG => LK1
9454 logical(LKG) , intent(in) , contiguous :: array(:)
9455 logical(LKG) , intent(in) :: pattern
9456 procedure(logical(LK)) :: iseq
9457 integer(IK) , intent(in) , contiguous :: instance(:)
9458 logical(LK) , intent(in) :: sorted
9459 logical(LK) , intent(in) :: positive
9460 integer(IK) , intent(in) :: blindness
9461 integer(IK) , intent(inout) , allocatable :: loc(:)
9462 integer(IK) , intent(out) :: nloc
9463 end subroutine
9464#endif
9465
9466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9467
9468#if CK5_ENABLED
9469 module subroutine setLocCusComCusIns_D1_D0_CK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9471 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_CK5
9472#endif
9473 use pm_kind, only: CKG => CK5
9474 complex(CKG) , intent(in) , contiguous :: array(:)
9475 complex(CKG) , intent(in) :: pattern
9476 procedure(logical(LK)) :: iseq
9477 integer(IK) , intent(in) , contiguous :: instance(:)
9478 logical(LK) , intent(in) :: sorted
9479 logical(LK) , intent(in) :: positive
9480 integer(IK) , intent(in) :: blindness
9481 integer(IK) , intent(inout) , allocatable :: loc(:)
9482 integer(IK) , intent(out) :: nloc
9483 end subroutine
9484#endif
9485
9486#if CK4_ENABLED
9487 module subroutine setLocCusComCusIns_D1_D0_CK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9488#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9489 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_CK4
9490#endif
9491 use pm_kind, only: CKG => CK4
9492 complex(CKG) , intent(in) , contiguous :: array(:)
9493 complex(CKG) , intent(in) :: pattern
9494 procedure(logical(LK)) :: iseq
9495 integer(IK) , intent(in) , contiguous :: instance(:)
9496 logical(LK) , intent(in) :: sorted
9497 logical(LK) , intent(in) :: positive
9498 integer(IK) , intent(in) :: blindness
9499 integer(IK) , intent(inout) , allocatable :: loc(:)
9500 integer(IK) , intent(out) :: nloc
9501 end subroutine
9502#endif
9503
9504#if CK3_ENABLED
9505 module subroutine setLocCusComCusIns_D1_D0_CK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9507 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_CK3
9508#endif
9509 use pm_kind, only: CKG => CK3
9510 complex(CKG) , intent(in) , contiguous :: array(:)
9511 complex(CKG) , intent(in) :: pattern
9512 procedure(logical(LK)) :: iseq
9513 integer(IK) , intent(in) , contiguous :: instance(:)
9514 logical(LK) , intent(in) :: sorted
9515 logical(LK) , intent(in) :: positive
9516 integer(IK) , intent(in) :: blindness
9517 integer(IK) , intent(inout) , allocatable :: loc(:)
9518 integer(IK) , intent(out) :: nloc
9519 end subroutine
9520#endif
9521
9522#if CK2_ENABLED
9523 module subroutine setLocCusComCusIns_D1_D0_CK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9525 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_CK2
9526#endif
9527 use pm_kind, only: CKG => CK2
9528 complex(CKG) , intent(in) , contiguous :: array(:)
9529 complex(CKG) , intent(in) :: pattern
9530 procedure(logical(LK)) :: iseq
9531 integer(IK) , intent(in) , contiguous :: instance(:)
9532 logical(LK) , intent(in) :: sorted
9533 logical(LK) , intent(in) :: positive
9534 integer(IK) , intent(in) :: blindness
9535 integer(IK) , intent(inout) , allocatable :: loc(:)
9536 integer(IK) , intent(out) :: nloc
9537 end subroutine
9538#endif
9539
9540#if CK1_ENABLED
9541 module subroutine setLocCusComCusIns_D1_D0_CK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9543 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_CK1
9544#endif
9545 use pm_kind, only: CKG => CK1
9546 complex(CKG) , intent(in) , contiguous :: array(:)
9547 complex(CKG) , intent(in) :: pattern
9548 procedure(logical(LK)) :: iseq
9549 integer(IK) , intent(in) , contiguous :: instance(:)
9550 logical(LK) , intent(in) :: sorted
9551 logical(LK) , intent(in) :: positive
9552 integer(IK) , intent(in) :: blindness
9553 integer(IK) , intent(inout) , allocatable :: loc(:)
9554 integer(IK) , intent(out) :: nloc
9555 end subroutine
9556#endif
9557
9558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9559
9560#if RK5_ENABLED
9561 module subroutine setLocCusComCusIns_D1_D0_RK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9563 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_RK5
9564#endif
9565 use pm_kind, only: RKG => RK5
9566 real(RKG) , intent(in) , contiguous :: array(:)
9567 real(RKG) , intent(in) :: pattern
9568 procedure(logical(LK)) :: iseq
9569 integer(IK) , intent(in) , contiguous :: instance(:)
9570 logical(LK) , intent(in) :: sorted
9571 logical(LK) , intent(in) :: positive
9572 integer(IK) , intent(in) :: blindness
9573 integer(IK) , intent(inout) , allocatable :: loc(:)
9574 integer(IK) , intent(out) :: nloc
9575 end subroutine
9576#endif
9577
9578#if RK4_ENABLED
9579 module subroutine setLocCusComCusIns_D1_D0_RK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9581 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_RK4
9582#endif
9583 use pm_kind, only: RKG => RK4
9584 real(RKG) , intent(in) , contiguous :: array(:)
9585 real(RKG) , intent(in) :: pattern
9586 procedure(logical(LK)) :: iseq
9587 integer(IK) , intent(in) , contiguous :: instance(:)
9588 logical(LK) , intent(in) :: sorted
9589 logical(LK) , intent(in) :: positive
9590 integer(IK) , intent(in) :: blindness
9591 integer(IK) , intent(inout) , allocatable :: loc(:)
9592 integer(IK) , intent(out) :: nloc
9593 end subroutine
9594#endif
9595
9596#if RK3_ENABLED
9597 module subroutine setLocCusComCusIns_D1_D0_RK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9599 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_RK3
9600#endif
9601 use pm_kind, only: RKG => RK3
9602 real(RKG) , intent(in) , contiguous :: array(:)
9603 real(RKG) , intent(in) :: pattern
9604 procedure(logical(LK)) :: iseq
9605 integer(IK) , intent(in) , contiguous :: instance(:)
9606 logical(LK) , intent(in) :: sorted
9607 logical(LK) , intent(in) :: positive
9608 integer(IK) , intent(in) :: blindness
9609 integer(IK) , intent(inout) , allocatable :: loc(:)
9610 integer(IK) , intent(out) :: nloc
9611 end subroutine
9612#endif
9613
9614#if RK2_ENABLED
9615 module subroutine setLocCusComCusIns_D1_D0_RK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9617 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_RK2
9618#endif
9619 use pm_kind, only: RKG => RK2
9620 real(RKG) , intent(in) , contiguous :: array(:)
9621 real(RKG) , intent(in) :: pattern
9622 procedure(logical(LK)) :: iseq
9623 integer(IK) , intent(in) , contiguous :: instance(:)
9624 logical(LK) , intent(in) :: sorted
9625 logical(LK) , intent(in) :: positive
9626 integer(IK) , intent(in) :: blindness
9627 integer(IK) , intent(inout) , allocatable :: loc(:)
9628 integer(IK) , intent(out) :: nloc
9629 end subroutine
9630#endif
9631
9632#if RK1_ENABLED
9633 module subroutine setLocCusComCusIns_D1_D0_RK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
9634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9635 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D0_RK1
9636#endif
9637 use pm_kind, only: RKG => RK1
9638 real(RKG) , intent(in) , contiguous :: array(:)
9639 real(RKG) , intent(in) :: pattern
9640 procedure(logical(LK)) :: iseq
9641 integer(IK) , intent(in) , contiguous :: instance(:)
9642 logical(LK) , intent(in) :: sorted
9643 logical(LK) , intent(in) :: positive
9644 integer(IK) , intent(in) :: blindness
9645 integer(IK) , intent(inout) , allocatable :: loc(:)
9646 integer(IK) , intent(out) :: nloc
9647 end subroutine
9648#endif
9649
9650 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9651
9652 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9653 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9655
9656 end interface
9657
9658 ! D1_D1
9659
9660 interface setLoc
9661
9662 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9663 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9664 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9665
9666 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9667
9668#if SK5_ENABLED
9669 PURE module subroutine setLocDefComDefIns_D1_D1_SK5(loc, nloc, array, pattern, blindness)
9670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9671 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_SK5
9672#endif
9673 use pm_kind, only: SKG => SK5
9674 character(*,SKG) , intent(in) , contiguous :: array(:)
9675 character(*,SKG) , intent(in) , contiguous :: pattern(:)
9676 integer(IK) , intent(in) , optional :: blindness
9677 integer(IK) , intent(inout) , allocatable :: loc(:)
9678 integer(IK) , intent(out) :: nloc
9679 end subroutine
9680#endif
9681
9682#if SK4_ENABLED
9683 PURE module subroutine setLocDefComDefIns_D1_D1_SK4(loc, nloc, array, pattern, blindness)
9684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9685 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_SK4
9686#endif
9687 use pm_kind, only: SKG => SK4
9688 character(*,SKG) , intent(in) , contiguous :: array(:)
9689 character(*,SKG) , intent(in) , contiguous :: pattern(:)
9690 integer(IK) , intent(in) , optional :: blindness
9691 integer(IK) , intent(inout) , allocatable :: loc(:)
9692 integer(IK) , intent(out) :: nloc
9693 end subroutine
9694#endif
9695
9696#if SK3_ENABLED
9697 PURE module subroutine setLocDefComDefIns_D1_D1_SK3(loc, nloc, array, pattern, blindness)
9698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9699 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_SK3
9700#endif
9701 use pm_kind, only: SKG => SK3
9702 character(*,SKG) , intent(in) , contiguous :: array(:)
9703 character(*,SKG) , intent(in) , contiguous :: pattern(:)
9704 integer(IK) , intent(in) , optional :: blindness
9705 integer(IK) , intent(inout) , allocatable :: loc(:)
9706 integer(IK) , intent(out) :: nloc
9707 end subroutine
9708#endif
9709
9710#if SK2_ENABLED
9711 PURE module subroutine setLocDefComDefIns_D1_D1_SK2(loc, nloc, array, pattern, blindness)
9712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9713 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_SK2
9714#endif
9715 use pm_kind, only: SKG => SK2
9716 character(*,SKG) , intent(in) , contiguous :: array(:)
9717 character(*,SKG) , intent(in) , contiguous :: pattern(:)
9718 integer(IK) , intent(in) , optional :: blindness
9719 integer(IK) , intent(inout) , allocatable :: loc(:)
9720 integer(IK) , intent(out) :: nloc
9721 end subroutine
9722#endif
9723
9724#if SK1_ENABLED
9725 PURE module subroutine setLocDefComDefIns_D1_D1_SK1(loc, nloc, array, pattern, blindness)
9726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9727 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_SK1
9728#endif
9729 use pm_kind, only: SKG => SK1
9730 character(*,SKG) , intent(in) , contiguous :: array(:)
9731 character(*,SKG) , intent(in) , contiguous :: pattern(:)
9732 integer(IK) , intent(in) , optional :: blindness
9733 integer(IK) , intent(inout) , allocatable :: loc(:)
9734 integer(IK) , intent(out) :: nloc
9735 end subroutine
9736#endif
9737
9738 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9739
9740#if IK5_ENABLED
9741 PURE module subroutine setLocDefComDefIns_D1_D1_IK5(loc, nloc, array, pattern, blindness)
9742#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9743 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_IK5
9744#endif
9745 use pm_kind, only: IKG => IK5
9746 integer(IKG) , intent(in) , contiguous :: array(:)
9747 integer(IKG) , intent(in) , contiguous :: pattern(:)
9748 integer(IK) , intent(in) , optional :: blindness
9749 integer(IK) , intent(inout) , allocatable :: loc(:)
9750 integer(IK) , intent(out) :: nloc
9751 end subroutine
9752#endif
9753
9754#if IK4_ENABLED
9755 PURE module subroutine setLocDefComDefIns_D1_D1_IK4(loc, nloc, array, pattern, blindness)
9756#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9757 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_IK4
9758#endif
9759 use pm_kind, only: IKG => IK4
9760 integer(IKG) , intent(in) , contiguous :: array(:)
9761 integer(IKG) , intent(in) , contiguous :: pattern(:)
9762 integer(IK) , intent(in) , optional :: blindness
9763 integer(IK) , intent(inout) , allocatable :: loc(:)
9764 integer(IK) , intent(out) :: nloc
9765 end subroutine
9766#endif
9767
9768#if IK3_ENABLED
9769 PURE module subroutine setLocDefComDefIns_D1_D1_IK3(loc, nloc, array, pattern, blindness)
9770#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9771 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_IK3
9772#endif
9773 use pm_kind, only: IKG => IK3
9774 integer(IKG) , intent(in) , contiguous :: array(:)
9775 integer(IKG) , intent(in) , contiguous :: pattern(:)
9776 integer(IK) , intent(in) , optional :: blindness
9777 integer(IK) , intent(inout) , allocatable :: loc(:)
9778 integer(IK) , intent(out) :: nloc
9779 end subroutine
9780#endif
9781
9782#if IK2_ENABLED
9783 PURE module subroutine setLocDefComDefIns_D1_D1_IK2(loc, nloc, array, pattern, blindness)
9784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9785 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_IK2
9786#endif
9787 use pm_kind, only: IKG => IK2
9788 integer(IKG) , intent(in) , contiguous :: array(:)
9789 integer(IKG) , intent(in) , contiguous :: pattern(:)
9790 integer(IK) , intent(in) , optional :: blindness
9791 integer(IK) , intent(inout) , allocatable :: loc(:)
9792 integer(IK) , intent(out) :: nloc
9793 end subroutine
9794#endif
9795
9796#if IK1_ENABLED
9797 PURE module subroutine setLocDefComDefIns_D1_D1_IK1(loc, nloc, array, pattern, blindness)
9798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9799 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_IK1
9800#endif
9801 use pm_kind, only: IKG => IK1
9802 integer(IKG) , intent(in) , contiguous :: array(:)
9803 integer(IKG) , intent(in) , contiguous :: pattern(:)
9804 integer(IK) , intent(in) , optional :: blindness
9805 integer(IK) , intent(inout) , allocatable :: loc(:)
9806 integer(IK) , intent(out) :: nloc
9807 end subroutine
9808#endif
9809
9810 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9811
9812#if LK5_ENABLED
9813 PURE module subroutine setLocDefComDefIns_D1_D1_LK5(loc, nloc, array, pattern, blindness)
9814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9815 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_LK5
9816#endif
9817 use pm_kind, only: LKG => LK5
9818 logical(LKG) , intent(in) , contiguous :: array(:)
9819 logical(LKG) , intent(in) , contiguous :: pattern(:)
9820 integer(IK) , intent(in) , optional :: blindness
9821 integer(IK) , intent(inout) , allocatable :: loc(:)
9822 integer(IK) , intent(out) :: nloc
9823 end subroutine
9824#endif
9825
9826#if LK4_ENABLED
9827 PURE module subroutine setLocDefComDefIns_D1_D1_LK4(loc, nloc, array, pattern, blindness)
9828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9829 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_LK4
9830#endif
9831 use pm_kind, only: LKG => LK4
9832 logical(LKG) , intent(in) , contiguous :: array(:)
9833 logical(LKG) , intent(in) , contiguous :: pattern(:)
9834 integer(IK) , intent(in) , optional :: blindness
9835 integer(IK) , intent(inout) , allocatable :: loc(:)
9836 integer(IK) , intent(out) :: nloc
9837 end subroutine
9838#endif
9839
9840#if LK3_ENABLED
9841 PURE module subroutine setLocDefComDefIns_D1_D1_LK3(loc, nloc, array, pattern, blindness)
9842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9843 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_LK3
9844#endif
9845 use pm_kind, only: LKG => LK3
9846 logical(LKG) , intent(in) , contiguous :: array(:)
9847 logical(LKG) , intent(in) , contiguous :: pattern(:)
9848 integer(IK) , intent(in) , optional :: blindness
9849 integer(IK) , intent(inout) , allocatable :: loc(:)
9850 integer(IK) , intent(out) :: nloc
9851 end subroutine
9852#endif
9853
9854#if LK2_ENABLED
9855 PURE module subroutine setLocDefComDefIns_D1_D1_LK2(loc, nloc, array, pattern, blindness)
9856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9857 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_LK2
9858#endif
9859 use pm_kind, only: LKG => LK2
9860 logical(LKG) , intent(in) , contiguous :: array(:)
9861 logical(LKG) , intent(in) , contiguous :: pattern(:)
9862 integer(IK) , intent(in) , optional :: blindness
9863 integer(IK) , intent(inout) , allocatable :: loc(:)
9864 integer(IK) , intent(out) :: nloc
9865 end subroutine
9866#endif
9867
9868#if LK1_ENABLED
9869 PURE module subroutine setLocDefComDefIns_D1_D1_LK1(loc, nloc, array, pattern, blindness)
9870#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9871 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_LK1
9872#endif
9873 use pm_kind, only: LKG => LK1
9874 logical(LKG) , intent(in) , contiguous :: array(:)
9875 logical(LKG) , intent(in) , contiguous :: pattern(:)
9876 integer(IK) , intent(in) , optional :: blindness
9877 integer(IK) , intent(inout) , allocatable :: loc(:)
9878 integer(IK) , intent(out) :: nloc
9879 end subroutine
9880#endif
9881
9882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9883
9884#if CK5_ENABLED
9885 PURE module subroutine setLocDefComDefIns_D1_D1_CK5(loc, nloc, array, pattern, blindness)
9886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9887 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_CK5
9888#endif
9889 use pm_kind, only: CKG => CK5
9890 complex(CKG) , intent(in) , contiguous :: array(:)
9891 complex(CKG) , intent(in) , contiguous :: pattern(:)
9892 integer(IK) , intent(in) , optional :: blindness
9893 integer(IK) , intent(inout) , allocatable :: loc(:)
9894 integer(IK) , intent(out) :: nloc
9895 end subroutine
9896#endif
9897
9898#if CK4_ENABLED
9899 PURE module subroutine setLocDefComDefIns_D1_D1_CK4(loc, nloc, array, pattern, blindness)
9900#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9901 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_CK4
9902#endif
9903 use pm_kind, only: CKG => CK4
9904 complex(CKG) , intent(in) , contiguous :: array(:)
9905 complex(CKG) , intent(in) , contiguous :: pattern(:)
9906 integer(IK) , intent(in) , optional :: blindness
9907 integer(IK) , intent(inout) , allocatable :: loc(:)
9908 integer(IK) , intent(out) :: nloc
9909 end subroutine
9910#endif
9911
9912#if CK3_ENABLED
9913 PURE module subroutine setLocDefComDefIns_D1_D1_CK3(loc, nloc, array, pattern, blindness)
9914#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9915 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_CK3
9916#endif
9917 use pm_kind, only: CKG => CK3
9918 complex(CKG) , intent(in) , contiguous :: array(:)
9919 complex(CKG) , intent(in) , contiguous :: pattern(:)
9920 integer(IK) , intent(in) , optional :: blindness
9921 integer(IK) , intent(inout) , allocatable :: loc(:)
9922 integer(IK) , intent(out) :: nloc
9923 end subroutine
9924#endif
9925
9926#if CK2_ENABLED
9927 PURE module subroutine setLocDefComDefIns_D1_D1_CK2(loc, nloc, array, pattern, blindness)
9928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9929 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_CK2
9930#endif
9931 use pm_kind, only: CKG => CK2
9932 complex(CKG) , intent(in) , contiguous :: array(:)
9933 complex(CKG) , intent(in) , contiguous :: pattern(:)
9934 integer(IK) , intent(in) , optional :: blindness
9935 integer(IK) , intent(inout) , allocatable :: loc(:)
9936 integer(IK) , intent(out) :: nloc
9937 end subroutine
9938#endif
9939
9940#if CK1_ENABLED
9941 PURE module subroutine setLocDefComDefIns_D1_D1_CK1(loc, nloc, array, pattern, blindness)
9942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9943 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_CK1
9944#endif
9945 use pm_kind, only: CKG => CK1
9946 complex(CKG) , intent(in) , contiguous :: array(:)
9947 complex(CKG) , intent(in) , contiguous :: pattern(:)
9948 integer(IK) , intent(in) , optional :: blindness
9949 integer(IK) , intent(inout) , allocatable :: loc(:)
9950 integer(IK) , intent(out) :: nloc
9951 end subroutine
9952#endif
9953
9954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9955
9956#if RK5_ENABLED
9957 PURE module subroutine setLocDefComDefIns_D1_D1_RK5(loc, nloc, array, pattern, blindness)
9958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9959 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_RK5
9960#endif
9961 use pm_kind, only: RKG => RK5
9962 real(RKG) , intent(in) , contiguous :: array(:)
9963 real(RKG) , intent(in) , contiguous :: pattern(:)
9964 integer(IK) , intent(in) , optional :: blindness
9965 integer(IK) , intent(inout) , allocatable :: loc(:)
9966 integer(IK) , intent(out) :: nloc
9967 end subroutine
9968#endif
9969
9970#if RK4_ENABLED
9971 PURE module subroutine setLocDefComDefIns_D1_D1_RK4(loc, nloc, array, pattern, blindness)
9972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9973 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_RK4
9974#endif
9975 use pm_kind, only: RKG => RK4
9976 real(RKG) , intent(in) , contiguous :: array(:)
9977 real(RKG) , intent(in) , contiguous :: pattern(:)
9978 integer(IK) , intent(in) , optional :: blindness
9979 integer(IK) , intent(inout) , allocatable :: loc(:)
9980 integer(IK) , intent(out) :: nloc
9981 end subroutine
9982#endif
9983
9984#if RK3_ENABLED
9985 PURE module subroutine setLocDefComDefIns_D1_D1_RK3(loc, nloc, array, pattern, blindness)
9986#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9987 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_RK3
9988#endif
9989 use pm_kind, only: RKG => RK3
9990 real(RKG) , intent(in) , contiguous :: array(:)
9991 real(RKG) , intent(in) , contiguous :: pattern(:)
9992 integer(IK) , intent(in) , optional :: blindness
9993 integer(IK) , intent(inout) , allocatable :: loc(:)
9994 integer(IK) , intent(out) :: nloc
9995 end subroutine
9996#endif
9997
9998#if RK2_ENABLED
9999 PURE module subroutine setLocDefComDefIns_D1_D1_RK2(loc, nloc, array, pattern, blindness)
10000#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10001 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_RK2
10002#endif
10003 use pm_kind, only: RKG => RK2
10004 real(RKG) , intent(in) , contiguous :: array(:)
10005 real(RKG) , intent(in) , contiguous :: pattern(:)
10006 integer(IK) , intent(in) , optional :: blindness
10007 integer(IK) , intent(inout) , allocatable :: loc(:)
10008 integer(IK) , intent(out) :: nloc
10009 end subroutine
10010#endif
10011
10012#if RK1_ENABLED
10013 PURE module subroutine setLocDefComDefIns_D1_D1_RK1(loc, nloc, array, pattern, blindness)
10014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10015 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComDefIns_D1_D1_RK1
10016#endif
10017 use pm_kind, only: RKG => RK1
10018 real(RKG) , intent(in) , contiguous :: array(:)
10019 real(RKG) , intent(in) , contiguous :: pattern(:)
10020 integer(IK) , intent(in) , optional :: blindness
10021 integer(IK) , intent(inout) , allocatable :: loc(:)
10022 integer(IK) , intent(out) :: nloc
10023 end subroutine
10024#endif
10025
10026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10027
10028 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10029 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10030 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10031
10032 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10033
10034#if SK5_ENABLED
10035 module subroutine setLocCusComDefIns_D1_D1_SK5(loc, nloc, array, pattern, iseq, blindness)
10036#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10037 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_SK5
10038#endif
10039 use pm_kind, only: SKG => SK5
10040 character(*,SKG) , intent(in) , contiguous :: array(:)
10041 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10042 procedure(logical(LK)) :: iseq
10043 integer(IK) , intent(in) , optional :: blindness
10044 integer(IK) , intent(inout) , allocatable :: loc(:)
10045 integer(IK) , intent(out) :: nloc
10046 end subroutine
10047#endif
10048
10049#if SK4_ENABLED
10050 module subroutine setLocCusComDefIns_D1_D1_SK4(loc, nloc, array, pattern, iseq, blindness)
10051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10052 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_SK4
10053#endif
10054 use pm_kind, only: SKG => SK4
10055 character(*,SKG) , intent(in) , contiguous :: array(:)
10056 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10057 procedure(logical(LK)) :: iseq
10058 integer(IK) , intent(in) , optional :: blindness
10059 integer(IK) , intent(inout) , allocatable :: loc(:)
10060 integer(IK) , intent(out) :: nloc
10061 end subroutine
10062#endif
10063
10064#if SK3_ENABLED
10065 module subroutine setLocCusComDefIns_D1_D1_SK3(loc, nloc, array, pattern, iseq, blindness)
10066#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10067 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_SK3
10068#endif
10069 use pm_kind, only: SKG => SK3
10070 character(*,SKG) , intent(in) , contiguous :: array(:)
10071 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10072 procedure(logical(LK)) :: iseq
10073 integer(IK) , intent(in) , optional :: blindness
10074 integer(IK) , intent(inout) , allocatable :: loc(:)
10075 integer(IK) , intent(out) :: nloc
10076 end subroutine
10077#endif
10078
10079#if SK2_ENABLED
10080 module subroutine setLocCusComDefIns_D1_D1_SK2(loc, nloc, array, pattern, iseq, blindness)
10081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10082 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_SK2
10083#endif
10084 use pm_kind, only: SKG => SK2
10085 character(*,SKG) , intent(in) , contiguous :: array(:)
10086 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10087 procedure(logical(LK)) :: iseq
10088 integer(IK) , intent(in) , optional :: blindness
10089 integer(IK) , intent(inout) , allocatable :: loc(:)
10090 integer(IK) , intent(out) :: nloc
10091 end subroutine
10092#endif
10093
10094#if SK1_ENABLED
10095 module subroutine setLocCusComDefIns_D1_D1_SK1(loc, nloc, array, pattern, iseq, blindness)
10096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10097 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_SK1
10098#endif
10099 use pm_kind, only: SKG => SK1
10100 character(*,SKG) , intent(in) , contiguous :: array(:)
10101 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10102 procedure(logical(LK)) :: iseq
10103 integer(IK) , intent(in) , optional :: blindness
10104 integer(IK) , intent(inout) , allocatable :: loc(:)
10105 integer(IK) , intent(out) :: nloc
10106 end subroutine
10107#endif
10108
10109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10110
10111#if IK5_ENABLED
10112 module subroutine setLocCusComDefIns_D1_D1_IK5(loc, nloc, array, pattern, iseq, blindness)
10113#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10114 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_IK5
10115#endif
10116 use pm_kind, only: IKG => IK5
10117 integer(IKG) , intent(in) , contiguous :: array(:)
10118 integer(IKG) , intent(in) , contiguous :: pattern(:)
10119 procedure(logical(LK)) :: iseq
10120 integer(IK) , intent(in) , optional :: blindness
10121 integer(IK) , intent(inout) , allocatable :: loc(:)
10122 integer(IK) , intent(out) :: nloc
10123 end subroutine
10124#endif
10125
10126#if IK4_ENABLED
10127 module subroutine setLocCusComDefIns_D1_D1_IK4(loc, nloc, array, pattern, iseq, blindness)
10128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10129 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_IK4
10130#endif
10131 use pm_kind, only: IKG => IK4
10132 integer(IKG) , intent(in) , contiguous :: array(:)
10133 integer(IKG) , intent(in) , contiguous :: pattern(:)
10134 procedure(logical(LK)) :: iseq
10135 integer(IK) , intent(in) , optional :: blindness
10136 integer(IK) , intent(inout) , allocatable :: loc(:)
10137 integer(IK) , intent(out) :: nloc
10138 end subroutine
10139#endif
10140
10141#if IK3_ENABLED
10142 module subroutine setLocCusComDefIns_D1_D1_IK3(loc, nloc, array, pattern, iseq, blindness)
10143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10144 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_IK3
10145#endif
10146 use pm_kind, only: IKG => IK3
10147 integer(IKG) , intent(in) , contiguous :: array(:)
10148 integer(IKG) , intent(in) , contiguous :: pattern(:)
10149 procedure(logical(LK)) :: iseq
10150 integer(IK) , intent(in) , optional :: blindness
10151 integer(IK) , intent(inout) , allocatable :: loc(:)
10152 integer(IK) , intent(out) :: nloc
10153 end subroutine
10154#endif
10155
10156#if IK2_ENABLED
10157 module subroutine setLocCusComDefIns_D1_D1_IK2(loc, nloc, array, pattern, iseq, blindness)
10158#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10159 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_IK2
10160#endif
10161 use pm_kind, only: IKG => IK2
10162 integer(IKG) , intent(in) , contiguous :: array(:)
10163 integer(IKG) , intent(in) , contiguous :: pattern(:)
10164 procedure(logical(LK)) :: iseq
10165 integer(IK) , intent(in) , optional :: blindness
10166 integer(IK) , intent(inout) , allocatable :: loc(:)
10167 integer(IK) , intent(out) :: nloc
10168 end subroutine
10169#endif
10170
10171#if IK1_ENABLED
10172 module subroutine setLocCusComDefIns_D1_D1_IK1(loc, nloc, array, pattern, iseq, blindness)
10173#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10174 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_IK1
10175#endif
10176 use pm_kind, only: IKG => IK1
10177 integer(IKG) , intent(in) , contiguous :: array(:)
10178 integer(IKG) , intent(in) , contiguous :: pattern(:)
10179 procedure(logical(LK)) :: iseq
10180 integer(IK) , intent(in) , optional :: blindness
10181 integer(IK) , intent(inout) , allocatable :: loc(:)
10182 integer(IK) , intent(out) :: nloc
10183 end subroutine
10184#endif
10185
10186 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10187
10188#if LK5_ENABLED
10189 module subroutine setLocCusComDefIns_D1_D1_LK5(loc, nloc, array, pattern, iseq, blindness)
10190#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10191 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_LK5
10192#endif
10193 use pm_kind, only: LKG => LK5
10194 logical(LKG) , intent(in) , contiguous :: array(:)
10195 logical(LKG) , intent(in) , contiguous :: pattern(:)
10196 procedure(logical(LK)) :: iseq
10197 integer(IK) , intent(in) , optional :: blindness
10198 integer(IK) , intent(inout) , allocatable :: loc(:)
10199 integer(IK) , intent(out) :: nloc
10200 end subroutine
10201#endif
10202
10203#if LK4_ENABLED
10204 module subroutine setLocCusComDefIns_D1_D1_LK4(loc, nloc, array, pattern, iseq, blindness)
10205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10206 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_LK4
10207#endif
10208 use pm_kind, only: LKG => LK4
10209 logical(LKG) , intent(in) , contiguous :: array(:)
10210 logical(LKG) , intent(in) , contiguous :: pattern(:)
10211 procedure(logical(LK)) :: iseq
10212 integer(IK) , intent(in) , optional :: blindness
10213 integer(IK) , intent(inout) , allocatable :: loc(:)
10214 integer(IK) , intent(out) :: nloc
10215 end subroutine
10216#endif
10217
10218#if LK3_ENABLED
10219 module subroutine setLocCusComDefIns_D1_D1_LK3(loc, nloc, array, pattern, iseq, blindness)
10220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10221 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_LK3
10222#endif
10223 use pm_kind, only: LKG => LK3
10224 logical(LKG) , intent(in) , contiguous :: array(:)
10225 logical(LKG) , intent(in) , contiguous :: pattern(:)
10226 procedure(logical(LK)) :: iseq
10227 integer(IK) , intent(in) , optional :: blindness
10228 integer(IK) , intent(inout) , allocatable :: loc(:)
10229 integer(IK) , intent(out) :: nloc
10230 end subroutine
10231#endif
10232
10233#if LK2_ENABLED
10234 module subroutine setLocCusComDefIns_D1_D1_LK2(loc, nloc, array, pattern, iseq, blindness)
10235#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10236 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_LK2
10237#endif
10238 use pm_kind, only: LKG => LK2
10239 logical(LKG) , intent(in) , contiguous :: array(:)
10240 logical(LKG) , intent(in) , contiguous :: pattern(:)
10241 procedure(logical(LK)) :: iseq
10242 integer(IK) , intent(in) , optional :: blindness
10243 integer(IK) , intent(inout) , allocatable :: loc(:)
10244 integer(IK) , intent(out) :: nloc
10245 end subroutine
10246#endif
10247
10248#if LK1_ENABLED
10249 module subroutine setLocCusComDefIns_D1_D1_LK1(loc, nloc, array, pattern, iseq, blindness)
10250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10251 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_LK1
10252#endif
10253 use pm_kind, only: LKG => LK1
10254 logical(LKG) , intent(in) , contiguous :: array(:)
10255 logical(LKG) , intent(in) , contiguous :: pattern(:)
10256 procedure(logical(LK)) :: iseq
10257 integer(IK) , intent(in) , optional :: blindness
10258 integer(IK) , intent(inout) , allocatable :: loc(:)
10259 integer(IK) , intent(out) :: nloc
10260 end subroutine
10261#endif
10262
10263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10264
10265#if CK5_ENABLED
10266 module subroutine setLocCusComDefIns_D1_D1_CK5(loc, nloc, array, pattern, iseq, blindness)
10267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10268 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_CK5
10269#endif
10270 use pm_kind, only: CKG => CK5
10271 complex(CKG) , intent(in) , contiguous :: array(:)
10272 complex(CKG) , intent(in) , contiguous :: pattern(:)
10273 procedure(logical(LK)) :: iseq
10274 integer(IK) , intent(in) , optional :: blindness
10275 integer(IK) , intent(inout) , allocatable :: loc(:)
10276 integer(IK) , intent(out) :: nloc
10277 end subroutine
10278#endif
10279
10280#if CK4_ENABLED
10281 module subroutine setLocCusComDefIns_D1_D1_CK4(loc, nloc, array, pattern, iseq, blindness)
10282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10283 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_CK4
10284#endif
10285 use pm_kind, only: CKG => CK4
10286 complex(CKG) , intent(in) , contiguous :: array(:)
10287 complex(CKG) , intent(in) , contiguous :: pattern(:)
10288 procedure(logical(LK)) :: iseq
10289 integer(IK) , intent(in) , optional :: blindness
10290 integer(IK) , intent(inout) , allocatable :: loc(:)
10291 integer(IK) , intent(out) :: nloc
10292 end subroutine
10293#endif
10294
10295#if CK3_ENABLED
10296 module subroutine setLocCusComDefIns_D1_D1_CK3(loc, nloc, array, pattern, iseq, blindness)
10297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10298 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_CK3
10299#endif
10300 use pm_kind, only: CKG => CK3
10301 complex(CKG) , intent(in) , contiguous :: array(:)
10302 complex(CKG) , intent(in) , contiguous :: pattern(:)
10303 procedure(logical(LK)) :: iseq
10304 integer(IK) , intent(in) , optional :: blindness
10305 integer(IK) , intent(inout) , allocatable :: loc(:)
10306 integer(IK) , intent(out) :: nloc
10307 end subroutine
10308#endif
10309
10310#if CK2_ENABLED
10311 module subroutine setLocCusComDefIns_D1_D1_CK2(loc, nloc, array, pattern, iseq, blindness)
10312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10313 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_CK2
10314#endif
10315 use pm_kind, only: CKG => CK2
10316 complex(CKG) , intent(in) , contiguous :: array(:)
10317 complex(CKG) , intent(in) , contiguous :: pattern(:)
10318 procedure(logical(LK)) :: iseq
10319 integer(IK) , intent(in) , optional :: blindness
10320 integer(IK) , intent(inout) , allocatable :: loc(:)
10321 integer(IK) , intent(out) :: nloc
10322 end subroutine
10323#endif
10324
10325#if CK1_ENABLED
10326 module subroutine setLocCusComDefIns_D1_D1_CK1(loc, nloc, array, pattern, iseq, blindness)
10327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10328 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_CK1
10329#endif
10330 use pm_kind, only: CKG => CK1
10331 complex(CKG) , intent(in) , contiguous :: array(:)
10332 complex(CKG) , intent(in) , contiguous :: pattern(:)
10333 procedure(logical(LK)) :: iseq
10334 integer(IK) , intent(in) , optional :: blindness
10335 integer(IK) , intent(inout) , allocatable :: loc(:)
10336 integer(IK) , intent(out) :: nloc
10337 end subroutine
10338#endif
10339
10340 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10341
10342#if RK5_ENABLED
10343 module subroutine setLocCusComDefIns_D1_D1_RK5(loc, nloc, array, pattern, iseq, blindness)
10344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10345 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_RK5
10346#endif
10347 use pm_kind, only: RKG => RK5
10348 real(RKG) , intent(in) , contiguous :: array(:)
10349 real(RKG) , intent(in) , contiguous :: pattern(:)
10350 procedure(logical(LK)) :: iseq
10351 integer(IK) , intent(in) , optional :: blindness
10352 integer(IK) , intent(inout) , allocatable :: loc(:)
10353 integer(IK) , intent(out) :: nloc
10354 end subroutine
10355#endif
10356
10357#if RK4_ENABLED
10358 module subroutine setLocCusComDefIns_D1_D1_RK4(loc, nloc, array, pattern, iseq, blindness)
10359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10360 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_RK4
10361#endif
10362 use pm_kind, only: RKG => RK4
10363 real(RKG) , intent(in) , contiguous :: array(:)
10364 real(RKG) , intent(in) , contiguous :: pattern(:)
10365 procedure(logical(LK)) :: iseq
10366 integer(IK) , intent(in) , optional :: blindness
10367 integer(IK) , intent(inout) , allocatable :: loc(:)
10368 integer(IK) , intent(out) :: nloc
10369 end subroutine
10370#endif
10371
10372#if RK3_ENABLED
10373 module subroutine setLocCusComDefIns_D1_D1_RK3(loc, nloc, array, pattern, iseq, blindness)
10374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10375 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_RK3
10376#endif
10377 use pm_kind, only: RKG => RK3
10378 real(RKG) , intent(in) , contiguous :: array(:)
10379 real(RKG) , intent(in) , contiguous :: pattern(:)
10380 procedure(logical(LK)) :: iseq
10381 integer(IK) , intent(in) , optional :: blindness
10382 integer(IK) , intent(inout) , allocatable :: loc(:)
10383 integer(IK) , intent(out) :: nloc
10384 end subroutine
10385#endif
10386
10387#if RK2_ENABLED
10388 module subroutine setLocCusComDefIns_D1_D1_RK2(loc, nloc, array, pattern, iseq, blindness)
10389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10390 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_RK2
10391#endif
10392 use pm_kind, only: RKG => RK2
10393 real(RKG) , intent(in) , contiguous :: array(:)
10394 real(RKG) , intent(in) , contiguous :: pattern(:)
10395 procedure(logical(LK)) :: iseq
10396 integer(IK) , intent(in) , optional :: blindness
10397 integer(IK) , intent(inout) , allocatable :: loc(:)
10398 integer(IK) , intent(out) :: nloc
10399 end subroutine
10400#endif
10401
10402#if RK1_ENABLED
10403 module subroutine setLocCusComDefIns_D1_D1_RK1(loc, nloc, array, pattern, iseq, blindness)
10404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10405 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComDefIns_D1_D1_RK1
10406#endif
10407 use pm_kind, only: RKG => RK1
10408 real(RKG) , intent(in) , contiguous :: array(:)
10409 real(RKG) , intent(in) , contiguous :: pattern(:)
10410 procedure(logical(LK)) :: iseq
10411 integer(IK) , intent(in) , optional :: blindness
10412 integer(IK) , intent(inout) , allocatable :: loc(:)
10413 integer(IK) , intent(out) :: nloc
10414 end subroutine
10415#endif
10416
10417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10418
10419 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10420 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10421 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10422
10423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10424
10425#if SK5_ENABLED
10426 PURE module subroutine setLocDefComCusIns_D1_D1_SK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10428 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_SK5
10429#endif
10430 use pm_kind, only: SKG => SK5
10431 character(*,SKG) , intent(in) , contiguous :: array(:)
10432 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10433 integer(IK) , intent(in) , contiguous :: instance(:)
10434 logical(LK) , intent(in) :: sorted
10435 logical(LK) , intent(in) :: positive
10436 integer(IK) , intent(in) :: blindness
10437 integer(IK) , intent(inout) , allocatable :: loc(:)
10438 integer(IK) , intent(out) :: nloc
10439 end subroutine
10440#endif
10441
10442#if SK4_ENABLED
10443 PURE module subroutine setLocDefComCusIns_D1_D1_SK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10445 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_SK4
10446#endif
10447 use pm_kind, only: SKG => SK4
10448 character(*,SKG) , intent(in) , contiguous :: array(:)
10449 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10450 integer(IK) , intent(in) , contiguous :: instance(:)
10451 logical(LK) , intent(in) :: sorted
10452 logical(LK) , intent(in) :: positive
10453 integer(IK) , intent(in) :: blindness
10454 integer(IK) , intent(inout) , allocatable :: loc(:)
10455 integer(IK) , intent(out) :: nloc
10456 end subroutine
10457#endif
10458
10459#if SK3_ENABLED
10460 PURE module subroutine setLocDefComCusIns_D1_D1_SK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10462 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_SK3
10463#endif
10464 use pm_kind, only: SKG => SK3
10465 character(*,SKG) , intent(in) , contiguous :: array(:)
10466 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10467 integer(IK) , intent(in) , contiguous :: instance(:)
10468 logical(LK) , intent(in) :: sorted
10469 logical(LK) , intent(in) :: positive
10470 integer(IK) , intent(in) :: blindness
10471 integer(IK) , intent(inout) , allocatable :: loc(:)
10472 integer(IK) , intent(out) :: nloc
10473 end subroutine
10474#endif
10475
10476#if SK2_ENABLED
10477 PURE module subroutine setLocDefComCusIns_D1_D1_SK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10479 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_SK2
10480#endif
10481 use pm_kind, only: SKG => SK2
10482 character(*,SKG) , intent(in) , contiguous :: array(:)
10483 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10484 integer(IK) , intent(in) , contiguous :: instance(:)
10485 logical(LK) , intent(in) :: sorted
10486 logical(LK) , intent(in) :: positive
10487 integer(IK) , intent(in) :: blindness
10488 integer(IK) , intent(inout) , allocatable :: loc(:)
10489 integer(IK) , intent(out) :: nloc
10490 end subroutine
10491#endif
10492
10493#if SK1_ENABLED
10494 PURE module subroutine setLocDefComCusIns_D1_D1_SK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10495#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10496 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_SK1
10497#endif
10498 use pm_kind, only: SKG => SK1
10499 character(*,SKG) , intent(in) , contiguous :: array(:)
10500 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10501 integer(IK) , intent(in) , contiguous :: instance(:)
10502 logical(LK) , intent(in) :: sorted
10503 logical(LK) , intent(in) :: positive
10504 integer(IK) , intent(in) :: blindness
10505 integer(IK) , intent(inout) , allocatable :: loc(:)
10506 integer(IK) , intent(out) :: nloc
10507 end subroutine
10508#endif
10509
10510 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10511
10512#if IK5_ENABLED
10513 PURE module subroutine setLocDefComCusIns_D1_D1_IK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10515 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_IK5
10516#endif
10517 use pm_kind, only: IKG => IK5
10518 integer(IKG) , intent(in) , contiguous :: array(:)
10519 integer(IKG) , intent(in) , contiguous :: pattern(:)
10520 integer(IK) , intent(in) , contiguous :: instance(:)
10521 logical(LK) , intent(in) :: sorted
10522 logical(LK) , intent(in) :: positive
10523 integer(IK) , intent(in) :: blindness
10524 integer(IK) , intent(inout) , allocatable :: loc(:)
10525 integer(IK) , intent(out) :: nloc
10526 end subroutine
10527#endif
10528
10529#if IK4_ENABLED
10530 PURE module subroutine setLocDefComCusIns_D1_D1_IK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10532 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_IK4
10533#endif
10534 use pm_kind, only: IKG => IK4
10535 integer(IKG) , intent(in) , contiguous :: array(:)
10536 integer(IKG) , intent(in) , contiguous :: pattern(:)
10537 integer(IK) , intent(in) , contiguous :: instance(:)
10538 logical(LK) , intent(in) :: sorted
10539 logical(LK) , intent(in) :: positive
10540 integer(IK) , intent(in) :: blindness
10541 integer(IK) , intent(inout) , allocatable :: loc(:)
10542 integer(IK) , intent(out) :: nloc
10543 end subroutine
10544#endif
10545
10546#if IK3_ENABLED
10547 PURE module subroutine setLocDefComCusIns_D1_D1_IK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10549 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_IK3
10550#endif
10551 use pm_kind, only: IKG => IK3
10552 integer(IKG) , intent(in) , contiguous :: array(:)
10553 integer(IKG) , intent(in) , contiguous :: pattern(:)
10554 integer(IK) , intent(in) , contiguous :: instance(:)
10555 logical(LK) , intent(in) :: sorted
10556 logical(LK) , intent(in) :: positive
10557 integer(IK) , intent(in) :: blindness
10558 integer(IK) , intent(inout) , allocatable :: loc(:)
10559 integer(IK) , intent(out) :: nloc
10560 end subroutine
10561#endif
10562
10563#if IK2_ENABLED
10564 PURE module subroutine setLocDefComCusIns_D1_D1_IK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10566 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_IK2
10567#endif
10568 use pm_kind, only: IKG => IK2
10569 integer(IKG) , intent(in) , contiguous :: array(:)
10570 integer(IKG) , intent(in) , contiguous :: pattern(:)
10571 integer(IK) , intent(in) , contiguous :: instance(:)
10572 logical(LK) , intent(in) :: sorted
10573 logical(LK) , intent(in) :: positive
10574 integer(IK) , intent(in) :: blindness
10575 integer(IK) , intent(inout) , allocatable :: loc(:)
10576 integer(IK) , intent(out) :: nloc
10577 end subroutine
10578#endif
10579
10580#if IK1_ENABLED
10581 PURE module subroutine setLocDefComCusIns_D1_D1_IK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10582#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10583 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_IK1
10584#endif
10585 use pm_kind, only: IKG => IK1
10586 integer(IKG) , intent(in) , contiguous :: array(:)
10587 integer(IKG) , intent(in) , contiguous :: pattern(:)
10588 integer(IK) , intent(in) , contiguous :: instance(:)
10589 logical(LK) , intent(in) :: sorted
10590 logical(LK) , intent(in) :: positive
10591 integer(IK) , intent(in) :: blindness
10592 integer(IK) , intent(inout) , allocatable :: loc(:)
10593 integer(IK) , intent(out) :: nloc
10594 end subroutine
10595#endif
10596
10597 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10598
10599#if LK5_ENABLED
10600 PURE module subroutine setLocDefComCusIns_D1_D1_LK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10602 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_LK5
10603#endif
10604 use pm_kind, only: LKG => LK5
10605 logical(LKG) , intent(in) , contiguous :: array(:)
10606 logical(LKG) , intent(in) , contiguous :: pattern(:)
10607 integer(IK) , intent(in) , contiguous :: instance(:)
10608 logical(LK) , intent(in) :: sorted
10609 logical(LK) , intent(in) :: positive
10610 integer(IK) , intent(in) :: blindness
10611 integer(IK) , intent(inout) , allocatable :: loc(:)
10612 integer(IK) , intent(out) :: nloc
10613 end subroutine
10614#endif
10615
10616#if LK4_ENABLED
10617 PURE module subroutine setLocDefComCusIns_D1_D1_LK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10618#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10619 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_LK4
10620#endif
10621 use pm_kind, only: LKG => LK4
10622 logical(LKG) , intent(in) , contiguous :: array(:)
10623 logical(LKG) , intent(in) , contiguous :: pattern(:)
10624 integer(IK) , intent(in) , contiguous :: instance(:)
10625 logical(LK) , intent(in) :: sorted
10626 logical(LK) , intent(in) :: positive
10627 integer(IK) , intent(in) :: blindness
10628 integer(IK) , intent(inout) , allocatable :: loc(:)
10629 integer(IK) , intent(out) :: nloc
10630 end subroutine
10631#endif
10632
10633#if LK3_ENABLED
10634 PURE module subroutine setLocDefComCusIns_D1_D1_LK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10636 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_LK3
10637#endif
10638 use pm_kind, only: LKG => LK3
10639 logical(LKG) , intent(in) , contiguous :: array(:)
10640 logical(LKG) , intent(in) , contiguous :: pattern(:)
10641 integer(IK) , intent(in) , contiguous :: instance(:)
10642 logical(LK) , intent(in) :: sorted
10643 logical(LK) , intent(in) :: positive
10644 integer(IK) , intent(in) :: blindness
10645 integer(IK) , intent(inout) , allocatable :: loc(:)
10646 integer(IK) , intent(out) :: nloc
10647 end subroutine
10648#endif
10649
10650#if LK2_ENABLED
10651 PURE module subroutine setLocDefComCusIns_D1_D1_LK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10653 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_LK2
10654#endif
10655 use pm_kind, only: LKG => LK2
10656 logical(LKG) , intent(in) , contiguous :: array(:)
10657 logical(LKG) , intent(in) , contiguous :: pattern(:)
10658 integer(IK) , intent(in) , contiguous :: instance(:)
10659 logical(LK) , intent(in) :: sorted
10660 logical(LK) , intent(in) :: positive
10661 integer(IK) , intent(in) :: blindness
10662 integer(IK) , intent(inout) , allocatable :: loc(:)
10663 integer(IK) , intent(out) :: nloc
10664 end subroutine
10665#endif
10666
10667#if LK1_ENABLED
10668 PURE module subroutine setLocDefComCusIns_D1_D1_LK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10669#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10670 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_LK1
10671#endif
10672 use pm_kind, only: LKG => LK1
10673 logical(LKG) , intent(in) , contiguous :: array(:)
10674 logical(LKG) , intent(in) , contiguous :: pattern(:)
10675 integer(IK) , intent(in) , contiguous :: instance(:)
10676 logical(LK) , intent(in) :: sorted
10677 logical(LK) , intent(in) :: positive
10678 integer(IK) , intent(in) :: blindness
10679 integer(IK) , intent(inout) , allocatable :: loc(:)
10680 integer(IK) , intent(out) :: nloc
10681 end subroutine
10682#endif
10683
10684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10685
10686#if CK5_ENABLED
10687 PURE module subroutine setLocDefComCusIns_D1_D1_CK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10689 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_CK5
10690#endif
10691 use pm_kind, only: CKG => CK5
10692 complex(CKG) , intent(in) , contiguous :: array(:)
10693 complex(CKG) , intent(in) , contiguous :: pattern(:)
10694 integer(IK) , intent(in) , contiguous :: instance(:)
10695 logical(LK) , intent(in) :: sorted
10696 logical(LK) , intent(in) :: positive
10697 integer(IK) , intent(in) :: blindness
10698 integer(IK) , intent(inout) , allocatable :: loc(:)
10699 integer(IK) , intent(out) :: nloc
10700 end subroutine
10701#endif
10702
10703#if CK4_ENABLED
10704 PURE module subroutine setLocDefComCusIns_D1_D1_CK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10705#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10706 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_CK4
10707#endif
10708 use pm_kind, only: CKG => CK4
10709 complex(CKG) , intent(in) , contiguous :: array(:)
10710 complex(CKG) , intent(in) , contiguous :: pattern(:)
10711 integer(IK) , intent(in) , contiguous :: instance(:)
10712 logical(LK) , intent(in) :: sorted
10713 logical(LK) , intent(in) :: positive
10714 integer(IK) , intent(in) :: blindness
10715 integer(IK) , intent(inout) , allocatable :: loc(:)
10716 integer(IK) , intent(out) :: nloc
10717 end subroutine
10718#endif
10719
10720#if CK3_ENABLED
10721 PURE module subroutine setLocDefComCusIns_D1_D1_CK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10723 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_CK3
10724#endif
10725 use pm_kind, only: CKG => CK3
10726 complex(CKG) , intent(in) , contiguous :: array(:)
10727 complex(CKG) , intent(in) , contiguous :: pattern(:)
10728 integer(IK) , intent(in) , contiguous :: instance(:)
10729 logical(LK) , intent(in) :: sorted
10730 logical(LK) , intent(in) :: positive
10731 integer(IK) , intent(in) :: blindness
10732 integer(IK) , intent(inout) , allocatable :: loc(:)
10733 integer(IK) , intent(out) :: nloc
10734 end subroutine
10735#endif
10736
10737#if CK2_ENABLED
10738 PURE module subroutine setLocDefComCusIns_D1_D1_CK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10740 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_CK2
10741#endif
10742 use pm_kind, only: CKG => CK2
10743 complex(CKG) , intent(in) , contiguous :: array(:)
10744 complex(CKG) , intent(in) , contiguous :: pattern(:)
10745 integer(IK) , intent(in) , contiguous :: instance(:)
10746 logical(LK) , intent(in) :: sorted
10747 logical(LK) , intent(in) :: positive
10748 integer(IK) , intent(in) :: blindness
10749 integer(IK) , intent(inout) , allocatable :: loc(:)
10750 integer(IK) , intent(out) :: nloc
10751 end subroutine
10752#endif
10753
10754#if CK1_ENABLED
10755 PURE module subroutine setLocDefComCusIns_D1_D1_CK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10756#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10757 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_CK1
10758#endif
10759 use pm_kind, only: CKG => CK1
10760 complex(CKG) , intent(in) , contiguous :: array(:)
10761 complex(CKG) , intent(in) , contiguous :: pattern(:)
10762 integer(IK) , intent(in) , contiguous :: instance(:)
10763 logical(LK) , intent(in) :: sorted
10764 logical(LK) , intent(in) :: positive
10765 integer(IK) , intent(in) :: blindness
10766 integer(IK) , intent(inout) , allocatable :: loc(:)
10767 integer(IK) , intent(out) :: nloc
10768 end subroutine
10769#endif
10770
10771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10772
10773#if RK5_ENABLED
10774 PURE module subroutine setLocDefComCusIns_D1_D1_RK5(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10776 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_RK5
10777#endif
10778 use pm_kind, only: RKG => RK5
10779 real(RKG) , intent(in) , contiguous :: array(:)
10780 real(RKG) , intent(in) , contiguous :: pattern(:)
10781 integer(IK) , intent(in) , contiguous :: instance(:)
10782 logical(LK) , intent(in) :: sorted
10783 logical(LK) , intent(in) :: positive
10784 integer(IK) , intent(in) :: blindness
10785 integer(IK) , intent(inout) , allocatable :: loc(:)
10786 integer(IK) , intent(out) :: nloc
10787 end subroutine
10788#endif
10789
10790#if RK4_ENABLED
10791 PURE module subroutine setLocDefComCusIns_D1_D1_RK4(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10792#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10793 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_RK4
10794#endif
10795 use pm_kind, only: RKG => RK4
10796 real(RKG) , intent(in) , contiguous :: array(:)
10797 real(RKG) , intent(in) , contiguous :: pattern(:)
10798 integer(IK) , intent(in) , contiguous :: instance(:)
10799 logical(LK) , intent(in) :: sorted
10800 logical(LK) , intent(in) :: positive
10801 integer(IK) , intent(in) :: blindness
10802 integer(IK) , intent(inout) , allocatable :: loc(:)
10803 integer(IK) , intent(out) :: nloc
10804 end subroutine
10805#endif
10806
10807#if RK3_ENABLED
10808 PURE module subroutine setLocDefComCusIns_D1_D1_RK3(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10809#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10810 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_RK3
10811#endif
10812 use pm_kind, only: RKG => RK3
10813 real(RKG) , intent(in) , contiguous :: array(:)
10814 real(RKG) , intent(in) , contiguous :: pattern(:)
10815 integer(IK) , intent(in) , contiguous :: instance(:)
10816 logical(LK) , intent(in) :: sorted
10817 logical(LK) , intent(in) :: positive
10818 integer(IK) , intent(in) :: blindness
10819 integer(IK) , intent(inout) , allocatable :: loc(:)
10820 integer(IK) , intent(out) :: nloc
10821 end subroutine
10822#endif
10823
10824#if RK2_ENABLED
10825 PURE module subroutine setLocDefComCusIns_D1_D1_RK2(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10827 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_RK2
10828#endif
10829 use pm_kind, only: RKG => RK2
10830 real(RKG) , intent(in) , contiguous :: array(:)
10831 real(RKG) , intent(in) , contiguous :: pattern(:)
10832 integer(IK) , intent(in) , contiguous :: instance(:)
10833 logical(LK) , intent(in) :: sorted
10834 logical(LK) , intent(in) :: positive
10835 integer(IK) , intent(in) :: blindness
10836 integer(IK) , intent(inout) , allocatable :: loc(:)
10837 integer(IK) , intent(out) :: nloc
10838 end subroutine
10839#endif
10840
10841#if RK1_ENABLED
10842 PURE module subroutine setLocDefComCusIns_D1_D1_RK1(loc, nloc, array, pattern, instance, sorted, positive, blindness)
10843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10844 !DEC$ ATTRIBUTES DLLEXPORT :: setLocDefComCusIns_D1_D1_RK1
10845#endif
10846 use pm_kind, only: RKG => RK1
10847 real(RKG) , intent(in) , contiguous :: array(:)
10848 real(RKG) , intent(in) , contiguous :: pattern(:)
10849 integer(IK) , intent(in) , contiguous :: instance(:)
10850 logical(LK) , intent(in) :: sorted
10851 logical(LK) , intent(in) :: positive
10852 integer(IK) , intent(in) :: blindness
10853 integer(IK) , intent(inout) , allocatable :: loc(:)
10854 integer(IK) , intent(out) :: nloc
10855 end subroutine
10856#endif
10857
10858 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10859
10860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10861 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10862 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10863
10864 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10865
10866#if SK5_ENABLED
10867 module subroutine setLocCusComCusIns_D1_D1_SK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10869 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_SK5
10870#endif
10871 use pm_kind, only: SKG => SK5
10872 character(*,SKG) , intent(in) , contiguous :: array(:)
10873 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10874 procedure(logical(LK)) :: iseq
10875 integer(IK) , intent(in) , contiguous :: instance(:)
10876 logical(LK) , intent(in) :: sorted
10877 logical(LK) , intent(in) :: positive
10878 integer(IK) , intent(in) :: blindness
10879 integer(IK) , intent(inout) , allocatable :: loc(:)
10880 integer(IK) , intent(out) :: nloc
10881 end subroutine
10882#endif
10883
10884#if SK4_ENABLED
10885 module subroutine setLocCusComCusIns_D1_D1_SK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10887 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_SK4
10888#endif
10889 use pm_kind, only: SKG => SK4
10890 character(*,SKG) , intent(in) , contiguous :: array(:)
10891 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10892 procedure(logical(LK)) :: iseq
10893 integer(IK) , intent(in) , contiguous :: instance(:)
10894 logical(LK) , intent(in) :: sorted
10895 logical(LK) , intent(in) :: positive
10896 integer(IK) , intent(in) :: blindness
10897 integer(IK) , intent(inout) , allocatable :: loc(:)
10898 integer(IK) , intent(out) :: nloc
10899 end subroutine
10900#endif
10901
10902#if SK3_ENABLED
10903 module subroutine setLocCusComCusIns_D1_D1_SK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10905 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_SK3
10906#endif
10907 use pm_kind, only: SKG => SK3
10908 character(*,SKG) , intent(in) , contiguous :: array(:)
10909 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10910 procedure(logical(LK)) :: iseq
10911 integer(IK) , intent(in) , contiguous :: instance(:)
10912 logical(LK) , intent(in) :: sorted
10913 logical(LK) , intent(in) :: positive
10914 integer(IK) , intent(in) :: blindness
10915 integer(IK) , intent(inout) , allocatable :: loc(:)
10916 integer(IK) , intent(out) :: nloc
10917 end subroutine
10918#endif
10919
10920#if SK2_ENABLED
10921 module subroutine setLocCusComCusIns_D1_D1_SK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10923 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_SK2
10924#endif
10925 use pm_kind, only: SKG => SK2
10926 character(*,SKG) , intent(in) , contiguous :: array(:)
10927 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10928 procedure(logical(LK)) :: iseq
10929 integer(IK) , intent(in) , contiguous :: instance(:)
10930 logical(LK) , intent(in) :: sorted
10931 logical(LK) , intent(in) :: positive
10932 integer(IK) , intent(in) :: blindness
10933 integer(IK) , intent(inout) , allocatable :: loc(:)
10934 integer(IK) , intent(out) :: nloc
10935 end subroutine
10936#endif
10937
10938#if SK1_ENABLED
10939 module subroutine setLocCusComCusIns_D1_D1_SK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10940#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10941 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_SK1
10942#endif
10943 use pm_kind, only: SKG => SK1
10944 character(*,SKG) , intent(in) , contiguous :: array(:)
10945 character(*,SKG) , intent(in) , contiguous :: pattern(:)
10946 procedure(logical(LK)) :: iseq
10947 integer(IK) , intent(in) , contiguous :: instance(:)
10948 logical(LK) , intent(in) :: sorted
10949 logical(LK) , intent(in) :: positive
10950 integer(IK) , intent(in) :: blindness
10951 integer(IK) , intent(inout) , allocatable :: loc(:)
10952 integer(IK) , intent(out) :: nloc
10953 end subroutine
10954#endif
10955
10956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10957
10958#if IK5_ENABLED
10959 module subroutine setLocCusComCusIns_D1_D1_IK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10961 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_IK5
10962#endif
10963 use pm_kind, only: IKG => IK5
10964 integer(IKG) , intent(in) , contiguous :: array(:)
10965 integer(IKG) , intent(in) , contiguous :: pattern(:)
10966 procedure(logical(LK)) :: iseq
10967 integer(IK) , intent(in) , contiguous :: instance(:)
10968 logical(LK) , intent(in) :: sorted
10969 logical(LK) , intent(in) :: positive
10970 integer(IK) , intent(in) :: blindness
10971 integer(IK) , intent(inout) , allocatable :: loc(:)
10972 integer(IK) , intent(out) :: nloc
10973 end subroutine
10974#endif
10975
10976#if IK4_ENABLED
10977 module subroutine setLocCusComCusIns_D1_D1_IK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10979 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_IK4
10980#endif
10981 use pm_kind, only: IKG => IK4
10982 integer(IKG) , intent(in) , contiguous :: array(:)
10983 integer(IKG) , intent(in) , contiguous :: pattern(:)
10984 procedure(logical(LK)) :: iseq
10985 integer(IK) , intent(in) , contiguous :: instance(:)
10986 logical(LK) , intent(in) :: sorted
10987 logical(LK) , intent(in) :: positive
10988 integer(IK) , intent(in) :: blindness
10989 integer(IK) , intent(inout) , allocatable :: loc(:)
10990 integer(IK) , intent(out) :: nloc
10991 end subroutine
10992#endif
10993
10994#if IK3_ENABLED
10995 module subroutine setLocCusComCusIns_D1_D1_IK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
10996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10997 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_IK3
10998#endif
10999 use pm_kind, only: IKG => IK3
11000 integer(IKG) , intent(in) , contiguous :: array(:)
11001 integer(IKG) , intent(in) , contiguous :: pattern(:)
11002 procedure(logical(LK)) :: iseq
11003 integer(IK) , intent(in) , contiguous :: instance(:)
11004 logical(LK) , intent(in) :: sorted
11005 logical(LK) , intent(in) :: positive
11006 integer(IK) , intent(in) :: blindness
11007 integer(IK) , intent(inout) , allocatable :: loc(:)
11008 integer(IK) , intent(out) :: nloc
11009 end subroutine
11010#endif
11011
11012#if IK2_ENABLED
11013 module subroutine setLocCusComCusIns_D1_D1_IK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11015 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_IK2
11016#endif
11017 use pm_kind, only: IKG => IK2
11018 integer(IKG) , intent(in) , contiguous :: array(:)
11019 integer(IKG) , intent(in) , contiguous :: pattern(:)
11020 procedure(logical(LK)) :: iseq
11021 integer(IK) , intent(in) , contiguous :: instance(:)
11022 logical(LK) , intent(in) :: sorted
11023 logical(LK) , intent(in) :: positive
11024 integer(IK) , intent(in) :: blindness
11025 integer(IK) , intent(inout) , allocatable :: loc(:)
11026 integer(IK) , intent(out) :: nloc
11027 end subroutine
11028#endif
11029
11030#if IK1_ENABLED
11031 module subroutine setLocCusComCusIns_D1_D1_IK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11032#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11033 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_IK1
11034#endif
11035 use pm_kind, only: IKG => IK1
11036 integer(IKG) , intent(in) , contiguous :: array(:)
11037 integer(IKG) , intent(in) , contiguous :: pattern(:)
11038 procedure(logical(LK)) :: iseq
11039 integer(IK) , intent(in) , contiguous :: instance(:)
11040 logical(LK) , intent(in) :: sorted
11041 logical(LK) , intent(in) :: positive
11042 integer(IK) , intent(in) :: blindness
11043 integer(IK) , intent(inout) , allocatable :: loc(:)
11044 integer(IK) , intent(out) :: nloc
11045 end subroutine
11046#endif
11047
11048 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11049
11050#if LK5_ENABLED
11051 module subroutine setLocCusComCusIns_D1_D1_LK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11053 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_LK5
11054#endif
11055 use pm_kind, only: LKG => LK5
11056 logical(LKG) , intent(in) , contiguous :: array(:)
11057 logical(LKG) , intent(in) , contiguous :: pattern(:)
11058 procedure(logical(LK)) :: iseq
11059 integer(IK) , intent(in) , contiguous :: instance(:)
11060 logical(LK) , intent(in) :: sorted
11061 logical(LK) , intent(in) :: positive
11062 integer(IK) , intent(in) :: blindness
11063 integer(IK) , intent(inout) , allocatable :: loc(:)
11064 integer(IK) , intent(out) :: nloc
11065 end subroutine
11066#endif
11067
11068#if LK4_ENABLED
11069 module subroutine setLocCusComCusIns_D1_D1_LK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11071 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_LK4
11072#endif
11073 use pm_kind, only: LKG => LK4
11074 logical(LKG) , intent(in) , contiguous :: array(:)
11075 logical(LKG) , intent(in) , contiguous :: pattern(:)
11076 procedure(logical(LK)) :: iseq
11077 integer(IK) , intent(in) , contiguous :: instance(:)
11078 logical(LK) , intent(in) :: sorted
11079 logical(LK) , intent(in) :: positive
11080 integer(IK) , intent(in) :: blindness
11081 integer(IK) , intent(inout) , allocatable :: loc(:)
11082 integer(IK) , intent(out) :: nloc
11083 end subroutine
11084#endif
11085
11086#if LK3_ENABLED
11087 module subroutine setLocCusComCusIns_D1_D1_LK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11089 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_LK3
11090#endif
11091 use pm_kind, only: LKG => LK3
11092 logical(LKG) , intent(in) , contiguous :: array(:)
11093 logical(LKG) , intent(in) , contiguous :: pattern(:)
11094 procedure(logical(LK)) :: iseq
11095 integer(IK) , intent(in) , contiguous :: instance(:)
11096 logical(LK) , intent(in) :: sorted
11097 logical(LK) , intent(in) :: positive
11098 integer(IK) , intent(in) :: blindness
11099 integer(IK) , intent(inout) , allocatable :: loc(:)
11100 integer(IK) , intent(out) :: nloc
11101 end subroutine
11102#endif
11103
11104#if LK2_ENABLED
11105 module subroutine setLocCusComCusIns_D1_D1_LK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11107 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_LK2
11108#endif
11109 use pm_kind, only: LKG => LK2
11110 logical(LKG) , intent(in) , contiguous :: array(:)
11111 logical(LKG) , intent(in) , contiguous :: pattern(:)
11112 procedure(logical(LK)) :: iseq
11113 integer(IK) , intent(in) , contiguous :: instance(:)
11114 logical(LK) , intent(in) :: sorted
11115 logical(LK) , intent(in) :: positive
11116 integer(IK) , intent(in) :: blindness
11117 integer(IK) , intent(inout) , allocatable :: loc(:)
11118 integer(IK) , intent(out) :: nloc
11119 end subroutine
11120#endif
11121
11122#if LK1_ENABLED
11123 module subroutine setLocCusComCusIns_D1_D1_LK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11125 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_LK1
11126#endif
11127 use pm_kind, only: LKG => LK1
11128 logical(LKG) , intent(in) , contiguous :: array(:)
11129 logical(LKG) , intent(in) , contiguous :: pattern(:)
11130 procedure(logical(LK)) :: iseq
11131 integer(IK) , intent(in) , contiguous :: instance(:)
11132 logical(LK) , intent(in) :: sorted
11133 logical(LK) , intent(in) :: positive
11134 integer(IK) , intent(in) :: blindness
11135 integer(IK) , intent(inout) , allocatable :: loc(:)
11136 integer(IK) , intent(out) :: nloc
11137 end subroutine
11138#endif
11139
11140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11141
11142#if CK5_ENABLED
11143 module subroutine setLocCusComCusIns_D1_D1_CK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11145 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_CK5
11146#endif
11147 use pm_kind, only: CKG => CK5
11148 complex(CKG) , intent(in) , contiguous :: array(:)
11149 complex(CKG) , intent(in) , contiguous :: pattern(:)
11150 procedure(logical(LK)) :: iseq
11151 integer(IK) , intent(in) , contiguous :: instance(:)
11152 logical(LK) , intent(in) :: sorted
11153 logical(LK) , intent(in) :: positive
11154 integer(IK) , intent(in) :: blindness
11155 integer(IK) , intent(inout) , allocatable :: loc(:)
11156 integer(IK) , intent(out) :: nloc
11157 end subroutine
11158#endif
11159
11160#if CK4_ENABLED
11161 module subroutine setLocCusComCusIns_D1_D1_CK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11163 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_CK4
11164#endif
11165 use pm_kind, only: CKG => CK4
11166 complex(CKG) , intent(in) , contiguous :: array(:)
11167 complex(CKG) , intent(in) , contiguous :: pattern(:)
11168 procedure(logical(LK)) :: iseq
11169 integer(IK) , intent(in) , contiguous :: instance(:)
11170 logical(LK) , intent(in) :: sorted
11171 logical(LK) , intent(in) :: positive
11172 integer(IK) , intent(in) :: blindness
11173 integer(IK) , intent(inout) , allocatable :: loc(:)
11174 integer(IK) , intent(out) :: nloc
11175 end subroutine
11176#endif
11177
11178#if CK3_ENABLED
11179 module subroutine setLocCusComCusIns_D1_D1_CK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11181 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_CK3
11182#endif
11183 use pm_kind, only: CKG => CK3
11184 complex(CKG) , intent(in) , contiguous :: array(:)
11185 complex(CKG) , intent(in) , contiguous :: pattern(:)
11186 procedure(logical(LK)) :: iseq
11187 integer(IK) , intent(in) , contiguous :: instance(:)
11188 logical(LK) , intent(in) :: sorted
11189 logical(LK) , intent(in) :: positive
11190 integer(IK) , intent(in) :: blindness
11191 integer(IK) , intent(inout) , allocatable :: loc(:)
11192 integer(IK) , intent(out) :: nloc
11193 end subroutine
11194#endif
11195
11196#if CK2_ENABLED
11197 module subroutine setLocCusComCusIns_D1_D1_CK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11199 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_CK2
11200#endif
11201 use pm_kind, only: CKG => CK2
11202 complex(CKG) , intent(in) , contiguous :: array(:)
11203 complex(CKG) , intent(in) , contiguous :: pattern(:)
11204 procedure(logical(LK)) :: iseq
11205 integer(IK) , intent(in) , contiguous :: instance(:)
11206 logical(LK) , intent(in) :: sorted
11207 logical(LK) , intent(in) :: positive
11208 integer(IK) , intent(in) :: blindness
11209 integer(IK) , intent(inout) , allocatable :: loc(:)
11210 integer(IK) , intent(out) :: nloc
11211 end subroutine
11212#endif
11213
11214#if CK1_ENABLED
11215 module subroutine setLocCusComCusIns_D1_D1_CK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11217 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_CK1
11218#endif
11219 use pm_kind, only: CKG => CK1
11220 complex(CKG) , intent(in) , contiguous :: array(:)
11221 complex(CKG) , intent(in) , contiguous :: pattern(:)
11222 procedure(logical(LK)) :: iseq
11223 integer(IK) , intent(in) , contiguous :: instance(:)
11224 logical(LK) , intent(in) :: sorted
11225 logical(LK) , intent(in) :: positive
11226 integer(IK) , intent(in) :: blindness
11227 integer(IK) , intent(inout) , allocatable :: loc(:)
11228 integer(IK) , intent(out) :: nloc
11229 end subroutine
11230#endif
11231
11232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11233
11234#if RK5_ENABLED
11235 module subroutine setLocCusComCusIns_D1_D1_RK5(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11237 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_RK5
11238#endif
11239 use pm_kind, only: RKG => RK5
11240 real(RKG) , intent(in) , contiguous :: array(:)
11241 real(RKG) , intent(in) , contiguous :: pattern(:)
11242 procedure(logical(LK)) :: iseq
11243 integer(IK) , intent(in) , contiguous :: instance(:)
11244 logical(LK) , intent(in) :: sorted
11245 logical(LK) , intent(in) :: positive
11246 integer(IK) , intent(in) :: blindness
11247 integer(IK) , intent(inout) , allocatable :: loc(:)
11248 integer(IK) , intent(out) :: nloc
11249 end subroutine
11250#endif
11251
11252#if RK4_ENABLED
11253 module subroutine setLocCusComCusIns_D1_D1_RK4(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11255 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_RK4
11256#endif
11257 use pm_kind, only: RKG => RK4
11258 real(RKG) , intent(in) , contiguous :: array(:)
11259 real(RKG) , intent(in) , contiguous :: pattern(:)
11260 procedure(logical(LK)) :: iseq
11261 integer(IK) , intent(in) , contiguous :: instance(:)
11262 logical(LK) , intent(in) :: sorted
11263 logical(LK) , intent(in) :: positive
11264 integer(IK) , intent(in) :: blindness
11265 integer(IK) , intent(inout) , allocatable :: loc(:)
11266 integer(IK) , intent(out) :: nloc
11267 end subroutine
11268#endif
11269
11270#if RK3_ENABLED
11271 module subroutine setLocCusComCusIns_D1_D1_RK3(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11273 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_RK3
11274#endif
11275 use pm_kind, only: RKG => RK3
11276 real(RKG) , intent(in) , contiguous :: array(:)
11277 real(RKG) , intent(in) , contiguous :: pattern(:)
11278 procedure(logical(LK)) :: iseq
11279 integer(IK) , intent(in) , contiguous :: instance(:)
11280 logical(LK) , intent(in) :: sorted
11281 logical(LK) , intent(in) :: positive
11282 integer(IK) , intent(in) :: blindness
11283 integer(IK) , intent(inout) , allocatable :: loc(:)
11284 integer(IK) , intent(out) :: nloc
11285 end subroutine
11286#endif
11287
11288#if RK2_ENABLED
11289 module subroutine setLocCusComCusIns_D1_D1_RK2(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11291 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_RK2
11292#endif
11293 use pm_kind, only: RKG => RK2
11294 real(RKG) , intent(in) , contiguous :: array(:)
11295 real(RKG) , intent(in) , contiguous :: pattern(:)
11296 procedure(logical(LK)) :: iseq
11297 integer(IK) , intent(in) , contiguous :: instance(:)
11298 logical(LK) , intent(in) :: sorted
11299 logical(LK) , intent(in) :: positive
11300 integer(IK) , intent(in) :: blindness
11301 integer(IK) , intent(inout) , allocatable :: loc(:)
11302 integer(IK) , intent(out) :: nloc
11303 end subroutine
11304#endif
11305
11306#if RK1_ENABLED
11307 module subroutine setLocCusComCusIns_D1_D1_RK1(loc, nloc, array, pattern, iseq, instance, sorted, positive, blindness)
11308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11309 !DEC$ ATTRIBUTES DLLEXPORT :: setLocCusComCusIns_D1_D1_RK1
11310#endif
11311 use pm_kind, only: RKG => RK1
11312 real(RKG) , intent(in) , contiguous :: array(:)
11313 real(RKG) , intent(in) , contiguous :: pattern(:)
11314 procedure(logical(LK)) :: iseq
11315 integer(IK) , intent(in) , contiguous :: instance(:)
11316 logical(LK) , intent(in) :: sorted
11317 logical(LK) , intent(in) :: positive
11318 integer(IK) , intent(in) :: blindness
11319 integer(IK) , intent(inout) , allocatable :: loc(:)
11320 integer(IK) , intent(out) :: nloc
11321 end subroutine
11322#endif
11323
11324 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11325
11326 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11327 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11328 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11329
11330 end interface
11331
11332!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11333
11334end module pm_arrayFind ! LCOV_EXCL_LINE
Generate and return the number of occurrences of the input pattern in the input array optionally subj...
Generate and return an allocatable array containing the indices of the locations within the input arr...
Return an allocatable array containing the indices of the locations within the input array where the ...
This module contains procedures and generic interfaces for finding locations of a pattern in arrays o...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_array.F90:44
type(discrete_type), parameter discrete
This is a scalar parameter object of type discrete_type that is exclusively used to signify the discr...
Definition: pm_array.F90:943
character(*, SK), parameter MODULE_NAME
Definition: pm_array.F90:50
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
integer, parameter SK3
Definition: pm_kind.F90:336
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
Definition: pm_array.F90:839
This is a concrete derived type whose instances are exclusively used to signify the discrete sequence...
Definition: pm_array.F90:922