ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arraySplit.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
47
49
50 use pm_kind, only: SK, IK, LK
51
52 implicit none
53
54 character(*, SK), parameter :: MODULE_NAME = "@pm_arraySplit"
55
56!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57
284
285 ! <li> An output `contiguous` vector of shape `(:)` of type `integer` of default kind \IK, <br>
286 ! representing the positions of the last elements of the split parts in the input `array` such that,<br>
287 ! <ol>
288 ! <li> The subset `array(1 : field(1) - lenDelim)` represents the first
289 ! <li> The subset `field(2, :)` contains the indices of the end points of the split parts of the input `array`.<br>
290 ! </ol>
291 ! The two elements along the first dimension represent the starting and the ending indices of each split part in `array`.<br>
292 ! The actual final number of splits of the input array will be output in the output argument `nsplit` such that,<br>
293 ! <ol>
294 ! <li> The subset `field(1, 1 : nsplit)` contains the indices of the beginnings of the split parts of the input `array`.<br>
295 ! <li> The subset `field(2, 1 : nsplit)` contains the indices of the end points of the split parts of the input `array`.<br>
296 ! </ol>
297 ! This `contiguous` form of `field` is available **if and only if** the output argument `nsplit` is also present.<br>
298 ! This `contiguous` form of `field` is particularly useful and performant by avoiding repeated allocations of the output `field`
299 ! when many records with roughly equal number of split parts are to be split using this generic interface.<br>
300 ! The only caveat is that the user must set the size of the second dimension of `field`
301 ! to be larger than or equal to the actual number of splits that the algorithm may find.<br>
302 ! This limitation can be readily overcome by pre-allocating `field` to theoretical maximum possible
303 ! value for the output `nsplit`, which yields the shape `(1 : 2, 1 : 1 + lenArray / min(1, lenDelim))`,
304 ! where `lenArray` is the length/size of the input `array` and `lenDelim` is length/size of the input `sep`.<br>
305 ! \param[in] nsplit : The output scalar of type `integer` of default kind \IK containing the number of splits identified in the input `array`,
306 ! such that `field(1 : nsplit)` represents the vector of positions of the last elements of split parts in the input `array`.<br>
307 ! (**optional**. It must be present *if and only** the output `field` is a pre-sized (allocated) **vector** of type `integer`.)
308
309! ! fixed-size index
310!
311! interface setSplit
312!
313! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316!
317! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320!
321! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322!
323!#if SK5_ENABLED
324! PURE module subroutine setSplitFixDefComDefIns_D0_D0_SK5(field, nsplit, array, sep, keep)
325!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
326! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D0_D0_SK5
327!#endif
328! use pm_kind, only: SKG => SK5
329! integer(IK) , intent(out) , contiguous :: field(:)
330! integer(IK) , intent(out) :: nsplit
331! character(*,SKG) , intent(in) :: array
332! character(*,SKG) , intent(in) :: sep
333! logical(LK) , intent(in) , optional :: keep
334! end subroutine
335!#endif
336!
337!#if SK4_ENABLED
338! PURE module subroutine setSplitFixDefComDefIns_D0_D0_SK4(field, nsplit, array, sep, keep)
339!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
340! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D0_D0_SK4
341!#endif
342! use pm_kind, only: SKG => SK4
343! integer(IK) , intent(out) , contiguous :: field(:)
344! integer(IK) , intent(out) :: nsplit
345! character(*,SKG) , intent(in) :: array
346! character(*,SKG) , intent(in) :: sep
347! logical(LK) , intent(in) , optional :: keep
348! end subroutine
349!#endif
350!
351!#if SK3_ENABLED
352! PURE module subroutine setSplitFixDefComDefIns_D0_D0_SK3(field, nsplit, array, sep, keep)
353!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
354! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D0_D0_SK3
355!#endif
356! use pm_kind, only: SKG => SK3
357! integer(IK) , intent(out) , contiguous :: field(:)
358! integer(IK) , intent(out) :: nsplit
359! character(*,SKG) , intent(in) :: array
360! character(*,SKG) , intent(in) :: sep
361! logical(LK) , intent(in) , optional :: keep
362! end subroutine
363!#endif
364!
365!#if SK2_ENABLED
366! PURE module subroutine setSplitFixDefComDefIns_D0_D0_SK2(field, nsplit, array, sep, keep)
367!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
368! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D0_D0_SK2
369!#endif
370! use pm_kind, only: SKG => SK2
371! integer(IK) , intent(out) , contiguous :: field(:)
372! integer(IK) , intent(out) :: nsplit
373! character(*,SKG) , intent(in) :: array
374! character(*,SKG) , intent(in) :: sep
375! logical(LK) , intent(in) , optional :: keep
376! end subroutine
377!#endif
378!
379!#if SK1_ENABLED
380! PURE module subroutine setSplitFixDefComDefIns_D0_D0_SK1(field, nsplit, array, sep, keep)
381!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
382! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D0_D0_SK1
383!#endif
384! use pm_kind, only: SKG => SK1
385! integer(IK) , intent(out) , contiguous :: field(:)
386! integer(IK) , intent(out) :: nsplit
387! character(*,SKG) , intent(in) :: array
388! character(*,SKG) , intent(in) :: sep
389! logical(LK) , intent(in) , optional :: keep
390! end subroutine
391!#endif
392!
393! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
394!
395!#if SK5_ENABLED
396! PURE module subroutine setSplitFixDefComDefIns_D1_D0_SK5(field, nsplit, array, sep, keep)
397!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
398! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_SK5
399!#endif
400! use pm_kind, only: SKG => SK5
401! integer(IK) , intent(out) , contiguous :: field(:)
402! integer(IK) , intent(out) :: nsplit
403! character(*,SKG) , intent(in) , contiguous :: array(:)
404! character(*,SKG) , intent(in) :: sep
405! logical(LK) , intent(in) , optional :: keep
406! end subroutine
407!#endif
408!
409!#if SK4_ENABLED
410! PURE module subroutine setSplitFixDefComDefIns_D1_D0_SK4(field, nsplit, array, sep, keep)
411!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_SK4
413!#endif
414! use pm_kind, only: SKG => SK4
415! integer(IK) , intent(out) , contiguous :: field(:)
416! integer(IK) , intent(out) :: nsplit
417! character(*,SKG) , intent(in) , contiguous :: array(:)
418! character(*,SKG) , intent(in) :: sep
419! logical(LK) , intent(in) , optional :: keep
420! end subroutine
421!#endif
422!
423!#if SK3_ENABLED
424! PURE module subroutine setSplitFixDefComDefIns_D1_D0_SK3(field, nsplit, array, sep, keep)
425!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
426! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_SK3
427!#endif
428! use pm_kind, only: SKG => SK3
429! integer(IK) , intent(out) , contiguous :: field(:)
430! integer(IK) , intent(out) :: nsplit
431! character(*,SKG) , intent(in) , contiguous :: array(:)
432! character(*,SKG) , intent(in) :: sep
433! logical(LK) , intent(in) , optional :: keep
434! end subroutine
435!#endif
436!
437!#if SK2_ENABLED
438! PURE module subroutine setSplitFixDefComDefIns_D1_D0_SK2(field, nsplit, array, sep, keep)
439!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
440! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_SK2
441!#endif
442! use pm_kind, only: SKG => SK2
443! integer(IK) , intent(out) , contiguous :: field(:)
444! integer(IK) , intent(out) :: nsplit
445! character(*,SKG) , intent(in) , contiguous :: array(:)
446! character(*,SKG) , intent(in) :: sep
447! logical(LK) , intent(in) , optional :: keep
448! end subroutine
449!#endif
450!
451!#if SK1_ENABLED
452! PURE module subroutine setSplitFixDefComDefIns_D1_D0_SK1(field, nsplit, array, sep, keep)
453!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
454! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_SK1
455!#endif
456! use pm_kind, only: SKG => SK1
457! integer(IK) , intent(out) , contiguous :: field(:)
458! integer(IK) , intent(out) :: nsplit
459! character(*,SKG) , intent(in) , contiguous :: array(:)
460! character(*,SKG) , intent(in) :: sep
461! logical(LK) , intent(in) , optional :: keep
462! end subroutine
463!#endif
464!
465! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
466!
467!#if IK5_ENABLED
468! PURE module subroutine setSplitFixDefComDefIns_D1_D0_IK5(field, nsplit, array, sep, keep)
469!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
470! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_IK5
471!#endif
472! use pm_kind, only: IKG => IK5
473! integer(IK) , intent(out) , contiguous :: field(:)
474! integer(IK) , intent(out) :: nsplit
475! integer(IKG) , intent(in) , contiguous :: array(:)
476! integer(IKG) , intent(in) :: sep
477! logical(LK) , intent(in) , optional :: keep
478! end subroutine
479!#endif
480!
481!#if IK4_ENABLED
482! PURE module subroutine setSplitFixDefComDefIns_D1_D0_IK4(field, nsplit, array, sep, keep)
483!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
484! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_IK4
485!#endif
486! use pm_kind, only: IKG => IK4
487! integer(IK) , intent(out) , contiguous :: field(:)
488! integer(IK) , intent(out) :: nsplit
489! integer(IKG) , intent(in) , contiguous :: array(:)
490! integer(IKG) , intent(in) :: sep
491! logical(LK) , intent(in) , optional :: keep
492! end subroutine
493!#endif
494!
495!#if IK3_ENABLED
496! PURE module subroutine setSplitFixDefComDefIns_D1_D0_IK3(field, nsplit, array, sep, keep)
497!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
498! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_IK3
499!#endif
500! use pm_kind, only: IKG => IK3
501! integer(IK) , intent(out) , contiguous :: field(:)
502! integer(IK) , intent(out) :: nsplit
503! integer(IKG) , intent(in) , contiguous :: array(:)
504! integer(IKG) , intent(in) :: sep
505! logical(LK) , intent(in) , optional :: keep
506! end subroutine
507!#endif
508!
509!#if IK2_ENABLED
510! PURE module subroutine setSplitFixDefComDefIns_D1_D0_IK2(field, nsplit, array, sep, keep)
511!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
512! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_IK2
513!#endif
514! use pm_kind, only: IKG => IK2
515! integer(IK) , intent(out) , contiguous :: field(:)
516! integer(IK) , intent(out) :: nsplit
517! integer(IKG) , intent(in) , contiguous :: array(:)
518! integer(IKG) , intent(in) :: sep
519! logical(LK) , intent(in) , optional :: keep
520! end subroutine
521!#endif
522!
523!#if IK1_ENABLED
524! PURE module subroutine setSplitFixDefComDefIns_D1_D0_IK1(field, nsplit, array, sep, keep)
525!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
526! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_IK1
527!#endif
528! use pm_kind, only: IKG => IK1
529! integer(IK) , intent(out) , contiguous :: field(:)
530! integer(IK) , intent(out) :: nsplit
531! integer(IKG) , intent(in) , contiguous :: array(:)
532! integer(IKG) , intent(in) :: sep
533! logical(LK) , intent(in) , optional :: keep
534! end subroutine
535!#endif
536!
537! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
538!
539!#if LK5_ENABLED
540! PURE module subroutine setSplitFixDefComDefIns_D1_D0_LK5(field, nsplit, array, sep, keep)
541!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
542! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_LK5
543!#endif
544! use pm_kind, only: LKG => LK5
545! integer(IK) , intent(out) , contiguous :: field(:)
546! integer(IK) , intent(out) :: nsplit
547! logical(LKG) , intent(in) , contiguous :: array(:)
548! logical(LKG) , intent(in) :: sep
549! logical(LK) , intent(in) , optional :: keep
550! end subroutine
551!#endif
552!
553!#if LK4_ENABLED
554! PURE module subroutine setSplitFixDefComDefIns_D1_D0_LK4(field, nsplit, array, sep, keep)
555!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
556! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_LK4
557!#endif
558! use pm_kind, only: LKG => LK4
559! integer(IK) , intent(out) , contiguous :: field(:)
560! integer(IK) , intent(out) :: nsplit
561! logical(LKG) , intent(in) , contiguous :: array(:)
562! logical(LKG) , intent(in) :: sep
563! logical(LK) , intent(in) , optional :: keep
564! end subroutine
565!#endif
566!
567!#if LK3_ENABLED
568! PURE module subroutine setSplitFixDefComDefIns_D1_D0_LK3(field, nsplit, array, sep, keep)
569!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
570! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_LK3
571!#endif
572! use pm_kind, only: LKG => LK3
573! integer(IK) , intent(out) , contiguous :: field(:)
574! integer(IK) , intent(out) :: nsplit
575! logical(LKG) , intent(in) , contiguous :: array(:)
576! logical(LKG) , intent(in) :: sep
577! logical(LK) , intent(in) , optional :: keep
578! end subroutine
579!#endif
580!
581!#if LK2_ENABLED
582! PURE module subroutine setSplitFixDefComDefIns_D1_D0_LK2(field, nsplit, array, sep, keep)
583!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
584! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_LK2
585!#endif
586! use pm_kind, only: LKG => LK2
587! integer(IK) , intent(out) , contiguous :: field(:)
588! integer(IK) , intent(out) :: nsplit
589! logical(LKG) , intent(in) , contiguous :: array(:)
590! logical(LKG) , intent(in) :: sep
591! logical(LK) , intent(in) , optional :: keep
592! end subroutine
593!#endif
594!
595!#if LK1_ENABLED
596! PURE module subroutine setSplitFixDefComDefIns_D1_D0_LK1(field, nsplit, array, sep, keep)
597!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
598! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_LK1
599!#endif
600! use pm_kind, only: LKG => LK1
601! integer(IK) , intent(out) , contiguous :: field(:)
602! integer(IK) , intent(out) :: nsplit
603! logical(LKG) , intent(in) , contiguous :: array(:)
604! logical(LKG) , intent(in) :: sep
605! logical(LK) , intent(in) , optional :: keep
606! end subroutine
607!#endif
608!
609! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610!
611!#if CK5_ENABLED
612! PURE module subroutine setSplitFixDefComDefIns_D1_D0_CK5(field, nsplit, array, sep, keep)
613!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
614! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_CK5
615!#endif
616! use pm_kind, only: CKG => CK5
617! integer(IK) , intent(out) , contiguous :: field(:)
618! integer(IK) , intent(out) :: nsplit
619! complex(CKG) , intent(in) , contiguous :: array(:)
620! complex(CKG) , intent(in) :: sep
621! logical(LK) , intent(in) , optional :: keep
622! end subroutine
623!#endif
624!
625!#if CK4_ENABLED
626! PURE module subroutine setSplitFixDefComDefIns_D1_D0_CK4(field, nsplit, array, sep, keep)
627!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
628! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_CK4
629!#endif
630! use pm_kind, only: CKG => CK4
631! integer(IK) , intent(out) , contiguous :: field(:)
632! integer(IK) , intent(out) :: nsplit
633! complex(CKG) , intent(in) , contiguous :: array(:)
634! complex(CKG) , intent(in) :: sep
635! logical(LK) , intent(in) , optional :: keep
636! end subroutine
637!#endif
638!
639!#if CK3_ENABLED
640! PURE module subroutine setSplitFixDefComDefIns_D1_D0_CK3(field, nsplit, array, sep, keep)
641!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
642! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_CK3
643!#endif
644! use pm_kind, only: CKG => CK3
645! integer(IK) , intent(out) , contiguous :: field(:)
646! integer(IK) , intent(out) :: nsplit
647! complex(CKG) , intent(in) , contiguous :: array(:)
648! complex(CKG) , intent(in) :: sep
649! logical(LK) , intent(in) , optional :: keep
650! end subroutine
651!#endif
652!
653!#if CK2_ENABLED
654! PURE module subroutine setSplitFixDefComDefIns_D1_D0_CK2(field, nsplit, array, sep, keep)
655!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
656! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_CK2
657!#endif
658! use pm_kind, only: CKG => CK2
659! integer(IK) , intent(out) , contiguous :: field(:)
660! integer(IK) , intent(out) :: nsplit
661! complex(CKG) , intent(in) , contiguous :: array(:)
662! complex(CKG) , intent(in) :: sep
663! logical(LK) , intent(in) , optional :: keep
664! end subroutine
665!#endif
666!
667!#if CK1_ENABLED
668! PURE module subroutine setSplitFixDefComDefIns_D1_D0_CK1(field, nsplit, array, sep, keep)
669!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
670! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_CK1
671!#endif
672! use pm_kind, only: CKG => CK1
673! integer(IK) , intent(out) , contiguous :: field(:)
674! integer(IK) , intent(out) :: nsplit
675! complex(CKG) , intent(in) , contiguous :: array(:)
676! complex(CKG) , intent(in) :: sep
677! logical(LK) , intent(in) , optional :: keep
678! end subroutine
679!#endif
680!
681! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
682!
683!#if RK5_ENABLED
684! PURE module subroutine setSplitFixDefComDefIns_D1_D0_RK5(field, nsplit, array, sep, keep)
685!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
686! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_RK5
687!#endif
688! use pm_kind, only: RKG => RK5
689! integer(IK) , intent(out) , contiguous :: field(:)
690! integer(IK) , intent(out) :: nsplit
691! real(RKG) , intent(in) , contiguous :: array(:)
692! real(RKG) , intent(in) :: sep
693! logical(LK) , intent(in) , optional :: keep
694! end subroutine
695!#endif
696!
697!#if RK4_ENABLED
698! PURE module subroutine setSplitFixDefComDefIns_D1_D0_RK4(field, nsplit, array, sep, keep)
699!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
700! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_RK4
701!#endif
702! use pm_kind, only: RKG => RK4
703! integer(IK) , intent(out) , contiguous :: field(:)
704! integer(IK) , intent(out) :: nsplit
705! real(RKG) , intent(in) , contiguous :: array(:)
706! real(RKG) , intent(in) :: sep
707! logical(LK) , intent(in) , optional :: keep
708! end subroutine
709!#endif
710!
711!#if RK3_ENABLED
712! PURE module subroutine setSplitFixDefComDefIns_D1_D0_RK3(field, nsplit, array, sep, keep)
713!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
714! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_RK3
715!#endif
716! use pm_kind, only: RKG => RK3
717! integer(IK) , intent(out) , contiguous :: field(:)
718! integer(IK) , intent(out) :: nsplit
719! real(RKG) , intent(in) , contiguous :: array(:)
720! real(RKG) , intent(in) :: sep
721! logical(LK) , intent(in) , optional :: keep
722! end subroutine
723!#endif
724!
725!#if RK2_ENABLED
726! PURE module subroutine setSplitFixDefComDefIns_D1_D0_RK2(field, nsplit, array, sep, keep)
727!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
728! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_RK2
729!#endif
730! use pm_kind, only: RKG => RK2
731! integer(IK) , intent(out) , contiguous :: field(:)
732! integer(IK) , intent(out) :: nsplit
733! real(RKG) , intent(in) , contiguous :: array(:)
734! real(RKG) , intent(in) :: sep
735! logical(LK) , intent(in) , optional :: keep
736! end subroutine
737!#endif
738!
739!#if RK1_ENABLED
740! PURE module subroutine setSplitFixDefComDefIns_D1_D0_RK1(field, nsplit, array, sep, keep)
741!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
742! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D0_RK1
743!#endif
744! use pm_kind, only: RKG => RK1
745! integer(IK) , intent(out) , contiguous :: field(:)
746! integer(IK) , intent(out) :: nsplit
747! real(RKG) , intent(in) , contiguous :: array(:)
748! real(RKG) , intent(in) :: sep
749! logical(LK) , intent(in) , optional :: keep
750! end subroutine
751!#endif
752!
753! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
754!
755! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
758!
759! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760!
761!#if SK5_ENABLED
762! module subroutine setSplitFixCusComDefIns_D0_D0_SK5(field, nsplit, array, sep, iseq, keep)
763!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
764! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D0_D0_SK5
765!#endif
766! use pm_kind, only: SKG => SK5
767! integer(IK) , intent(out) , contiguous :: field(:)
768! integer(IK) , intent(out) :: nsplit
769! character(*,SKG) , intent(in) :: array
770! character(*,SKG) , intent(in) :: sep
771! procedure(logical(LK)) :: iseq
772! logical(LK) , intent(in) , optional :: keep
773! end subroutine
774!#endif
775!
776!#if SK4_ENABLED
777! module subroutine setSplitFixCusComDefIns_D0_D0_SK4(field, nsplit, array, sep, iseq, keep)
778!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
779! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D0_D0_SK4
780!#endif
781! use pm_kind, only: SKG => SK4
782! integer(IK) , intent(out) , contiguous :: field(:)
783! integer(IK) , intent(out) :: nsplit
784! character(*,SKG) , intent(in) :: array
785! character(*,SKG) , intent(in) :: sep
786! procedure(logical(LK)) :: iseq
787! logical(LK) , intent(in) , optional :: keep
788! end subroutine
789!#endif
790!
791!#if SK3_ENABLED
792! module subroutine setSplitFixCusComDefIns_D0_D0_SK3(field, nsplit, array, sep, iseq, keep)
793!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
794! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D0_D0_SK3
795!#endif
796! use pm_kind, only: SKG => SK3
797! integer(IK) , intent(out) , contiguous :: field(:)
798! integer(IK) , intent(out) :: nsplit
799! character(*,SKG) , intent(in) :: array
800! character(*,SKG) , intent(in) :: sep
801! procedure(logical(LK)) :: iseq
802! logical(LK) , intent(in) , optional :: keep
803! end subroutine
804!#endif
805!
806!#if SK2_ENABLED
807! module subroutine setSplitFixCusComDefIns_D0_D0_SK2(field, nsplit, array, sep, iseq, keep)
808!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
809! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D0_D0_SK2
810!#endif
811! use pm_kind, only: SKG => SK2
812! integer(IK) , intent(out) , contiguous :: field(:)
813! integer(IK) , intent(out) :: nsplit
814! character(*,SKG) , intent(in) :: array
815! character(*,SKG) , intent(in) :: sep
816! procedure(logical(LK)) :: iseq
817! logical(LK) , intent(in) , optional :: keep
818! end subroutine
819!#endif
820!
821!#if SK1_ENABLED
822! module subroutine setSplitFixCusComDefIns_D0_D0_SK1(field, nsplit, array, sep, iseq, keep)
823!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D0_D0_SK1
825!#endif
826! use pm_kind, only: SKG => SK1
827! integer(IK) , intent(out) , contiguous :: field(:)
828! integer(IK) , intent(out) :: nsplit
829! character(*,SKG) , intent(in) :: array
830! character(*,SKG) , intent(in) :: sep
831! procedure(logical(LK)) :: iseq
832! logical(LK) , intent(in) , optional :: keep
833! end subroutine
834!#endif
835!
836! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
837!
838!#if SK5_ENABLED
839! module subroutine setSplitFixCusComDefIns_D1_D0_SK5(field, nsplit, array, sep, iseq, keep)
840!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
841! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_SK5
842!#endif
843! use pm_kind, only: SKG => SK5
844! integer(IK) , intent(out) , contiguous :: field(:)
845! integer(IK) , intent(out) :: nsplit
846! character(*,SKG) , intent(in) , contiguous :: array(:)
847! character(*,SKG) , intent(in) :: sep
848! procedure(logical(LK)) :: iseq
849! logical(LK) , intent(in) , optional :: keep
850! end subroutine
851!#endif
852!
853!#if SK4_ENABLED
854! module subroutine setSplitFixCusComDefIns_D1_D0_SK4(field, nsplit, array, sep, iseq, keep)
855!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
856! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_SK4
857!#endif
858! use pm_kind, only: SKG => SK4
859! integer(IK) , intent(out) , contiguous :: field(:)
860! integer(IK) , intent(out) :: nsplit
861! character(*,SKG) , intent(in) , contiguous :: array(:)
862! character(*,SKG) , intent(in) :: sep
863! procedure(logical(LK)) :: iseq
864! logical(LK) , intent(in) , optional :: keep
865! end subroutine
866!#endif
867!
868!#if SK3_ENABLED
869! module subroutine setSplitFixCusComDefIns_D1_D0_SK3(field, nsplit, array, sep, iseq, keep)
870!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
871! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_SK3
872!#endif
873! use pm_kind, only: SKG => SK3
874! integer(IK) , intent(out) , contiguous :: field(:)
875! integer(IK) , intent(out) :: nsplit
876! character(*,SKG) , intent(in) , contiguous :: array(:)
877! character(*,SKG) , intent(in) :: sep
878! procedure(logical(LK)) :: iseq
879! logical(LK) , intent(in) , optional :: keep
880! end subroutine
881!#endif
882!
883!#if SK2_ENABLED
884! module subroutine setSplitFixCusComDefIns_D1_D0_SK2(field, nsplit, array, sep, iseq, keep)
885!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_SK2
887!#endif
888! use pm_kind, only: SKG => SK2
889! integer(IK) , intent(out) , contiguous :: field(:)
890! integer(IK) , intent(out) :: nsplit
891! character(*,SKG) , intent(in) , contiguous :: array(:)
892! character(*,SKG) , intent(in) :: sep
893! procedure(logical(LK)) :: iseq
894! logical(LK) , intent(in) , optional :: keep
895! end subroutine
896!#endif
897!
898!#if SK1_ENABLED
899! module subroutine setSplitFixCusComDefIns_D1_D0_SK1(field, nsplit, array, sep, iseq, keep)
900!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
901! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_SK1
902!#endif
903! use pm_kind, only: SKG => SK1
904! integer(IK) , intent(out) , contiguous :: field(:)
905! integer(IK) , intent(out) :: nsplit
906! character(*,SKG) , intent(in) , contiguous :: array(:)
907! character(*,SKG) , intent(in) :: sep
908! procedure(logical(LK)) :: iseq
909! logical(LK) , intent(in) , optional :: keep
910! end subroutine
911!#endif
912!
913! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
914!
915!#if IK5_ENABLED
916! module subroutine setSplitFixCusComDefIns_D1_D0_IK5(field, nsplit, array, sep, iseq, keep)
917!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
918! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_IK5
919!#endif
920! use pm_kind, only: IKG => IK5
921! integer(IK) , intent(out) , contiguous :: field(:)
922! integer(IK) , intent(out) :: nsplit
923! integer(IKG) , intent(in) , contiguous :: array(:)
924! integer(IKG) , intent(in) :: sep
925! procedure(logical(LK)) :: iseq
926! logical(LK) , intent(in) , optional :: keep
927! end subroutine
928!#endif
929!
930!#if IK4_ENABLED
931! module subroutine setSplitFixCusComDefIns_D1_D0_IK4(field, nsplit, array, sep, iseq, keep)
932!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
933! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_IK4
934!#endif
935! use pm_kind, only: IKG => IK4
936! integer(IK) , intent(out) , contiguous :: field(:)
937! integer(IK) , intent(out) :: nsplit
938! integer(IKG) , intent(in) , contiguous :: array(:)
939! integer(IKG) , intent(in) :: sep
940! procedure(logical(LK)) :: iseq
941! logical(LK) , intent(in) , optional :: keep
942! end subroutine
943!#endif
944!
945!#if IK3_ENABLED
946! module subroutine setSplitFixCusComDefIns_D1_D0_IK3(field, nsplit, array, sep, iseq, keep)
947!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
948! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_IK3
949!#endif
950! use pm_kind, only: IKG => IK3
951! integer(IK) , intent(out) , contiguous :: field(:)
952! integer(IK) , intent(out) :: nsplit
953! integer(IKG) , intent(in) , contiguous :: array(:)
954! integer(IKG) , intent(in) :: sep
955! procedure(logical(LK)) :: iseq
956! logical(LK) , intent(in) , optional :: keep
957! end subroutine
958!#endif
959!
960!#if IK2_ENABLED
961! module subroutine setSplitFixCusComDefIns_D1_D0_IK2(field, nsplit, array, sep, iseq, keep)
962!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
963! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_IK2
964!#endif
965! use pm_kind, only: IKG => IK2
966! integer(IK) , intent(out) , contiguous :: field(:)
967! integer(IK) , intent(out) :: nsplit
968! integer(IKG) , intent(in) , contiguous :: array(:)
969! integer(IKG) , intent(in) :: sep
970! procedure(logical(LK)) :: iseq
971! logical(LK) , intent(in) , optional :: keep
972! end subroutine
973!#endif
974!
975!#if IK1_ENABLED
976! module subroutine setSplitFixCusComDefIns_D1_D0_IK1(field, nsplit, array, sep, iseq, keep)
977!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
978! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_IK1
979!#endif
980! use pm_kind, only: IKG => IK1
981! integer(IK) , intent(out) , contiguous :: field(:)
982! integer(IK) , intent(out) :: nsplit
983! integer(IKG) , intent(in) , contiguous :: array(:)
984! integer(IKG) , intent(in) :: sep
985! procedure(logical(LK)) :: iseq
986! logical(LK) , intent(in) , optional :: keep
987! end subroutine
988!#endif
989!
990! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
991!
992!#if LK5_ENABLED
993! module subroutine setSplitFixCusComDefIns_D1_D0_LK5(field, nsplit, array, sep, iseq, keep)
994!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
995! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_LK5
996!#endif
997! use pm_kind, only: LKG => LK5
998! integer(IK) , intent(out) , contiguous :: field(:)
999! integer(IK) , intent(out) :: nsplit
1000! logical(LKG) , intent(in) , contiguous :: array(:)
1001! logical(LKG) , intent(in) :: sep
1002! procedure(logical(LK)) :: iseq
1003! logical(LK) , intent(in) , optional :: keep
1004! end subroutine
1005!#endif
1006!
1007!#if LK4_ENABLED
1008! module subroutine setSplitFixCusComDefIns_D1_D0_LK4(field, nsplit, array, sep, iseq, keep)
1009!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1010! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_LK4
1011!#endif
1012! use pm_kind, only: LKG => LK4
1013! integer(IK) , intent(out) , contiguous :: field(:)
1014! integer(IK) , intent(out) :: nsplit
1015! logical(LKG) , intent(in) , contiguous :: array(:)
1016! logical(LKG) , intent(in) :: sep
1017! procedure(logical(LK)) :: iseq
1018! logical(LK) , intent(in) , optional :: keep
1019! end subroutine
1020!#endif
1021!
1022!#if LK3_ENABLED
1023! module subroutine setSplitFixCusComDefIns_D1_D0_LK3(field, nsplit, array, sep, iseq, keep)
1024!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1025! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_LK3
1026!#endif
1027! use pm_kind, only: LKG => LK3
1028! integer(IK) , intent(out) , contiguous :: field(:)
1029! integer(IK) , intent(out) :: nsplit
1030! logical(LKG) , intent(in) , contiguous :: array(:)
1031! logical(LKG) , intent(in) :: sep
1032! procedure(logical(LK)) :: iseq
1033! logical(LK) , intent(in) , optional :: keep
1034! end subroutine
1035!#endif
1036!
1037!#if LK2_ENABLED
1038! module subroutine setSplitFixCusComDefIns_D1_D0_LK2(field, nsplit, array, sep, iseq, keep)
1039!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1040! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_LK2
1041!#endif
1042! use pm_kind, only: LKG => LK2
1043! integer(IK) , intent(out) , contiguous :: field(:)
1044! integer(IK) , intent(out) :: nsplit
1045! logical(LKG) , intent(in) , contiguous :: array(:)
1046! logical(LKG) , intent(in) :: sep
1047! procedure(logical(LK)) :: iseq
1048! logical(LK) , intent(in) , optional :: keep
1049! end subroutine
1050!#endif
1051!
1052!#if LK1_ENABLED
1053! module subroutine setSplitFixCusComDefIns_D1_D0_LK1(field, nsplit, array, sep, iseq, keep)
1054!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1055! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_LK1
1056!#endif
1057! use pm_kind, only: LKG => LK1
1058! integer(IK) , intent(out) , contiguous :: field(:)
1059! integer(IK) , intent(out) :: nsplit
1060! logical(LKG) , intent(in) , contiguous :: array(:)
1061! logical(LKG) , intent(in) :: sep
1062! procedure(logical(LK)) :: iseq
1063! logical(LK) , intent(in) , optional :: keep
1064! end subroutine
1065!#endif
1066!
1067! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1068!
1069!#if CK5_ENABLED
1070! module subroutine setSplitFixCusComDefIns_D1_D0_CK5(field, nsplit, array, sep, iseq, keep)
1071!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1072! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_CK5
1073!#endif
1074! use pm_kind, only: CKG => CK5
1075! integer(IK) , intent(out) , contiguous :: field(:)
1076! integer(IK) , intent(out) :: nsplit
1077! complex(CKG) , intent(in) , contiguous :: array(:)
1078! complex(CKG) , intent(in) :: sep
1079! procedure(logical(LK)) :: iseq
1080! logical(LK) , intent(in) , optional :: keep
1081! end subroutine
1082!#endif
1083!
1084!#if CK4_ENABLED
1085! module subroutine setSplitFixCusComDefIns_D1_D0_CK4(field, nsplit, array, sep, iseq, keep)
1086!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1087! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_CK4
1088!#endif
1089! use pm_kind, only: CKG => CK4
1090! integer(IK) , intent(out) , contiguous :: field(:)
1091! integer(IK) , intent(out) :: nsplit
1092! complex(CKG) , intent(in) , contiguous :: array(:)
1093! complex(CKG) , intent(in) :: sep
1094! procedure(logical(LK)) :: iseq
1095! logical(LK) , intent(in) , optional :: keep
1096! end subroutine
1097!#endif
1098!
1099!#if CK3_ENABLED
1100! module subroutine setSplitFixCusComDefIns_D1_D0_CK3(field, nsplit, array, sep, iseq, keep)
1101!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1102! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_CK3
1103!#endif
1104! use pm_kind, only: CKG => CK3
1105! integer(IK) , intent(out) , contiguous :: field(:)
1106! integer(IK) , intent(out) :: nsplit
1107! complex(CKG) , intent(in) , contiguous :: array(:)
1108! complex(CKG) , intent(in) :: sep
1109! procedure(logical(LK)) :: iseq
1110! logical(LK) , intent(in) , optional :: keep
1111! end subroutine
1112!#endif
1113!
1114!#if CK2_ENABLED
1115! module subroutine setSplitFixCusComDefIns_D1_D0_CK2(field, nsplit, array, sep, iseq, keep)
1116!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1117! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_CK2
1118!#endif
1119! use pm_kind, only: CKG => CK2
1120! integer(IK) , intent(out) , contiguous :: field(:)
1121! integer(IK) , intent(out) :: nsplit
1122! complex(CKG) , intent(in) , contiguous :: array(:)
1123! complex(CKG) , intent(in) :: sep
1124! procedure(logical(LK)) :: iseq
1125! logical(LK) , intent(in) , optional :: keep
1126! end subroutine
1127!#endif
1128!
1129!#if CK1_ENABLED
1130! module subroutine setSplitFixCusComDefIns_D1_D0_CK1(field, nsplit, array, sep, iseq, keep)
1131!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1132! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_CK1
1133!#endif
1134! use pm_kind, only: CKG => CK1
1135! integer(IK) , intent(out) , contiguous :: field(:)
1136! integer(IK) , intent(out) :: nsplit
1137! complex(CKG) , intent(in) , contiguous :: array(:)
1138! complex(CKG) , intent(in) :: sep
1139! procedure(logical(LK)) :: iseq
1140! logical(LK) , intent(in) , optional :: keep
1141! end subroutine
1142!#endif
1143!
1144! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1145!
1146!#if RK5_ENABLED
1147! module subroutine setSplitFixCusComDefIns_D1_D0_RK5(field, nsplit, array, sep, iseq, keep)
1148!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1149! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_RK5
1150!#endif
1151! use pm_kind, only: RKG => RK5
1152! integer(IK) , intent(out) , contiguous :: field(:)
1153! integer(IK) , intent(out) :: nsplit
1154! real(RKG) , intent(in) , contiguous :: array(:)
1155! real(RKG) , intent(in) :: sep
1156! procedure(logical(LK)) :: iseq
1157! logical(LK) , intent(in) , optional :: keep
1158! end subroutine
1159!#endif
1160!
1161!#if RK4_ENABLED
1162! module subroutine setSplitFixCusComDefIns_D1_D0_RK4(field, nsplit, array, sep, iseq, keep)
1163!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1164! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_RK4
1165!#endif
1166! use pm_kind, only: RKG => RK4
1167! integer(IK) , intent(out) , contiguous :: field(:)
1168! integer(IK) , intent(out) :: nsplit
1169! real(RKG) , intent(in) , contiguous :: array(:)
1170! real(RKG) , intent(in) :: sep
1171! procedure(logical(LK)) :: iseq
1172! logical(LK) , intent(in) , optional :: keep
1173! end subroutine
1174!#endif
1175!
1176!#if RK3_ENABLED
1177! module subroutine setSplitFixCusComDefIns_D1_D0_RK3(field, nsplit, array, sep, iseq, keep)
1178!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1179! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_RK3
1180!#endif
1181! use pm_kind, only: RKG => RK3
1182! integer(IK) , intent(out) , contiguous :: field(:)
1183! integer(IK) , intent(out) :: nsplit
1184! real(RKG) , intent(in) , contiguous :: array(:)
1185! real(RKG) , intent(in) :: sep
1186! procedure(logical(LK)) :: iseq
1187! logical(LK) , intent(in) , optional :: keep
1188! end subroutine
1189!#endif
1190!
1191!#if RK2_ENABLED
1192! module subroutine setSplitFixCusComDefIns_D1_D0_RK2(field, nsplit, array, sep, iseq, keep)
1193!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1194! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_RK2
1195!#endif
1196! use pm_kind, only: RKG => RK2
1197! integer(IK) , intent(out) , contiguous :: field(:)
1198! integer(IK) , intent(out) :: nsplit
1199! real(RKG) , intent(in) , contiguous :: array(:)
1200! real(RKG) , intent(in) :: sep
1201! procedure(logical(LK)) :: iseq
1202! logical(LK) , intent(in) , optional :: keep
1203! end subroutine
1204!#endif
1205!
1206!#if RK1_ENABLED
1207! module subroutine setSplitFixCusComDefIns_D1_D0_RK1(field, nsplit, array, sep, iseq, keep)
1208!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1209! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D0_RK1
1210!#endif
1211! use pm_kind, only: RKG => RK1
1212! integer(IK) , intent(out) , contiguous :: field(:)
1213! integer(IK) , intent(out) :: nsplit
1214! real(RKG) , intent(in) , contiguous :: array(:)
1215! real(RKG) , intent(in) :: sep
1216! procedure(logical(LK)) :: iseq
1217! logical(LK) , intent(in) , optional :: keep
1218! end subroutine
1219!#endif
1220!
1221! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1222!
1223! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1224! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1225! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1226!
1227! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1228!
1229!#if SK5_ENABLED
1230! PURE module subroutine setSplitFixDefComCusIns_D0_D0_SK5(field, nsplit, array, sep, instance, sorted, unique, keep)
1231!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1232! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D0_D0_SK5
1233!#endif
1234! use pm_kind, only: SKG => SK5
1235! integer(IK) , intent(out) , contiguous :: field(:)
1236! integer(IK) , intent(out) :: nsplit
1237! character(*,SKG) , intent(in) :: array
1238! character(*,SKG) , intent(in) :: sep
1239! integer(IK) , intent(in) , contiguous :: instance(:)
1240! logical(LK) , intent(in) , optional :: sorted
1241! logical(LK) , intent(in) , optional :: unique
1242! logical(LK) , intent(in) , optional :: keep
1243! end subroutine
1244!#endif
1245!
1246!#if SK4_ENABLED
1247! PURE module subroutine setSplitFixDefComCusIns_D0_D0_SK4(field, nsplit, array, sep, instance, sorted, unique, keep)
1248!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1249! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D0_D0_SK4
1250!#endif
1251! use pm_kind, only: SKG => SK4
1252! integer(IK) , intent(out) , contiguous :: field(:)
1253! integer(IK) , intent(out) :: nsplit
1254! character(*,SKG) , intent(in) :: array
1255! character(*,SKG) , intent(in) :: sep
1256! integer(IK) , intent(in) , contiguous :: instance(:)
1257! logical(LK) , intent(in) , optional :: sorted
1258! logical(LK) , intent(in) , optional :: unique
1259! logical(LK) , intent(in) , optional :: keep
1260! end subroutine
1261!#endif
1262!
1263!#if SK3_ENABLED
1264! PURE module subroutine setSplitFixDefComCusIns_D0_D0_SK3(field, nsplit, array, sep, instance, sorted, unique, keep)
1265!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1266! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D0_D0_SK3
1267!#endif
1268! use pm_kind, only: SKG => SK3
1269! integer(IK) , intent(out) , contiguous :: field(:)
1270! integer(IK) , intent(out) :: nsplit
1271! character(*,SKG) , intent(in) :: array
1272! character(*,SKG) , intent(in) :: sep
1273! integer(IK) , intent(in) , contiguous :: instance(:)
1274! logical(LK) , intent(in) , optional :: sorted
1275! logical(LK) , intent(in) , optional :: unique
1276! logical(LK) , intent(in) , optional :: keep
1277! end subroutine
1278!#endif
1279!
1280!#if SK2_ENABLED
1281! PURE module subroutine setSplitFixDefComCusIns_D0_D0_SK2(field, nsplit, array, sep, instance, sorted, unique, keep)
1282!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1283! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D0_D0_SK2
1284!#endif
1285! use pm_kind, only: SKG => SK2
1286! integer(IK) , intent(out) , contiguous :: field(:)
1287! integer(IK) , intent(out) :: nsplit
1288! character(*,SKG) , intent(in) :: array
1289! character(*,SKG) , intent(in) :: sep
1290! integer(IK) , intent(in) , contiguous :: instance(:)
1291! logical(LK) , intent(in) , optional :: sorted
1292! logical(LK) , intent(in) , optional :: unique
1293! logical(LK) , intent(in) , optional :: keep
1294! end subroutine
1295!#endif
1296!
1297!#if SK1_ENABLED
1298! PURE module subroutine setSplitFixDefComCusIns_D0_D0_SK1(field, nsplit, array, sep, instance, sorted, unique, keep)
1299!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1300! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D0_D0_SK1
1301!#endif
1302! use pm_kind, only: SKG => SK1
1303! integer(IK) , intent(out) , contiguous :: field(:)
1304! integer(IK) , intent(out) :: nsplit
1305! character(*,SKG) , intent(in) :: array
1306! character(*,SKG) , intent(in) :: sep
1307! integer(IK) , intent(in) , contiguous :: instance(:)
1308! logical(LK) , intent(in) , optional :: sorted
1309! logical(LK) , intent(in) , optional :: unique
1310! logical(LK) , intent(in) , optional :: keep
1311! end subroutine
1312!#endif
1313!
1314! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1315!
1316!#if SK5_ENABLED
1317! PURE module subroutine setSplitFixDefComCusIns_D1_D0_SK5(field, nsplit, array, sep, instance, sorted, unique, keep)
1318!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1319! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_SK5
1320!#endif
1321! use pm_kind, only: SKG => SK5
1322! integer(IK) , intent(out) , contiguous :: field(:)
1323! integer(IK) , intent(out) :: nsplit
1324! character(*,SKG) , intent(in) , contiguous :: array(:)
1325! character(*,SKG) , intent(in) :: sep
1326! integer(IK) , intent(in) , contiguous :: instance(:)
1327! logical(LK) , intent(in) , optional :: sorted
1328! logical(LK) , intent(in) , optional :: unique
1329! logical(LK) , intent(in) , optional :: keep
1330! end subroutine
1331!#endif
1332!
1333!#if SK4_ENABLED
1334! PURE module subroutine setSplitFixDefComCusIns_D1_D0_SK4(field, nsplit, array, sep, instance, sorted, unique, keep)
1335!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1336! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_SK4
1337!#endif
1338! use pm_kind, only: SKG => SK4
1339! integer(IK) , intent(out) , contiguous :: field(:)
1340! integer(IK) , intent(out) :: nsplit
1341! character(*,SKG) , intent(in) , contiguous :: array(:)
1342! character(*,SKG) , intent(in) :: sep
1343! integer(IK) , intent(in) , contiguous :: instance(:)
1344! logical(LK) , intent(in) , optional :: sorted
1345! logical(LK) , intent(in) , optional :: unique
1346! logical(LK) , intent(in) , optional :: keep
1347! end subroutine
1348!#endif
1349!
1350!#if SK3_ENABLED
1351! PURE module subroutine setSplitFixDefComCusIns_D1_D0_SK3(field, nsplit, array, sep, instance, sorted, unique, keep)
1352!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1353! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_SK3
1354!#endif
1355! use pm_kind, only: SKG => SK3
1356! integer(IK) , intent(out) , contiguous :: field(:)
1357! integer(IK) , intent(out) :: nsplit
1358! character(*,SKG) , intent(in) , contiguous :: array(:)
1359! character(*,SKG) , intent(in) :: sep
1360! integer(IK) , intent(in) , contiguous :: instance(:)
1361! logical(LK) , intent(in) , optional :: sorted
1362! logical(LK) , intent(in) , optional :: unique
1363! logical(LK) , intent(in) , optional :: keep
1364! end subroutine
1365!#endif
1366!
1367!#if SK2_ENABLED
1368! PURE module subroutine setSplitFixDefComCusIns_D1_D0_SK2(field, nsplit, array, sep, instance, sorted, unique, keep)
1369!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1370! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_SK2
1371!#endif
1372! use pm_kind, only: SKG => SK2
1373! integer(IK) , intent(out) , contiguous :: field(:)
1374! integer(IK) , intent(out) :: nsplit
1375! character(*,SKG) , intent(in) , contiguous :: array(:)
1376! character(*,SKG) , intent(in) :: sep
1377! integer(IK) , intent(in) , contiguous :: instance(:)
1378! logical(LK) , intent(in) , optional :: sorted
1379! logical(LK) , intent(in) , optional :: unique
1380! logical(LK) , intent(in) , optional :: keep
1381! end subroutine
1382!#endif
1383!
1384!#if SK1_ENABLED
1385! PURE module subroutine setSplitFixDefComCusIns_D1_D0_SK1(field, nsplit, array, sep, instance, sorted, unique, keep)
1386!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1387! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_SK1
1388!#endif
1389! use pm_kind, only: SKG => SK1
1390! integer(IK) , intent(out) , contiguous :: field(:)
1391! integer(IK) , intent(out) :: nsplit
1392! character(*,SKG) , intent(in) , contiguous :: array(:)
1393! character(*,SKG) , intent(in) :: sep
1394! integer(IK) , intent(in) , contiguous :: instance(:)
1395! logical(LK) , intent(in) , optional :: sorted
1396! logical(LK) , intent(in) , optional :: unique
1397! logical(LK) , intent(in) , optional :: keep
1398! end subroutine
1399!#endif
1400!
1401! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1402!
1403!#if IK5_ENABLED
1404! PURE module subroutine setSplitFixDefComCusIns_D1_D0_IK5(field, nsplit, array, sep, instance, sorted, unique, keep)
1405!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1406! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_IK5
1407!#endif
1408! use pm_kind, only: IKG => IK5
1409! integer(IK) , intent(out) , contiguous :: field(:)
1410! integer(IK) , intent(out) :: nsplit
1411! integer(IKG) , intent(in) , contiguous :: array(:)
1412! integer(IKG) , intent(in) :: sep
1413! integer(IK) , intent(in) , contiguous :: instance(:)
1414! logical(LK) , intent(in) , optional :: sorted
1415! logical(LK) , intent(in) , optional :: unique
1416! logical(LK) , intent(in) , optional :: keep
1417! end subroutine
1418!#endif
1419!
1420!#if IK4_ENABLED
1421! PURE module subroutine setSplitFixDefComCusIns_D1_D0_IK4(field, nsplit, array, sep, instance, sorted, unique, keep)
1422!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1423! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_IK4
1424!#endif
1425! use pm_kind, only: IKG => IK4
1426! integer(IK) , intent(out) , contiguous :: field(:)
1427! integer(IK) , intent(out) :: nsplit
1428! integer(IKG) , intent(in) , contiguous :: array(:)
1429! integer(IKG) , intent(in) :: sep
1430! integer(IK) , intent(in) , contiguous :: instance(:)
1431! logical(LK) , intent(in) , optional :: sorted
1432! logical(LK) , intent(in) , optional :: unique
1433! logical(LK) , intent(in) , optional :: keep
1434! end subroutine
1435!#endif
1436!
1437!#if IK3_ENABLED
1438! PURE module subroutine setSplitFixDefComCusIns_D1_D0_IK3(field, nsplit, array, sep, instance, sorted, unique, keep)
1439!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1440! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_IK3
1441!#endif
1442! use pm_kind, only: IKG => IK3
1443! integer(IK) , intent(out) , contiguous :: field(:)
1444! integer(IK) , intent(out) :: nsplit
1445! integer(IKG) , intent(in) , contiguous :: array(:)
1446! integer(IKG) , intent(in) :: sep
1447! integer(IK) , intent(in) , contiguous :: instance(:)
1448! logical(LK) , intent(in) , optional :: sorted
1449! logical(LK) , intent(in) , optional :: unique
1450! logical(LK) , intent(in) , optional :: keep
1451! end subroutine
1452!#endif
1453!
1454!#if IK2_ENABLED
1455! PURE module subroutine setSplitFixDefComCusIns_D1_D0_IK2(field, nsplit, array, sep, instance, sorted, unique, keep)
1456!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1457! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_IK2
1458!#endif
1459! use pm_kind, only: IKG => IK2
1460! integer(IK) , intent(out) , contiguous :: field(:)
1461! integer(IK) , intent(out) :: nsplit
1462! integer(IKG) , intent(in) , contiguous :: array(:)
1463! integer(IKG) , intent(in) :: sep
1464! integer(IK) , intent(in) , contiguous :: instance(:)
1465! logical(LK) , intent(in) , optional :: sorted
1466! logical(LK) , intent(in) , optional :: unique
1467! logical(LK) , intent(in) , optional :: keep
1468! end subroutine
1469!#endif
1470!
1471!#if IK1_ENABLED
1472! PURE module subroutine setSplitFixDefComCusIns_D1_D0_IK1(field, nsplit, array, sep, instance, sorted, unique, keep)
1473!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1474! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_IK1
1475!#endif
1476! use pm_kind, only: IKG => IK1
1477! integer(IK) , intent(out) , contiguous :: field(:)
1478! integer(IK) , intent(out) :: nsplit
1479! integer(IKG) , intent(in) , contiguous :: array(:)
1480! integer(IKG) , intent(in) :: sep
1481! integer(IK) , intent(in) , contiguous :: instance(:)
1482! logical(LK) , intent(in) , optional :: sorted
1483! logical(LK) , intent(in) , optional :: unique
1484! logical(LK) , intent(in) , optional :: keep
1485! end subroutine
1486!#endif
1487!
1488! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1489!
1490!#if LK5_ENABLED
1491! PURE module subroutine setSplitFixDefComCusIns_D1_D0_LK5(field, nsplit, array, sep, instance, sorted, unique, keep)
1492!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1493! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_LK5
1494!#endif
1495! use pm_kind, only: LKG => LK5
1496! integer(IK) , intent(out) , contiguous :: field(:)
1497! integer(IK) , intent(out) :: nsplit
1498! logical(LKG) , intent(in) , contiguous :: array(:)
1499! logical(LKG) , intent(in) :: sep
1500! integer(IK) , intent(in) , contiguous :: instance(:)
1501! logical(LK) , intent(in) , optional :: sorted
1502! logical(LK) , intent(in) , optional :: unique
1503! logical(LK) , intent(in) , optional :: keep
1504! end subroutine
1505!#endif
1506!
1507!#if LK4_ENABLED
1508! PURE module subroutine setSplitFixDefComCusIns_D1_D0_LK4(field, nsplit, array, sep, instance, sorted, unique, keep)
1509!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1510! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_LK4
1511!#endif
1512! use pm_kind, only: LKG => LK4
1513! integer(IK) , intent(out) , contiguous :: field(:)
1514! integer(IK) , intent(out) :: nsplit
1515! logical(LKG) , intent(in) , contiguous :: array(:)
1516! logical(LKG) , intent(in) :: sep
1517! integer(IK) , intent(in) , contiguous :: instance(:)
1518! logical(LK) , intent(in) , optional :: sorted
1519! logical(LK) , intent(in) , optional :: unique
1520! logical(LK) , intent(in) , optional :: keep
1521! end subroutine
1522!#endif
1523!
1524!#if LK3_ENABLED
1525! PURE module subroutine setSplitFixDefComCusIns_D1_D0_LK3(field, nsplit, array, sep, instance, sorted, unique, keep)
1526!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1527! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_LK3
1528!#endif
1529! use pm_kind, only: LKG => LK3
1530! integer(IK) , intent(out) , contiguous :: field(:)
1531! integer(IK) , intent(out) :: nsplit
1532! logical(LKG) , intent(in) , contiguous :: array(:)
1533! logical(LKG) , intent(in) :: sep
1534! integer(IK) , intent(in) , contiguous :: instance(:)
1535! logical(LK) , intent(in) , optional :: sorted
1536! logical(LK) , intent(in) , optional :: unique
1537! logical(LK) , intent(in) , optional :: keep
1538! end subroutine
1539!#endif
1540!
1541!#if LK2_ENABLED
1542! PURE module subroutine setSplitFixDefComCusIns_D1_D0_LK2(field, nsplit, array, sep, instance, sorted, unique, keep)
1543!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1544! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_LK2
1545!#endif
1546! use pm_kind, only: LKG => LK2
1547! integer(IK) , intent(out) , contiguous :: field(:)
1548! integer(IK) , intent(out) :: nsplit
1549! logical(LKG) , intent(in) , contiguous :: array(:)
1550! logical(LKG) , intent(in) :: sep
1551! integer(IK) , intent(in) , contiguous :: instance(:)
1552! logical(LK) , intent(in) , optional :: sorted
1553! logical(LK) , intent(in) , optional :: unique
1554! logical(LK) , intent(in) , optional :: keep
1555! end subroutine
1556!#endif
1557!
1558!#if LK1_ENABLED
1559! PURE module subroutine setSplitFixDefComCusIns_D1_D0_LK1(field, nsplit, array, sep, instance, sorted, unique, keep)
1560!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1561! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_LK1
1562!#endif
1563! use pm_kind, only: LKG => LK1
1564! integer(IK) , intent(out) , contiguous :: field(:)
1565! integer(IK) , intent(out) :: nsplit
1566! logical(LKG) , intent(in) , contiguous :: array(:)
1567! logical(LKG) , intent(in) :: sep
1568! integer(IK) , intent(in) , contiguous :: instance(:)
1569! logical(LK) , intent(in) , optional :: sorted
1570! logical(LK) , intent(in) , optional :: unique
1571! logical(LK) , intent(in) , optional :: keep
1572! end subroutine
1573!#endif
1574!
1575! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1576!
1577!#if CK5_ENABLED
1578! PURE module subroutine setSplitFixDefComCusIns_D1_D0_CK5(field, nsplit, array, sep, instance, sorted, unique, keep)
1579!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1580! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_CK5
1581!#endif
1582! use pm_kind, only: CKG => CK5
1583! integer(IK) , intent(out) , contiguous :: field(:)
1584! integer(IK) , intent(out) :: nsplit
1585! complex(CKG) , intent(in) , contiguous :: array(:)
1586! complex(CKG) , intent(in) :: sep
1587! integer(IK) , intent(in) , contiguous :: instance(:)
1588! logical(LK) , intent(in) , optional :: sorted
1589! logical(LK) , intent(in) , optional :: unique
1590! logical(LK) , intent(in) , optional :: keep
1591! end subroutine
1592!#endif
1593!
1594!#if CK4_ENABLED
1595! PURE module subroutine setSplitFixDefComCusIns_D1_D0_CK4(field, nsplit, array, sep, instance, sorted, unique, keep)
1596!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1597! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_CK4
1598!#endif
1599! use pm_kind, only: CKG => CK4
1600! integer(IK) , intent(out) , contiguous :: field(:)
1601! integer(IK) , intent(out) :: nsplit
1602! complex(CKG) , intent(in) , contiguous :: array(:)
1603! complex(CKG) , intent(in) :: sep
1604! integer(IK) , intent(in) , contiguous :: instance(:)
1605! logical(LK) , intent(in) , optional :: sorted
1606! logical(LK) , intent(in) , optional :: unique
1607! logical(LK) , intent(in) , optional :: keep
1608! end subroutine
1609!#endif
1610!
1611!#if CK3_ENABLED
1612! PURE module subroutine setSplitFixDefComCusIns_D1_D0_CK3(field, nsplit, array, sep, instance, sorted, unique, keep)
1613!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1614! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_CK3
1615!#endif
1616! use pm_kind, only: CKG => CK3
1617! integer(IK) , intent(out) , contiguous :: field(:)
1618! integer(IK) , intent(out) :: nsplit
1619! complex(CKG) , intent(in) , contiguous :: array(:)
1620! complex(CKG) , intent(in) :: sep
1621! integer(IK) , intent(in) , contiguous :: instance(:)
1622! logical(LK) , intent(in) , optional :: sorted
1623! logical(LK) , intent(in) , optional :: unique
1624! logical(LK) , intent(in) , optional :: keep
1625! end subroutine
1626!#endif
1627!
1628!#if CK2_ENABLED
1629! PURE module subroutine setSplitFixDefComCusIns_D1_D0_CK2(field, nsplit, array, sep, instance, sorted, unique, keep)
1630!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1631! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_CK2
1632!#endif
1633! use pm_kind, only: CKG => CK2
1634! integer(IK) , intent(out) , contiguous :: field(:)
1635! integer(IK) , intent(out) :: nsplit
1636! complex(CKG) , intent(in) , contiguous :: array(:)
1637! complex(CKG) , intent(in) :: sep
1638! integer(IK) , intent(in) , contiguous :: instance(:)
1639! logical(LK) , intent(in) , optional :: sorted
1640! logical(LK) , intent(in) , optional :: unique
1641! logical(LK) , intent(in) , optional :: keep
1642! end subroutine
1643!#endif
1644!
1645!#if CK1_ENABLED
1646! PURE module subroutine setSplitFixDefComCusIns_D1_D0_CK1(field, nsplit, array, sep, instance, sorted, unique, keep)
1647!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1648! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_CK1
1649!#endif
1650! use pm_kind, only: CKG => CK1
1651! integer(IK) , intent(out) , contiguous :: field(:)
1652! integer(IK) , intent(out) :: nsplit
1653! complex(CKG) , intent(in) , contiguous :: array(:)
1654! complex(CKG) , intent(in) :: sep
1655! integer(IK) , intent(in) , contiguous :: instance(:)
1656! logical(LK) , intent(in) , optional :: sorted
1657! logical(LK) , intent(in) , optional :: unique
1658! logical(LK) , intent(in) , optional :: keep
1659! end subroutine
1660!#endif
1661!
1662! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1663!
1664!#if RK5_ENABLED
1665! PURE module subroutine setSplitFixDefComCusIns_D1_D0_RK5(field, nsplit, array, sep, instance, sorted, unique, keep)
1666!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1667! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_RK5
1668!#endif
1669! use pm_kind, only: RKG => RK5
1670! integer(IK) , intent(out) , contiguous :: field(:)
1671! integer(IK) , intent(out) :: nsplit
1672! real(RKG) , intent(in) , contiguous :: array(:)
1673! real(RKG) , intent(in) :: sep
1674! integer(IK) , intent(in) , contiguous :: instance(:)
1675! logical(LK) , intent(in) , optional :: sorted
1676! logical(LK) , intent(in) , optional :: unique
1677! logical(LK) , intent(in) , optional :: keep
1678! end subroutine
1679!#endif
1680!
1681!#if RK4_ENABLED
1682! PURE module subroutine setSplitFixDefComCusIns_D1_D0_RK4(field, nsplit, array, sep, instance, sorted, unique, keep)
1683!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1684! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_RK4
1685!#endif
1686! use pm_kind, only: RKG => RK4
1687! integer(IK) , intent(out) , contiguous :: field(:)
1688! integer(IK) , intent(out) :: nsplit
1689! real(RKG) , intent(in) , contiguous :: array(:)
1690! real(RKG) , intent(in) :: sep
1691! integer(IK) , intent(in) , contiguous :: instance(:)
1692! logical(LK) , intent(in) , optional :: sorted
1693! logical(LK) , intent(in) , optional :: unique
1694! logical(LK) , intent(in) , optional :: keep
1695! end subroutine
1696!#endif
1697!
1698!#if RK3_ENABLED
1699! PURE module subroutine setSplitFixDefComCusIns_D1_D0_RK3(field, nsplit, array, sep, instance, sorted, unique, keep)
1700!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1701! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_RK3
1702!#endif
1703! use pm_kind, only: RKG => RK3
1704! integer(IK) , intent(out) , contiguous :: field(:)
1705! integer(IK) , intent(out) :: nsplit
1706! real(RKG) , intent(in) , contiguous :: array(:)
1707! real(RKG) , intent(in) :: sep
1708! integer(IK) , intent(in) , contiguous :: instance(:)
1709! logical(LK) , intent(in) , optional :: sorted
1710! logical(LK) , intent(in) , optional :: unique
1711! logical(LK) , intent(in) , optional :: keep
1712! end subroutine
1713!#endif
1714!
1715!#if RK2_ENABLED
1716! PURE module subroutine setSplitFixDefComCusIns_D1_D0_RK2(field, nsplit, array, sep, instance, sorted, unique, keep)
1717!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1718! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_RK2
1719!#endif
1720! use pm_kind, only: RKG => RK2
1721! integer(IK) , intent(out) , contiguous :: field(:)
1722! integer(IK) , intent(out) :: nsplit
1723! real(RKG) , intent(in) , contiguous :: array(:)
1724! real(RKG) , intent(in) :: sep
1725! integer(IK) , intent(in) , contiguous :: instance(:)
1726! logical(LK) , intent(in) , optional :: sorted
1727! logical(LK) , intent(in) , optional :: unique
1728! logical(LK) , intent(in) , optional :: keep
1729! end subroutine
1730!#endif
1731!
1732!#if RK1_ENABLED
1733! PURE module subroutine setSplitFixDefComCusIns_D1_D0_RK1(field, nsplit, array, sep, instance, sorted, unique, keep)
1734!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1735! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D0_RK1
1736!#endif
1737! use pm_kind, only: RKG => RK1
1738! integer(IK) , intent(out) , contiguous :: field(:)
1739! integer(IK) , intent(out) :: nsplit
1740! real(RKG) , intent(in) , contiguous :: array(:)
1741! real(RKG) , intent(in) :: sep
1742! integer(IK) , intent(in) , contiguous :: instance(:)
1743! logical(LK) , intent(in) , optional :: sorted
1744! logical(LK) , intent(in) , optional :: unique
1745! logical(LK) , intent(in) , optional :: keep
1746! end subroutine
1747!#endif
1748!
1749! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1750!
1751! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1752! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1753! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1754!
1755! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1756!
1757!#if SK5_ENABLED
1758! module subroutine setSplitFixCusComCusIns_D0_D0_SK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1759!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1760! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D0_D0_SK5
1761!#endif
1762! use pm_kind, only: SKG => SK5
1763! integer(IK) , intent(out) , contiguous :: field(:)
1764! integer(IK) , intent(out) :: nsplit
1765! character(*,SKG) , intent(in) :: array
1766! character(*,SKG) , intent(in) :: sep
1767! procedure(logical(LK)) :: iseq
1768! integer(IK) , intent(in) , contiguous :: instance(:)
1769! logical(LK) , intent(in) , optional :: sorted
1770! logical(LK) , intent(in) , optional :: unique
1771! logical(LK) , intent(in) , optional :: keep
1772! end subroutine
1773!#endif
1774!
1775!#if SK4_ENABLED
1776! module subroutine setSplitFixCusComCusIns_D0_D0_SK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1777!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1778! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D0_D0_SK4
1779!#endif
1780! use pm_kind, only: SKG => SK4
1781! integer(IK) , intent(out) , contiguous :: field(:)
1782! integer(IK) , intent(out) :: nsplit
1783! character(*,SKG) , intent(in) :: array
1784! character(*,SKG) , intent(in) :: sep
1785! procedure(logical(LK)) :: iseq
1786! integer(IK) , intent(in) , contiguous :: instance(:)
1787! logical(LK) , intent(in) , optional :: sorted
1788! logical(LK) , intent(in) , optional :: unique
1789! logical(LK) , intent(in) , optional :: keep
1790! end subroutine
1791!#endif
1792!
1793!#if SK3_ENABLED
1794! module subroutine setSplitFixCusComCusIns_D0_D0_SK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1795!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1796! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D0_D0_SK3
1797!#endif
1798! use pm_kind, only: SKG => SK3
1799! integer(IK) , intent(out) , contiguous :: field(:)
1800! integer(IK) , intent(out) :: nsplit
1801! character(*,SKG) , intent(in) :: array
1802! character(*,SKG) , intent(in) :: sep
1803! procedure(logical(LK)) :: iseq
1804! integer(IK) , intent(in) , contiguous :: instance(:)
1805! logical(LK) , intent(in) , optional :: sorted
1806! logical(LK) , intent(in) , optional :: unique
1807! logical(LK) , intent(in) , optional :: keep
1808! end subroutine
1809!#endif
1810!
1811!#if SK2_ENABLED
1812! module subroutine setSplitFixCusComCusIns_D0_D0_SK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1813!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1814! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D0_D0_SK2
1815!#endif
1816! use pm_kind, only: SKG => SK2
1817! integer(IK) , intent(out) , contiguous :: field(:)
1818! integer(IK) , intent(out) :: nsplit
1819! character(*,SKG) , intent(in) :: array
1820! character(*,SKG) , intent(in) :: sep
1821! procedure(logical(LK)) :: iseq
1822! integer(IK) , intent(in) , contiguous :: instance(:)
1823! logical(LK) , intent(in) , optional :: sorted
1824! logical(LK) , intent(in) , optional :: unique
1825! logical(LK) , intent(in) , optional :: keep
1826! end subroutine
1827!#endif
1828!
1829!#if SK1_ENABLED
1830! module subroutine setSplitFixCusComCusIns_D0_D0_SK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1831!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1832! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D0_D0_SK1
1833!#endif
1834! use pm_kind, only: SKG => SK1
1835! integer(IK) , intent(out) , contiguous :: field(:)
1836! integer(IK) , intent(out) :: nsplit
1837! character(*,SKG) , intent(in) :: array
1838! character(*,SKG) , intent(in) :: sep
1839! procedure(logical(LK)) :: iseq
1840! integer(IK) , intent(in) , contiguous :: instance(:)
1841! logical(LK) , intent(in) , optional :: sorted
1842! logical(LK) , intent(in) , optional :: unique
1843! logical(LK) , intent(in) , optional :: keep
1844! end subroutine
1845!#endif
1846!
1847! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1848!
1849!#if SK5_ENABLED
1850! module subroutine setSplitFixCusComCusIns_D1_D0_SK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1851!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1852! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_SK5
1853!#endif
1854! use pm_kind, only: SKG => SK5
1855! integer(IK) , intent(out) , contiguous :: field(:)
1856! integer(IK) , intent(out) :: nsplit
1857! character(*,SKG) , intent(in) , contiguous :: array(:)
1858! character(*,SKG) , intent(in) :: sep
1859! procedure(logical(LK)) :: iseq
1860! integer(IK) , intent(in) , contiguous :: instance(:)
1861! logical(LK) , intent(in) , optional :: sorted
1862! logical(LK) , intent(in) , optional :: unique
1863! logical(LK) , intent(in) , optional :: keep
1864! end subroutine
1865!#endif
1866!
1867!#if SK4_ENABLED
1868! module subroutine setSplitFixCusComCusIns_D1_D0_SK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1869!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1870! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_SK4
1871!#endif
1872! use pm_kind, only: SKG => SK4
1873! integer(IK) , intent(out) , contiguous :: field(:)
1874! integer(IK) , intent(out) :: nsplit
1875! character(*,SKG) , intent(in) , contiguous :: array(:)
1876! character(*,SKG) , intent(in) :: sep
1877! procedure(logical(LK)) :: iseq
1878! integer(IK) , intent(in) , contiguous :: instance(:)
1879! logical(LK) , intent(in) , optional :: sorted
1880! logical(LK) , intent(in) , optional :: unique
1881! logical(LK) , intent(in) , optional :: keep
1882! end subroutine
1883!#endif
1884!
1885!#if SK3_ENABLED
1886! module subroutine setSplitFixCusComCusIns_D1_D0_SK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1887!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1888! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_SK3
1889!#endif
1890! use pm_kind, only: SKG => SK3
1891! integer(IK) , intent(out) , contiguous :: field(:)
1892! integer(IK) , intent(out) :: nsplit
1893! character(*,SKG) , intent(in) , contiguous :: array(:)
1894! character(*,SKG) , intent(in) :: sep
1895! procedure(logical(LK)) :: iseq
1896! integer(IK) , intent(in) , contiguous :: instance(:)
1897! logical(LK) , intent(in) , optional :: sorted
1898! logical(LK) , intent(in) , optional :: unique
1899! logical(LK) , intent(in) , optional :: keep
1900! end subroutine
1901!#endif
1902!
1903!#if SK2_ENABLED
1904! module subroutine setSplitFixCusComCusIns_D1_D0_SK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1905!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1906! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_SK2
1907!#endif
1908! use pm_kind, only: SKG => SK2
1909! integer(IK) , intent(out) , contiguous :: field(:)
1910! integer(IK) , intent(out) :: nsplit
1911! character(*,SKG) , intent(in) , contiguous :: array(:)
1912! character(*,SKG) , intent(in) :: sep
1913! procedure(logical(LK)) :: iseq
1914! integer(IK) , intent(in) , contiguous :: instance(:)
1915! logical(LK) , intent(in) , optional :: sorted
1916! logical(LK) , intent(in) , optional :: unique
1917! logical(LK) , intent(in) , optional :: keep
1918! end subroutine
1919!#endif
1920!
1921!#if SK1_ENABLED
1922! module subroutine setSplitFixCusComCusIns_D1_D0_SK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1923!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1924! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_SK1
1925!#endif
1926! use pm_kind, only: SKG => SK1
1927! integer(IK) , intent(out) , contiguous :: field(:)
1928! integer(IK) , intent(out) :: nsplit
1929! character(*,SKG) , intent(in) , contiguous :: array(:)
1930! character(*,SKG) , intent(in) :: sep
1931! procedure(logical(LK)) :: iseq
1932! integer(IK) , intent(in) , contiguous :: instance(:)
1933! logical(LK) , intent(in) , optional :: sorted
1934! logical(LK) , intent(in) , optional :: unique
1935! logical(LK) , intent(in) , optional :: keep
1936! end subroutine
1937!#endif
1938!
1939! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1940!
1941!#if IK5_ENABLED
1942! module subroutine setSplitFixCusComCusIns_D1_D0_IK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1943!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1944! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_IK5
1945!#endif
1946! use pm_kind, only: IKG => IK5
1947! integer(IK) , intent(out) , contiguous :: field(:)
1948! integer(IK) , intent(out) :: nsplit
1949! integer(IKG) , intent(in) , contiguous :: array(:)
1950! integer(IKG) , intent(in) :: sep
1951! procedure(logical(LK)) :: iseq
1952! integer(IK) , intent(in) , contiguous :: instance(:)
1953! logical(LK) , intent(in) , optional :: sorted
1954! logical(LK) , intent(in) , optional :: unique
1955! logical(LK) , intent(in) , optional :: keep
1956! end subroutine
1957!#endif
1958!
1959!#if IK4_ENABLED
1960! module subroutine setSplitFixCusComCusIns_D1_D0_IK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1961!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1962! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_IK4
1963!#endif
1964! use pm_kind, only: IKG => IK4
1965! integer(IK) , intent(out) , contiguous :: field(:)
1966! integer(IK) , intent(out) :: nsplit
1967! integer(IKG) , intent(in) , contiguous :: array(:)
1968! integer(IKG) , intent(in) :: sep
1969! procedure(logical(LK)) :: iseq
1970! integer(IK) , intent(in) , contiguous :: instance(:)
1971! logical(LK) , intent(in) , optional :: sorted
1972! logical(LK) , intent(in) , optional :: unique
1973! logical(LK) , intent(in) , optional :: keep
1974! end subroutine
1975!#endif
1976!
1977!#if IK3_ENABLED
1978! module subroutine setSplitFixCusComCusIns_D1_D0_IK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1979!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1980! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_IK3
1981!#endif
1982! use pm_kind, only: IKG => IK3
1983! integer(IK) , intent(out) , contiguous :: field(:)
1984! integer(IK) , intent(out) :: nsplit
1985! integer(IKG) , intent(in) , contiguous :: array(:)
1986! integer(IKG) , intent(in) :: sep
1987! procedure(logical(LK)) :: iseq
1988! integer(IK) , intent(in) , contiguous :: instance(:)
1989! logical(LK) , intent(in) , optional :: sorted
1990! logical(LK) , intent(in) , optional :: unique
1991! logical(LK) , intent(in) , optional :: keep
1992! end subroutine
1993!#endif
1994!
1995!#if IK2_ENABLED
1996! module subroutine setSplitFixCusComCusIns_D1_D0_IK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
1997!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1998! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_IK2
1999!#endif
2000! use pm_kind, only: IKG => IK2
2001! integer(IK) , intent(out) , contiguous :: field(:)
2002! integer(IK) , intent(out) :: nsplit
2003! integer(IKG) , intent(in) , contiguous :: array(:)
2004! integer(IKG) , intent(in) :: sep
2005! procedure(logical(LK)) :: iseq
2006! integer(IK) , intent(in) , contiguous :: instance(:)
2007! logical(LK) , intent(in) , optional :: sorted
2008! logical(LK) , intent(in) , optional :: unique
2009! logical(LK) , intent(in) , optional :: keep
2010! end subroutine
2011!#endif
2012!
2013!#if IK1_ENABLED
2014! module subroutine setSplitFixCusComCusIns_D1_D0_IK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2015!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2016! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_IK1
2017!#endif
2018! use pm_kind, only: IKG => IK1
2019! integer(IK) , intent(out) , contiguous :: field(:)
2020! integer(IK) , intent(out) :: nsplit
2021! integer(IKG) , intent(in) , contiguous :: array(:)
2022! integer(IKG) , intent(in) :: sep
2023! procedure(logical(LK)) :: iseq
2024! integer(IK) , intent(in) , contiguous :: instance(:)
2025! logical(LK) , intent(in) , optional :: sorted
2026! logical(LK) , intent(in) , optional :: unique
2027! logical(LK) , intent(in) , optional :: keep
2028! end subroutine
2029!#endif
2030!
2031! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2032!
2033!#if LK5_ENABLED
2034! module subroutine setSplitFixCusComCusIns_D1_D0_LK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2035!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2036! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_LK5
2037!#endif
2038! use pm_kind, only: LKG => LK5
2039! integer(IK) , intent(out) , contiguous :: field(:)
2040! integer(IK) , intent(out) :: nsplit
2041! logical(LKG) , intent(in) , contiguous :: array(:)
2042! logical(LKG) , intent(in) :: sep
2043! procedure(logical(LK)) :: iseq
2044! integer(IK) , intent(in) , contiguous :: instance(:)
2045! logical(LK) , intent(in) , optional :: sorted
2046! logical(LK) , intent(in) , optional :: unique
2047! logical(LK) , intent(in) , optional :: keep
2048! end subroutine
2049!#endif
2050!
2051!#if LK4_ENABLED
2052! module subroutine setSplitFixCusComCusIns_D1_D0_LK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2053!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2054! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_LK4
2055!#endif
2056! use pm_kind, only: LKG => LK4
2057! integer(IK) , intent(out) , contiguous :: field(:)
2058! integer(IK) , intent(out) :: nsplit
2059! logical(LKG) , intent(in) , contiguous :: array(:)
2060! logical(LKG) , intent(in) :: sep
2061! procedure(logical(LK)) :: iseq
2062! integer(IK) , intent(in) , contiguous :: instance(:)
2063! logical(LK) , intent(in) , optional :: sorted
2064! logical(LK) , intent(in) , optional :: unique
2065! logical(LK) , intent(in) , optional :: keep
2066! end subroutine
2067!#endif
2068!
2069!#if LK3_ENABLED
2070! module subroutine setSplitFixCusComCusIns_D1_D0_LK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2071!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2072! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_LK3
2073!#endif
2074! use pm_kind, only: LKG => LK3
2075! integer(IK) , intent(out) , contiguous :: field(:)
2076! integer(IK) , intent(out) :: nsplit
2077! logical(LKG) , intent(in) , contiguous :: array(:)
2078! logical(LKG) , intent(in) :: sep
2079! procedure(logical(LK)) :: iseq
2080! integer(IK) , intent(in) , contiguous :: instance(:)
2081! logical(LK) , intent(in) , optional :: sorted
2082! logical(LK) , intent(in) , optional :: unique
2083! logical(LK) , intent(in) , optional :: keep
2084! end subroutine
2085!#endif
2086!
2087!#if LK2_ENABLED
2088! module subroutine setSplitFixCusComCusIns_D1_D0_LK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2089!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2090! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_LK2
2091!#endif
2092! use pm_kind, only: LKG => LK2
2093! integer(IK) , intent(out) , contiguous :: field(:)
2094! integer(IK) , intent(out) :: nsplit
2095! logical(LKG) , intent(in) , contiguous :: array(:)
2096! logical(LKG) , intent(in) :: sep
2097! procedure(logical(LK)) :: iseq
2098! integer(IK) , intent(in) , contiguous :: instance(:)
2099! logical(LK) , intent(in) , optional :: sorted
2100! logical(LK) , intent(in) , optional :: unique
2101! logical(LK) , intent(in) , optional :: keep
2102! end subroutine
2103!#endif
2104!
2105!#if LK1_ENABLED
2106! module subroutine setSplitFixCusComCusIns_D1_D0_LK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2107!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2108! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_LK1
2109!#endif
2110! use pm_kind, only: LKG => LK1
2111! integer(IK) , intent(out) , contiguous :: field(:)
2112! integer(IK) , intent(out) :: nsplit
2113! logical(LKG) , intent(in) , contiguous :: array(:)
2114! logical(LKG) , intent(in) :: sep
2115! procedure(logical(LK)) :: iseq
2116! integer(IK) , intent(in) , contiguous :: instance(:)
2117! logical(LK) , intent(in) , optional :: sorted
2118! logical(LK) , intent(in) , optional :: unique
2119! logical(LK) , intent(in) , optional :: keep
2120! end subroutine
2121!#endif
2122!
2123! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2124!
2125!#if CK5_ENABLED
2126! module subroutine setSplitFixCusComCusIns_D1_D0_CK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2127!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2128! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_CK5
2129!#endif
2130! use pm_kind, only: CKG => CK5
2131! integer(IK) , intent(out) , contiguous :: field(:)
2132! integer(IK) , intent(out) :: nsplit
2133! complex(CKG) , intent(in) , contiguous :: array(:)
2134! complex(CKG) , intent(in) :: sep
2135! procedure(logical(LK)) :: iseq
2136! integer(IK) , intent(in) , contiguous :: instance(:)
2137! logical(LK) , intent(in) , optional :: sorted
2138! logical(LK) , intent(in) , optional :: unique
2139! logical(LK) , intent(in) , optional :: keep
2140! end subroutine
2141!#endif
2142!
2143!#if CK4_ENABLED
2144! module subroutine setSplitFixCusComCusIns_D1_D0_CK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2145!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2146! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_CK4
2147!#endif
2148! use pm_kind, only: CKG => CK4
2149! integer(IK) , intent(out) , contiguous :: field(:)
2150! integer(IK) , intent(out) :: nsplit
2151! complex(CKG) , intent(in) , contiguous :: array(:)
2152! complex(CKG) , intent(in) :: sep
2153! procedure(logical(LK)) :: iseq
2154! integer(IK) , intent(in) , contiguous :: instance(:)
2155! logical(LK) , intent(in) , optional :: sorted
2156! logical(LK) , intent(in) , optional :: unique
2157! logical(LK) , intent(in) , optional :: keep
2158! end subroutine
2159!#endif
2160!
2161!#if CK3_ENABLED
2162! module subroutine setSplitFixCusComCusIns_D1_D0_CK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2163!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2164! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_CK3
2165!#endif
2166! use pm_kind, only: CKG => CK3
2167! integer(IK) , intent(out) , contiguous :: field(:)
2168! integer(IK) , intent(out) :: nsplit
2169! complex(CKG) , intent(in) , contiguous :: array(:)
2170! complex(CKG) , intent(in) :: sep
2171! procedure(logical(LK)) :: iseq
2172! integer(IK) , intent(in) , contiguous :: instance(:)
2173! logical(LK) , intent(in) , optional :: sorted
2174! logical(LK) , intent(in) , optional :: unique
2175! logical(LK) , intent(in) , optional :: keep
2176! end subroutine
2177!#endif
2178!
2179!#if CK2_ENABLED
2180! module subroutine setSplitFixCusComCusIns_D1_D0_CK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2181!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2182! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_CK2
2183!#endif
2184! use pm_kind, only: CKG => CK2
2185! integer(IK) , intent(out) , contiguous :: field(:)
2186! integer(IK) , intent(out) :: nsplit
2187! complex(CKG) , intent(in) , contiguous :: array(:)
2188! complex(CKG) , intent(in) :: sep
2189! procedure(logical(LK)) :: iseq
2190! integer(IK) , intent(in) , contiguous :: instance(:)
2191! logical(LK) , intent(in) , optional :: sorted
2192! logical(LK) , intent(in) , optional :: unique
2193! logical(LK) , intent(in) , optional :: keep
2194! end subroutine
2195!#endif
2196!
2197!#if CK1_ENABLED
2198! module subroutine setSplitFixCusComCusIns_D1_D0_CK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2199!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2200! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_CK1
2201!#endif
2202! use pm_kind, only: CKG => CK1
2203! integer(IK) , intent(out) , contiguous :: field(:)
2204! integer(IK) , intent(out) :: nsplit
2205! complex(CKG) , intent(in) , contiguous :: array(:)
2206! complex(CKG) , intent(in) :: sep
2207! procedure(logical(LK)) :: iseq
2208! integer(IK) , intent(in) , contiguous :: instance(:)
2209! logical(LK) , intent(in) , optional :: sorted
2210! logical(LK) , intent(in) , optional :: unique
2211! logical(LK) , intent(in) , optional :: keep
2212! end subroutine
2213!#endif
2214!
2215! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2216!
2217!#if RK5_ENABLED
2218! module subroutine setSplitFixCusComCusIns_D1_D0_RK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2219!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2220! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_RK5
2221!#endif
2222! use pm_kind, only: RKG => RK5
2223! integer(IK) , intent(out) , contiguous :: field(:)
2224! integer(IK) , intent(out) :: nsplit
2225! real(RKG) , intent(in) , contiguous :: array(:)
2226! real(RKG) , intent(in) :: sep
2227! procedure(logical(LK)) :: iseq
2228! integer(IK) , intent(in) , contiguous :: instance(:)
2229! logical(LK) , intent(in) , optional :: sorted
2230! logical(LK) , intent(in) , optional :: unique
2231! logical(LK) , intent(in) , optional :: keep
2232! end subroutine
2233!#endif
2234!
2235!#if RK4_ENABLED
2236! module subroutine setSplitFixCusComCusIns_D1_D0_RK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2237!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2238! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_RK4
2239!#endif
2240! use pm_kind, only: RKG => RK4
2241! integer(IK) , intent(out) , contiguous :: field(:)
2242! integer(IK) , intent(out) :: nsplit
2243! real(RKG) , intent(in) , contiguous :: array(:)
2244! real(RKG) , intent(in) :: sep
2245! procedure(logical(LK)) :: iseq
2246! integer(IK) , intent(in) , contiguous :: instance(:)
2247! logical(LK) , intent(in) , optional :: sorted
2248! logical(LK) , intent(in) , optional :: unique
2249! logical(LK) , intent(in) , optional :: keep
2250! end subroutine
2251!#endif
2252!
2253!#if RK3_ENABLED
2254! module subroutine setSplitFixCusComCusIns_D1_D0_RK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2255!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2256! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_RK3
2257!#endif
2258! use pm_kind, only: RKG => RK3
2259! integer(IK) , intent(out) , contiguous :: field(:)
2260! integer(IK) , intent(out) :: nsplit
2261! real(RKG) , intent(in) , contiguous :: array(:)
2262! real(RKG) , intent(in) :: sep
2263! procedure(logical(LK)) :: iseq
2264! integer(IK) , intent(in) , contiguous :: instance(:)
2265! logical(LK) , intent(in) , optional :: sorted
2266! logical(LK) , intent(in) , optional :: unique
2267! logical(LK) , intent(in) , optional :: keep
2268! end subroutine
2269!#endif
2270!
2271!#if RK2_ENABLED
2272! module subroutine setSplitFixCusComCusIns_D1_D0_RK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2273!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2274! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_RK2
2275!#endif
2276! use pm_kind, only: RKG => RK2
2277! integer(IK) , intent(out) , contiguous :: field(:)
2278! integer(IK) , intent(out) :: nsplit
2279! real(RKG) , intent(in) , contiguous :: array(:)
2280! real(RKG) , intent(in) :: sep
2281! procedure(logical(LK)) :: iseq
2282! integer(IK) , intent(in) , contiguous :: instance(:)
2283! logical(LK) , intent(in) , optional :: sorted
2284! logical(LK) , intent(in) , optional :: unique
2285! logical(LK) , intent(in) , optional :: keep
2286! end subroutine
2287!#endif
2288!
2289!#if RK1_ENABLED
2290! module subroutine setSplitFixCusComCusIns_D1_D0_RK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
2291!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2292! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D0_RK1
2293!#endif
2294! use pm_kind, only: RKG => RK1
2295! integer(IK) , intent(out) , contiguous :: field(:)
2296! integer(IK) , intent(out) :: nsplit
2297! real(RKG) , intent(in) , contiguous :: array(:)
2298! real(RKG) , intent(in) :: sep
2299! procedure(logical(LK)) :: iseq
2300! integer(IK) , intent(in) , contiguous :: instance(:)
2301! logical(LK) , intent(in) , optional :: sorted
2302! logical(LK) , intent(in) , optional :: unique
2303! logical(LK) , intent(in) , optional :: keep
2304! end subroutine
2305!#endif
2306!
2307! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2308!
2309! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2310! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2311! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2312!
2313! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2314!
2315!#if SK5_ENABLED
2316! PURE module subroutine setSplitFixDefComDefIns_D1_D1_SK5(field, nsplit, array, sep, keep)
2317!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2318! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_SK5
2319!#endif
2320! use pm_kind, only: SKG => SK5
2321! integer(IK) , intent(out) , contiguous :: field(:)
2322! integer(IK) , intent(out) :: nsplit
2323! character(*,SKG) , intent(in) , contiguous :: array(:)
2324! character(*,SKG) , intent(in) , contiguous :: sep(:)
2325! logical(LK) , intent(in) , optional :: keep
2326! end subroutine
2327!#endif
2328!
2329!#if SK4_ENABLED
2330! PURE module subroutine setSplitFixDefComDefIns_D1_D1_SK4(field, nsplit, array, sep, keep)
2331!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2332! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_SK4
2333!#endif
2334! use pm_kind, only: SKG => SK4
2335! integer(IK) , intent(out) , contiguous :: field(:)
2336! integer(IK) , intent(out) :: nsplit
2337! character(*,SKG) , intent(in) , contiguous :: array(:)
2338! character(*,SKG) , intent(in) , contiguous :: sep(:)
2339! logical(LK) , intent(in) , optional :: keep
2340! end subroutine
2341!#endif
2342!
2343!#if SK3_ENABLED
2344! PURE module subroutine setSplitFixDefComDefIns_D1_D1_SK3(field, nsplit, array, sep, keep)
2345!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2346! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_SK3
2347!#endif
2348! use pm_kind, only: SKG => SK3
2349! integer(IK) , intent(out) , contiguous :: field(:)
2350! integer(IK) , intent(out) :: nsplit
2351! character(*,SKG) , intent(in) , contiguous :: array(:)
2352! character(*,SKG) , intent(in) , contiguous :: sep(:)
2353! logical(LK) , intent(in) , optional :: keep
2354! end subroutine
2355!#endif
2356!
2357!#if SK2_ENABLED
2358! PURE module subroutine setSplitFixDefComDefIns_D1_D1_SK2(field, nsplit, array, sep, keep)
2359!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2360! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_SK2
2361!#endif
2362! use pm_kind, only: SKG => SK2
2363! integer(IK) , intent(out) , contiguous :: field(:)
2364! integer(IK) , intent(out) :: nsplit
2365! character(*,SKG) , intent(in) , contiguous :: array(:)
2366! character(*,SKG) , intent(in) , contiguous :: sep(:)
2367! logical(LK) , intent(in) , optional :: keep
2368! end subroutine
2369!#endif
2370!
2371!#if SK1_ENABLED
2372! PURE module subroutine setSplitFixDefComDefIns_D1_D1_SK1(field, nsplit, array, sep, keep)
2373!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2374! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_SK1
2375!#endif
2376! use pm_kind, only: SKG => SK1
2377! integer(IK) , intent(out) , contiguous :: field(:)
2378! integer(IK) , intent(out) :: nsplit
2379! character(*,SKG) , intent(in) , contiguous :: array(:)
2380! character(*,SKG) , intent(in) , contiguous :: sep(:)
2381! logical(LK) , intent(in) , optional :: keep
2382! end subroutine
2383!#endif
2384!
2385! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2386!
2387!#if IK5_ENABLED
2388! PURE module subroutine setSplitFixDefComDefIns_D1_D1_IK5(field, nsplit, array, sep, keep)
2389!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2390! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_IK5
2391!#endif
2392! use pm_kind, only: IKG => IK5
2393! integer(IK) , intent(out) , contiguous :: field(:)
2394! integer(IK) , intent(out) :: nsplit
2395! integer(IKG) , intent(in) , contiguous :: array(:)
2396! integer(IKG) , intent(in) , contiguous :: sep(:)
2397! logical(LK) , intent(in) , optional :: keep
2398! end subroutine
2399!#endif
2400!
2401!#if IK4_ENABLED
2402! PURE module subroutine setSplitFixDefComDefIns_D1_D1_IK4(field, nsplit, array, sep, keep)
2403!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2404! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_IK4
2405!#endif
2406! use pm_kind, only: IKG => IK4
2407! integer(IK) , intent(out) , contiguous :: field(:)
2408! integer(IK) , intent(out) :: nsplit
2409! integer(IKG) , intent(in) , contiguous :: array(:)
2410! integer(IKG) , intent(in) , contiguous :: sep(:)
2411! logical(LK) , intent(in) , optional :: keep
2412! end subroutine
2413!#endif
2414!
2415!#if IK3_ENABLED
2416! PURE module subroutine setSplitFixDefComDefIns_D1_D1_IK3(field, nsplit, array, sep, keep)
2417!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2418! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_IK3
2419!#endif
2420! use pm_kind, only: IKG => IK3
2421! integer(IK) , intent(out) , contiguous :: field(:)
2422! integer(IK) , intent(out) :: nsplit
2423! integer(IKG) , intent(in) , contiguous :: array(:)
2424! integer(IKG) , intent(in) , contiguous :: sep(:)
2425! logical(LK) , intent(in) , optional :: keep
2426! end subroutine
2427!#endif
2428!
2429!#if IK2_ENABLED
2430! PURE module subroutine setSplitFixDefComDefIns_D1_D1_IK2(field, nsplit, array, sep, keep)
2431!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2432! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_IK2
2433!#endif
2434! use pm_kind, only: IKG => IK2
2435! integer(IK) , intent(out) , contiguous :: field(:)
2436! integer(IK) , intent(out) :: nsplit
2437! integer(IKG) , intent(in) , contiguous :: array(:)
2438! integer(IKG) , intent(in) , contiguous :: sep(:)
2439! logical(LK) , intent(in) , optional :: keep
2440! end subroutine
2441!#endif
2442!
2443!#if IK1_ENABLED
2444! PURE module subroutine setSplitFixDefComDefIns_D1_D1_IK1(field, nsplit, array, sep, keep)
2445!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2446! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_IK1
2447!#endif
2448! use pm_kind, only: IKG => IK1
2449! integer(IK) , intent(out) , contiguous :: field(:)
2450! integer(IK) , intent(out) :: nsplit
2451! integer(IKG) , intent(in) , contiguous :: array(:)
2452! integer(IKG) , intent(in) , contiguous :: sep(:)
2453! logical(LK) , intent(in) , optional :: keep
2454! end subroutine
2455!#endif
2456!
2457! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2458!
2459!#if LK5_ENABLED
2460! PURE module subroutine setSplitFixDefComDefIns_D1_D1_LK5(field, nsplit, array, sep, keep)
2461!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2462! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_LK5
2463!#endif
2464! use pm_kind, only: LKG => LK5
2465! integer(IK) , intent(out) , contiguous :: field(:)
2466! integer(IK) , intent(out) :: nsplit
2467! logical(LKG) , intent(in) , contiguous :: array(:)
2468! logical(LKG) , intent(in) , contiguous :: sep(:)
2469! logical(LK) , intent(in) , optional :: keep
2470! end subroutine
2471!#endif
2472!
2473!#if LK4_ENABLED
2474! PURE module subroutine setSplitFixDefComDefIns_D1_D1_LK4(field, nsplit, array, sep, keep)
2475!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2476! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_LK4
2477!#endif
2478! use pm_kind, only: LKG => LK4
2479! integer(IK) , intent(out) , contiguous :: field(:)
2480! integer(IK) , intent(out) :: nsplit
2481! logical(LKG) , intent(in) , contiguous :: array(:)
2482! logical(LKG) , intent(in) , contiguous :: sep(:)
2483! logical(LK) , intent(in) , optional :: keep
2484! end subroutine
2485!#endif
2486!
2487!#if LK3_ENABLED
2488! PURE module subroutine setSplitFixDefComDefIns_D1_D1_LK3(field, nsplit, array, sep, keep)
2489!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2490! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_LK3
2491!#endif
2492! use pm_kind, only: LKG => LK3
2493! integer(IK) , intent(out) , contiguous :: field(:)
2494! integer(IK) , intent(out) :: nsplit
2495! logical(LKG) , intent(in) , contiguous :: array(:)
2496! logical(LKG) , intent(in) , contiguous :: sep(:)
2497! logical(LK) , intent(in) , optional :: keep
2498! end subroutine
2499!#endif
2500!
2501!#if LK2_ENABLED
2502! PURE module subroutine setSplitFixDefComDefIns_D1_D1_LK2(field, nsplit, array, sep, keep)
2503!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2504! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_LK2
2505!#endif
2506! use pm_kind, only: LKG => LK2
2507! integer(IK) , intent(out) , contiguous :: field(:)
2508! integer(IK) , intent(out) :: nsplit
2509! logical(LKG) , intent(in) , contiguous :: array(:)
2510! logical(LKG) , intent(in) , contiguous :: sep(:)
2511! logical(LK) , intent(in) , optional :: keep
2512! end subroutine
2513!#endif
2514!
2515!#if LK1_ENABLED
2516! PURE module subroutine setSplitFixDefComDefIns_D1_D1_LK1(field, nsplit, array, sep, keep)
2517!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2518! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_LK1
2519!#endif
2520! use pm_kind, only: LKG => LK1
2521! integer(IK) , intent(out) , contiguous :: field(:)
2522! integer(IK) , intent(out) :: nsplit
2523! logical(LKG) , intent(in) , contiguous :: array(:)
2524! logical(LKG) , intent(in) , contiguous :: sep(:)
2525! logical(LK) , intent(in) , optional :: keep
2526! end subroutine
2527!#endif
2528!
2529! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2530!
2531!#if CK5_ENABLED
2532! PURE module subroutine setSplitFixDefComDefIns_D1_D1_CK5(field, nsplit, array, sep, keep)
2533!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2534! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_CK5
2535!#endif
2536! use pm_kind, only: CKG => CK5
2537! integer(IK) , intent(out) , contiguous :: field(:)
2538! integer(IK) , intent(out) :: nsplit
2539! complex(CKG) , intent(in) , contiguous :: array(:)
2540! complex(CKG) , intent(in) , contiguous :: sep(:)
2541! logical(LK) , intent(in) , optional :: keep
2542! end subroutine
2543!#endif
2544!
2545!#if CK4_ENABLED
2546! PURE module subroutine setSplitFixDefComDefIns_D1_D1_CK4(field, nsplit, array, sep, keep)
2547!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2548! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_CK4
2549!#endif
2550! use pm_kind, only: CKG => CK4
2551! integer(IK) , intent(out) , contiguous :: field(:)
2552! integer(IK) , intent(out) :: nsplit
2553! complex(CKG) , intent(in) , contiguous :: array(:)
2554! complex(CKG) , intent(in) , contiguous :: sep(:)
2555! logical(LK) , intent(in) , optional :: keep
2556! end subroutine
2557!#endif
2558!
2559!#if CK3_ENABLED
2560! PURE module subroutine setSplitFixDefComDefIns_D1_D1_CK3(field, nsplit, array, sep, keep)
2561!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2562! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_CK3
2563!#endif
2564! use pm_kind, only: CKG => CK3
2565! integer(IK) , intent(out) , contiguous :: field(:)
2566! integer(IK) , intent(out) :: nsplit
2567! complex(CKG) , intent(in) , contiguous :: array(:)
2568! complex(CKG) , intent(in) , contiguous :: sep(:)
2569! logical(LK) , intent(in) , optional :: keep
2570! end subroutine
2571!#endif
2572!
2573!#if CK2_ENABLED
2574! PURE module subroutine setSplitFixDefComDefIns_D1_D1_CK2(field, nsplit, array, sep, keep)
2575!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2576! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_CK2
2577!#endif
2578! use pm_kind, only: CKG => CK2
2579! integer(IK) , intent(out) , contiguous :: field(:)
2580! integer(IK) , intent(out) :: nsplit
2581! complex(CKG) , intent(in) , contiguous :: array(:)
2582! complex(CKG) , intent(in) , contiguous :: sep(:)
2583! logical(LK) , intent(in) , optional :: keep
2584! end subroutine
2585!#endif
2586!
2587!#if CK1_ENABLED
2588! PURE module subroutine setSplitFixDefComDefIns_D1_D1_CK1(field, nsplit, array, sep, keep)
2589!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2590! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_CK1
2591!#endif
2592! use pm_kind, only: CKG => CK1
2593! integer(IK) , intent(out) , contiguous :: field(:)
2594! integer(IK) , intent(out) :: nsplit
2595! complex(CKG) , intent(in) , contiguous :: array(:)
2596! complex(CKG) , intent(in) , contiguous :: sep(:)
2597! logical(LK) , intent(in) , optional :: keep
2598! end subroutine
2599!#endif
2600!
2601! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2602!
2603!#if RK5_ENABLED
2604! PURE module subroutine setSplitFixDefComDefIns_D1_D1_RK5(field, nsplit, array, sep, keep)
2605!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2606! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_RK5
2607!#endif
2608! use pm_kind, only: RKG => RK5
2609! integer(IK) , intent(out) , contiguous :: field(:)
2610! integer(IK) , intent(out) :: nsplit
2611! real(RKG) , intent(in) , contiguous :: array(:)
2612! real(RKG) , intent(in) , contiguous :: sep(:)
2613! logical(LK) , intent(in) , optional :: keep
2614! end subroutine
2615!#endif
2616!
2617!#if RK4_ENABLED
2618! PURE module subroutine setSplitFixDefComDefIns_D1_D1_RK4(field, nsplit, array, sep, keep)
2619!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2620! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_RK4
2621!#endif
2622! use pm_kind, only: RKG => RK4
2623! integer(IK) , intent(out) , contiguous :: field(:)
2624! integer(IK) , intent(out) :: nsplit
2625! real(RKG) , intent(in) , contiguous :: array(:)
2626! real(RKG) , intent(in) , contiguous :: sep(:)
2627! logical(LK) , intent(in) , optional :: keep
2628! end subroutine
2629!#endif
2630!
2631!#if RK3_ENABLED
2632! PURE module subroutine setSplitFixDefComDefIns_D1_D1_RK3(field, nsplit, array, sep, keep)
2633!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2634! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_RK3
2635!#endif
2636! use pm_kind, only: RKG => RK3
2637! integer(IK) , intent(out) , contiguous :: field(:)
2638! integer(IK) , intent(out) :: nsplit
2639! real(RKG) , intent(in) , contiguous :: array(:)
2640! real(RKG) , intent(in) , contiguous :: sep(:)
2641! logical(LK) , intent(in) , optional :: keep
2642! end subroutine
2643!#endif
2644!
2645!#if RK2_ENABLED
2646! PURE module subroutine setSplitFixDefComDefIns_D1_D1_RK2(field, nsplit, array, sep, keep)
2647!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2648! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_RK2
2649!#endif
2650! use pm_kind, only: RKG => RK2
2651! integer(IK) , intent(out) , contiguous :: field(:)
2652! integer(IK) , intent(out) :: nsplit
2653! real(RKG) , intent(in) , contiguous :: array(:)
2654! real(RKG) , intent(in) , contiguous :: sep(:)
2655! logical(LK) , intent(in) , optional :: keep
2656! end subroutine
2657!#endif
2658!
2659!#if RK1_ENABLED
2660! PURE module subroutine setSplitFixDefComDefIns_D1_D1_RK1(field, nsplit, array, sep, keep)
2661!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2662! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComDefIns_D1_D1_RK1
2663!#endif
2664! use pm_kind, only: RKG => RK1
2665! integer(IK) , intent(out) , contiguous :: field(:)
2666! integer(IK) , intent(out) :: nsplit
2667! real(RKG) , intent(in) , contiguous :: array(:)
2668! real(RKG) , intent(in) , contiguous :: sep(:)
2669! logical(LK) , intent(in) , optional :: keep
2670! end subroutine
2671!#endif
2672!
2673! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2674!
2675! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2676! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2677! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2678!
2679! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2680!
2681!#if SK5_ENABLED
2682! module subroutine setSplitFixCusComDefIns_D1_D1_SK5(field, nsplit, array, sep, iseq, keep)
2683!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2684! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_SK5
2685!#endif
2686! use pm_kind, only: SKG => SK5
2687! integer(IK) , intent(out) , contiguous :: field(:)
2688! integer(IK) , intent(out) :: nsplit
2689! character(*,SKG) , intent(in) , contiguous :: array(:)
2690! character(*,SKG) , intent(in) , contiguous :: sep(:)
2691! procedure(logical(LK)) :: iseq
2692! logical(LK) , intent(in) , optional :: keep
2693! end subroutine
2694!#endif
2695!
2696!#if SK4_ENABLED
2697! module subroutine setSplitFixCusComDefIns_D1_D1_SK4(field, nsplit, array, sep, iseq, keep)
2698!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2699! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_SK4
2700!#endif
2701! use pm_kind, only: SKG => SK4
2702! integer(IK) , intent(out) , contiguous :: field(:)
2703! integer(IK) , intent(out) :: nsplit
2704! character(*,SKG) , intent(in) , contiguous :: array(:)
2705! character(*,SKG) , intent(in) , contiguous :: sep(:)
2706! procedure(logical(LK)) :: iseq
2707! logical(LK) , intent(in) , optional :: keep
2708! end subroutine
2709!#endif
2710!
2711!#if SK3_ENABLED
2712! module subroutine setSplitFixCusComDefIns_D1_D1_SK3(field, nsplit, array, sep, iseq, keep)
2713!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2714! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_SK3
2715!#endif
2716! use pm_kind, only: SKG => SK3
2717! integer(IK) , intent(out) , contiguous :: field(:)
2718! integer(IK) , intent(out) :: nsplit
2719! character(*,SKG) , intent(in) , contiguous :: array(:)
2720! character(*,SKG) , intent(in) , contiguous :: sep(:)
2721! procedure(logical(LK)) :: iseq
2722! logical(LK) , intent(in) , optional :: keep
2723! end subroutine
2724!#endif
2725!
2726!#if SK2_ENABLED
2727! module subroutine setSplitFixCusComDefIns_D1_D1_SK2(field, nsplit, array, sep, iseq, keep)
2728!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2729! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_SK2
2730!#endif
2731! use pm_kind, only: SKG => SK2
2732! integer(IK) , intent(out) , contiguous :: field(:)
2733! integer(IK) , intent(out) :: nsplit
2734! character(*,SKG) , intent(in) , contiguous :: array(:)
2735! character(*,SKG) , intent(in) , contiguous :: sep(:)
2736! procedure(logical(LK)) :: iseq
2737! logical(LK) , intent(in) , optional :: keep
2738! end subroutine
2739!#endif
2740!
2741!#if SK1_ENABLED
2742! module subroutine setSplitFixCusComDefIns_D1_D1_SK1(field, nsplit, array, sep, iseq, keep)
2743!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2744! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_SK1
2745!#endif
2746! use pm_kind, only: SKG => SK1
2747! integer(IK) , intent(out) , contiguous :: field(:)
2748! integer(IK) , intent(out) :: nsplit
2749! character(*,SKG) , intent(in) , contiguous :: array(:)
2750! character(*,SKG) , intent(in) , contiguous :: sep(:)
2751! procedure(logical(LK)) :: iseq
2752! logical(LK) , intent(in) , optional :: keep
2753! end subroutine
2754!#endif
2755!
2756! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2757!
2758!#if IK5_ENABLED
2759! module subroutine setSplitFixCusComDefIns_D1_D1_IK5(field, nsplit, array, sep, iseq, keep)
2760!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2761! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_IK5
2762!#endif
2763! use pm_kind, only: IKG => IK5
2764! integer(IK) , intent(out) , contiguous :: field(:)
2765! integer(IK) , intent(out) :: nsplit
2766! integer(IKG) , intent(in) , contiguous :: array(:)
2767! integer(IKG) , intent(in) , contiguous :: sep(:)
2768! procedure(logical(LK)) :: iseq
2769! logical(LK) , intent(in) , optional :: keep
2770! end subroutine
2771!#endif
2772!
2773!#if IK4_ENABLED
2774! module subroutine setSplitFixCusComDefIns_D1_D1_IK4(field, nsplit, array, sep, iseq, keep)
2775!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2776! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_IK4
2777!#endif
2778! use pm_kind, only: IKG => IK4
2779! integer(IK) , intent(out) , contiguous :: field(:)
2780! integer(IK) , intent(out) :: nsplit
2781! integer(IKG) , intent(in) , contiguous :: array(:)
2782! integer(IKG) , intent(in) , contiguous :: sep(:)
2783! procedure(logical(LK)) :: iseq
2784! logical(LK) , intent(in) , optional :: keep
2785! end subroutine
2786!#endif
2787!
2788!#if IK3_ENABLED
2789! module subroutine setSplitFixCusComDefIns_D1_D1_IK3(field, nsplit, array, sep, iseq, keep)
2790!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2791! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_IK3
2792!#endif
2793! use pm_kind, only: IKG => IK3
2794! integer(IK) , intent(out) , contiguous :: field(:)
2795! integer(IK) , intent(out) :: nsplit
2796! integer(IKG) , intent(in) , contiguous :: array(:)
2797! integer(IKG) , intent(in) , contiguous :: sep(:)
2798! procedure(logical(LK)) :: iseq
2799! logical(LK) , intent(in) , optional :: keep
2800! end subroutine
2801!#endif
2802!
2803!#if IK2_ENABLED
2804! module subroutine setSplitFixCusComDefIns_D1_D1_IK2(field, nsplit, array, sep, iseq, keep)
2805!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2806! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_IK2
2807!#endif
2808! use pm_kind, only: IKG => IK2
2809! integer(IK) , intent(out) , contiguous :: field(:)
2810! integer(IK) , intent(out) :: nsplit
2811! integer(IKG) , intent(in) , contiguous :: array(:)
2812! integer(IKG) , intent(in) , contiguous :: sep(:)
2813! procedure(logical(LK)) :: iseq
2814! logical(LK) , intent(in) , optional :: keep
2815! end subroutine
2816!#endif
2817!
2818!#if IK1_ENABLED
2819! module subroutine setSplitFixCusComDefIns_D1_D1_IK1(field, nsplit, array, sep, iseq, keep)
2820!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2821! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_IK1
2822!#endif
2823! use pm_kind, only: IKG => IK1
2824! integer(IK) , intent(out) , contiguous :: field(:)
2825! integer(IK) , intent(out) :: nsplit
2826! integer(IKG) , intent(in) , contiguous :: array(:)
2827! integer(IKG) , intent(in) , contiguous :: sep(:)
2828! procedure(logical(LK)) :: iseq
2829! logical(LK) , intent(in) , optional :: keep
2830! end subroutine
2831!#endif
2832!
2833! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2834!
2835!#if LK5_ENABLED
2836! module subroutine setSplitFixCusComDefIns_D1_D1_LK5(field, nsplit, array, sep, iseq, keep)
2837!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2838! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_LK5
2839!#endif
2840! use pm_kind, only: LKG => LK5
2841! integer(IK) , intent(out) , contiguous :: field(:)
2842! integer(IK) , intent(out) :: nsplit
2843! logical(LKG) , intent(in) , contiguous :: array(:)
2844! logical(LKG) , intent(in) , contiguous :: sep(:)
2845! procedure(logical(LK)) :: iseq
2846! logical(LK) , intent(in) , optional :: keep
2847! end subroutine
2848!#endif
2849!
2850!#if LK4_ENABLED
2851! module subroutine setSplitFixCusComDefIns_D1_D1_LK4(field, nsplit, array, sep, iseq, keep)
2852!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2853! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_LK4
2854!#endif
2855! use pm_kind, only: LKG => LK4
2856! integer(IK) , intent(out) , contiguous :: field(:)
2857! integer(IK) , intent(out) :: nsplit
2858! logical(LKG) , intent(in) , contiguous :: array(:)
2859! logical(LKG) , intent(in) , contiguous :: sep(:)
2860! procedure(logical(LK)) :: iseq
2861! logical(LK) , intent(in) , optional :: keep
2862! end subroutine
2863!#endif
2864!
2865!#if LK3_ENABLED
2866! module subroutine setSplitFixCusComDefIns_D1_D1_LK3(field, nsplit, array, sep, iseq, keep)
2867!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2868! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_LK3
2869!#endif
2870! use pm_kind, only: LKG => LK3
2871! integer(IK) , intent(out) , contiguous :: field(:)
2872! integer(IK) , intent(out) :: nsplit
2873! logical(LKG) , intent(in) , contiguous :: array(:)
2874! logical(LKG) , intent(in) , contiguous :: sep(:)
2875! procedure(logical(LK)) :: iseq
2876! logical(LK) , intent(in) , optional :: keep
2877! end subroutine
2878!#endif
2879!
2880!#if LK2_ENABLED
2881! module subroutine setSplitFixCusComDefIns_D1_D1_LK2(field, nsplit, array, sep, iseq, keep)
2882!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2883! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_LK2
2884!#endif
2885! use pm_kind, only: LKG => LK2
2886! integer(IK) , intent(out) , contiguous :: field(:)
2887! integer(IK) , intent(out) :: nsplit
2888! logical(LKG) , intent(in) , contiguous :: array(:)
2889! logical(LKG) , intent(in) , contiguous :: sep(:)
2890! procedure(logical(LK)) :: iseq
2891! logical(LK) , intent(in) , optional :: keep
2892! end subroutine
2893!#endif
2894!
2895!#if LK1_ENABLED
2896! module subroutine setSplitFixCusComDefIns_D1_D1_LK1(field, nsplit, array, sep, iseq, keep)
2897!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2898! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_LK1
2899!#endif
2900! use pm_kind, only: LKG => LK1
2901! integer(IK) , intent(out) , contiguous :: field(:)
2902! integer(IK) , intent(out) :: nsplit
2903! logical(LKG) , intent(in) , contiguous :: array(:)
2904! logical(LKG) , intent(in) , contiguous :: sep(:)
2905! procedure(logical(LK)) :: iseq
2906! logical(LK) , intent(in) , optional :: keep
2907! end subroutine
2908!#endif
2909!
2910! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2911!
2912!#if CK5_ENABLED
2913! module subroutine setSplitFixCusComDefIns_D1_D1_CK5(field, nsplit, array, sep, iseq, keep)
2914!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2915! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_CK5
2916!#endif
2917! use pm_kind, only: CKG => CK5
2918! integer(IK) , intent(out) , contiguous :: field(:)
2919! integer(IK) , intent(out) :: nsplit
2920! complex(CKG) , intent(in) , contiguous :: array(:)
2921! complex(CKG) , intent(in) , contiguous :: sep(:)
2922! procedure(logical(LK)) :: iseq
2923! logical(LK) , intent(in) , optional :: keep
2924! end subroutine
2925!#endif
2926!
2927!#if CK4_ENABLED
2928! module subroutine setSplitFixCusComDefIns_D1_D1_CK4(field, nsplit, array, sep, iseq, keep)
2929!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2930! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_CK4
2931!#endif
2932! use pm_kind, only: CKG => CK4
2933! integer(IK) , intent(out) , contiguous :: field(:)
2934! integer(IK) , intent(out) :: nsplit
2935! complex(CKG) , intent(in) , contiguous :: array(:)
2936! complex(CKG) , intent(in) , contiguous :: sep(:)
2937! procedure(logical(LK)) :: iseq
2938! logical(LK) , intent(in) , optional :: keep
2939! end subroutine
2940!#endif
2941!
2942!#if CK3_ENABLED
2943! module subroutine setSplitFixCusComDefIns_D1_D1_CK3(field, nsplit, array, sep, iseq, keep)
2944!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2945! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_CK3
2946!#endif
2947! use pm_kind, only: CKG => CK3
2948! integer(IK) , intent(out) , contiguous :: field(:)
2949! integer(IK) , intent(out) :: nsplit
2950! complex(CKG) , intent(in) , contiguous :: array(:)
2951! complex(CKG) , intent(in) , contiguous :: sep(:)
2952! procedure(logical(LK)) :: iseq
2953! logical(LK) , intent(in) , optional :: keep
2954! end subroutine
2955!#endif
2956!
2957!#if CK2_ENABLED
2958! module subroutine setSplitFixCusComDefIns_D1_D1_CK2(field, nsplit, array, sep, iseq, keep)
2959!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2960! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_CK2
2961!#endif
2962! use pm_kind, only: CKG => CK2
2963! integer(IK) , intent(out) , contiguous :: field(:)
2964! integer(IK) , intent(out) :: nsplit
2965! complex(CKG) , intent(in) , contiguous :: array(:)
2966! complex(CKG) , intent(in) , contiguous :: sep(:)
2967! procedure(logical(LK)) :: iseq
2968! logical(LK) , intent(in) , optional :: keep
2969! end subroutine
2970!#endif
2971!
2972!#if CK1_ENABLED
2973! module subroutine setSplitFixCusComDefIns_D1_D1_CK1(field, nsplit, array, sep, iseq, keep)
2974!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2975! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_CK1
2976!#endif
2977! use pm_kind, only: CKG => CK1
2978! integer(IK) , intent(out) , contiguous :: field(:)
2979! integer(IK) , intent(out) :: nsplit
2980! complex(CKG) , intent(in) , contiguous :: array(:)
2981! complex(CKG) , intent(in) , contiguous :: sep(:)
2982! procedure(logical(LK)) :: iseq
2983! logical(LK) , intent(in) , optional :: keep
2984! end subroutine
2985!#endif
2986!
2987! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2988!
2989!#if RK5_ENABLED
2990! module subroutine setSplitFixCusComDefIns_D1_D1_RK5(field, nsplit, array, sep, iseq, keep)
2991!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2992! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_RK5
2993!#endif
2994! use pm_kind, only: RKG => RK5
2995! integer(IK) , intent(out) , contiguous :: field(:)
2996! integer(IK) , intent(out) :: nsplit
2997! real(RKG) , intent(in) , contiguous :: array(:)
2998! real(RKG) , intent(in) , contiguous :: sep(:)
2999! procedure(logical(LK)) :: iseq
3000! logical(LK) , intent(in) , optional :: keep
3001! end subroutine
3002!#endif
3003!
3004!#if RK4_ENABLED
3005! module subroutine setSplitFixCusComDefIns_D1_D1_RK4(field, nsplit, array, sep, iseq, keep)
3006!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3007! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_RK4
3008!#endif
3009! use pm_kind, only: RKG => RK4
3010! integer(IK) , intent(out) , contiguous :: field(:)
3011! integer(IK) , intent(out) :: nsplit
3012! real(RKG) , intent(in) , contiguous :: array(:)
3013! real(RKG) , intent(in) , contiguous :: sep(:)
3014! procedure(logical(LK)) :: iseq
3015! logical(LK) , intent(in) , optional :: keep
3016! end subroutine
3017!#endif
3018!
3019!#if RK3_ENABLED
3020! module subroutine setSplitFixCusComDefIns_D1_D1_RK3(field, nsplit, array, sep, iseq, keep)
3021!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3022! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_RK3
3023!#endif
3024! use pm_kind, only: RKG => RK3
3025! integer(IK) , intent(out) , contiguous :: field(:)
3026! integer(IK) , intent(out) :: nsplit
3027! real(RKG) , intent(in) , contiguous :: array(:)
3028! real(RKG) , intent(in) , contiguous :: sep(:)
3029! procedure(logical(LK)) :: iseq
3030! logical(LK) , intent(in) , optional :: keep
3031! end subroutine
3032!#endif
3033!
3034!#if RK2_ENABLED
3035! module subroutine setSplitFixCusComDefIns_D1_D1_RK2(field, nsplit, array, sep, iseq, keep)
3036!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3037! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_RK2
3038!#endif
3039! use pm_kind, only: RKG => RK2
3040! integer(IK) , intent(out) , contiguous :: field(:)
3041! integer(IK) , intent(out) :: nsplit
3042! real(RKG) , intent(in) , contiguous :: array(:)
3043! real(RKG) , intent(in) , contiguous :: sep(:)
3044! procedure(logical(LK)) :: iseq
3045! logical(LK) , intent(in) , optional :: keep
3046! end subroutine
3047!#endif
3048!
3049!#if RK1_ENABLED
3050! module subroutine setSplitFixCusComDefIns_D1_D1_RK1(field, nsplit, array, sep, iseq, keep)
3051!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3052! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComDefIns_D1_D1_RK1
3053!#endif
3054! use pm_kind, only: RKG => RK1
3055! integer(IK) , intent(out) , contiguous :: field(:)
3056! integer(IK) , intent(out) :: nsplit
3057! real(RKG) , intent(in) , contiguous :: array(:)
3058! real(RKG) , intent(in) , contiguous :: sep(:)
3059! procedure(logical(LK)) :: iseq
3060! logical(LK) , intent(in) , optional :: keep
3061! end subroutine
3062!#endif
3063!
3064! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3065!
3066! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3067! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3068! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3069!
3070! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3071!
3072!#if SK5_ENABLED
3073! PURE module subroutine setSplitFixDefComCusIns_D1_D1_SK5(field, nsplit, array, sep, instance, sorted, unique, keep)
3074!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3075! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_SK5
3076!#endif
3077! use pm_kind, only: SKG => SK5
3078! integer(IK) , intent(out) , contiguous :: field(:)
3079! integer(IK) , intent(out) :: nsplit
3080! character(*,SKG) , intent(in) , contiguous :: array(:)
3081! character(*,SKG) , intent(in) , contiguous :: sep(:)
3082! integer(IK) , intent(in) , contiguous :: instance(:)
3083! logical(LK) , intent(in) , optional :: sorted
3084! logical(LK) , intent(in) , optional :: unique
3085! logical(LK) , intent(in) , optional :: keep
3086! end subroutine
3087!#endif
3088!
3089!#if SK4_ENABLED
3090! PURE module subroutine setSplitFixDefComCusIns_D1_D1_SK4(field, nsplit, array, sep, instance, sorted, unique, keep)
3091!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3092! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_SK4
3093!#endif
3094! use pm_kind, only: SKG => SK4
3095! integer(IK) , intent(out) , contiguous :: field(:)
3096! integer(IK) , intent(out) :: nsplit
3097! character(*,SKG) , intent(in) , contiguous :: array(:)
3098! character(*,SKG) , intent(in) , contiguous :: sep(:)
3099! integer(IK) , intent(in) , contiguous :: instance(:)
3100! logical(LK) , intent(in) , optional :: sorted
3101! logical(LK) , intent(in) , optional :: unique
3102! logical(LK) , intent(in) , optional :: keep
3103! end subroutine
3104!#endif
3105!
3106!#if SK3_ENABLED
3107! PURE module subroutine setSplitFixDefComCusIns_D1_D1_SK3(field, nsplit, array, sep, instance, sorted, unique, keep)
3108!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3109! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_SK3
3110!#endif
3111! use pm_kind, only: SKG => SK3
3112! integer(IK) , intent(out) , contiguous :: field(:)
3113! integer(IK) , intent(out) :: nsplit
3114! character(*,SKG) , intent(in) , contiguous :: array(:)
3115! character(*,SKG) , intent(in) , contiguous :: sep(:)
3116! integer(IK) , intent(in) , contiguous :: instance(:)
3117! logical(LK) , intent(in) , optional :: sorted
3118! logical(LK) , intent(in) , optional :: unique
3119! logical(LK) , intent(in) , optional :: keep
3120! end subroutine
3121!#endif
3122!
3123!#if SK2_ENABLED
3124! PURE module subroutine setSplitFixDefComCusIns_D1_D1_SK2(field, nsplit, array, sep, instance, sorted, unique, keep)
3125!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3126! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_SK2
3127!#endif
3128! use pm_kind, only: SKG => SK2
3129! integer(IK) , intent(out) , contiguous :: field(:)
3130! integer(IK) , intent(out) :: nsplit
3131! character(*,SKG) , intent(in) , contiguous :: array(:)
3132! character(*,SKG) , intent(in) , contiguous :: sep(:)
3133! integer(IK) , intent(in) , contiguous :: instance(:)
3134! logical(LK) , intent(in) , optional :: sorted
3135! logical(LK) , intent(in) , optional :: unique
3136! logical(LK) , intent(in) , optional :: keep
3137! end subroutine
3138!#endif
3139!
3140!#if SK1_ENABLED
3141! PURE module subroutine setSplitFixDefComCusIns_D1_D1_SK1(field, nsplit, array, sep, instance, sorted, unique, keep)
3142!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3143! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_SK1
3144!#endif
3145! use pm_kind, only: SKG => SK1
3146! integer(IK) , intent(out) , contiguous :: field(:)
3147! integer(IK) , intent(out) :: nsplit
3148! character(*,SKG) , intent(in) , contiguous :: array(:)
3149! character(*,SKG) , intent(in) , contiguous :: sep(:)
3150! integer(IK) , intent(in) , contiguous :: instance(:)
3151! logical(LK) , intent(in) , optional :: sorted
3152! logical(LK) , intent(in) , optional :: unique
3153! logical(LK) , intent(in) , optional :: keep
3154! end subroutine
3155!#endif
3156!
3157! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3158!
3159!#if IK5_ENABLED
3160! PURE module subroutine setSplitFixDefComCusIns_D1_D1_IK5(field, nsplit, array, sep, instance, sorted, unique, keep)
3161!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3162! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_IK5
3163!#endif
3164! use pm_kind, only: IKG => IK5
3165! integer(IK) , intent(out) , contiguous :: field(:)
3166! integer(IK) , intent(out) :: nsplit
3167! integer(IKG) , intent(in) , contiguous :: array(:)
3168! integer(IKG) , intent(in) , contiguous :: sep(:)
3169! integer(IK) , intent(in) , contiguous :: instance(:)
3170! logical(LK) , intent(in) , optional :: sorted
3171! logical(LK) , intent(in) , optional :: unique
3172! logical(LK) , intent(in) , optional :: keep
3173! end subroutine
3174!#endif
3175!
3176!#if IK4_ENABLED
3177! PURE module subroutine setSplitFixDefComCusIns_D1_D1_IK4(field, nsplit, array, sep, instance, sorted, unique, keep)
3178!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3179! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_IK4
3180!#endif
3181! use pm_kind, only: IKG => IK4
3182! integer(IK) , intent(out) , contiguous :: field(:)
3183! integer(IK) , intent(out) :: nsplit
3184! integer(IKG) , intent(in) , contiguous :: array(:)
3185! integer(IKG) , intent(in) , contiguous :: sep(:)
3186! integer(IK) , intent(in) , contiguous :: instance(:)
3187! logical(LK) , intent(in) , optional :: sorted
3188! logical(LK) , intent(in) , optional :: unique
3189! logical(LK) , intent(in) , optional :: keep
3190! end subroutine
3191!#endif
3192!
3193!#if IK3_ENABLED
3194! PURE module subroutine setSplitFixDefComCusIns_D1_D1_IK3(field, nsplit, array, sep, instance, sorted, unique, keep)
3195!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3196! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_IK3
3197!#endif
3198! use pm_kind, only: IKG => IK3
3199! integer(IK) , intent(out) , contiguous :: field(:)
3200! integer(IK) , intent(out) :: nsplit
3201! integer(IKG) , intent(in) , contiguous :: array(:)
3202! integer(IKG) , intent(in) , contiguous :: sep(:)
3203! integer(IK) , intent(in) , contiguous :: instance(:)
3204! logical(LK) , intent(in) , optional :: sorted
3205! logical(LK) , intent(in) , optional :: unique
3206! logical(LK) , intent(in) , optional :: keep
3207! end subroutine
3208!#endif
3209!
3210!#if IK2_ENABLED
3211! PURE module subroutine setSplitFixDefComCusIns_D1_D1_IK2(field, nsplit, array, sep, instance, sorted, unique, keep)
3212!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3213! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_IK2
3214!#endif
3215! use pm_kind, only: IKG => IK2
3216! integer(IK) , intent(out) , contiguous :: field(:)
3217! integer(IK) , intent(out) :: nsplit
3218! integer(IKG) , intent(in) , contiguous :: array(:)
3219! integer(IKG) , intent(in) , contiguous :: sep(:)
3220! integer(IK) , intent(in) , contiguous :: instance(:)
3221! logical(LK) , intent(in) , optional :: sorted
3222! logical(LK) , intent(in) , optional :: unique
3223! logical(LK) , intent(in) , optional :: keep
3224! end subroutine
3225!#endif
3226!
3227!#if IK1_ENABLED
3228! PURE module subroutine setSplitFixDefComCusIns_D1_D1_IK1(field, nsplit, array, sep, instance, sorted, unique, keep)
3229!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3230! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_IK1
3231!#endif
3232! use pm_kind, only: IKG => IK1
3233! integer(IK) , intent(out) , contiguous :: field(:)
3234! integer(IK) , intent(out) :: nsplit
3235! integer(IKG) , intent(in) , contiguous :: array(:)
3236! integer(IKG) , intent(in) , contiguous :: sep(:)
3237! integer(IK) , intent(in) , contiguous :: instance(:)
3238! logical(LK) , intent(in) , optional :: sorted
3239! logical(LK) , intent(in) , optional :: unique
3240! logical(LK) , intent(in) , optional :: keep
3241! end subroutine
3242!#endif
3243!
3244! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3245!
3246!#if LK5_ENABLED
3247! PURE module subroutine setSplitFixDefComCusIns_D1_D1_LK5(field, nsplit, array, sep, instance, sorted, unique, keep)
3248!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3249! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_LK5
3250!#endif
3251! use pm_kind, only: LKG => LK5
3252! integer(IK) , intent(out) , contiguous :: field(:)
3253! integer(IK) , intent(out) :: nsplit
3254! logical(LKG) , intent(in) , contiguous :: array(:)
3255! logical(LKG) , intent(in) , contiguous :: sep(:)
3256! integer(IK) , intent(in) , contiguous :: instance(:)
3257! logical(LK) , intent(in) , optional :: sorted
3258! logical(LK) , intent(in) , optional :: unique
3259! logical(LK) , intent(in) , optional :: keep
3260! end subroutine
3261!#endif
3262!
3263!#if LK4_ENABLED
3264! PURE module subroutine setSplitFixDefComCusIns_D1_D1_LK4(field, nsplit, array, sep, instance, sorted, unique, keep)
3265!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3266! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_LK4
3267!#endif
3268! use pm_kind, only: LKG => LK4
3269! integer(IK) , intent(out) , contiguous :: field(:)
3270! integer(IK) , intent(out) :: nsplit
3271! logical(LKG) , intent(in) , contiguous :: array(:)
3272! logical(LKG) , intent(in) , contiguous :: sep(:)
3273! integer(IK) , intent(in) , contiguous :: instance(:)
3274! logical(LK) , intent(in) , optional :: sorted
3275! logical(LK) , intent(in) , optional :: unique
3276! logical(LK) , intent(in) , optional :: keep
3277! end subroutine
3278!#endif
3279!
3280!#if LK3_ENABLED
3281! PURE module subroutine setSplitFixDefComCusIns_D1_D1_LK3(field, nsplit, array, sep, instance, sorted, unique, keep)
3282!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3283! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_LK3
3284!#endif
3285! use pm_kind, only: LKG => LK3
3286! integer(IK) , intent(out) , contiguous :: field(:)
3287! integer(IK) , intent(out) :: nsplit
3288! logical(LKG) , intent(in) , contiguous :: array(:)
3289! logical(LKG) , intent(in) , contiguous :: sep(:)
3290! integer(IK) , intent(in) , contiguous :: instance(:)
3291! logical(LK) , intent(in) , optional :: sorted
3292! logical(LK) , intent(in) , optional :: unique
3293! logical(LK) , intent(in) , optional :: keep
3294! end subroutine
3295!#endif
3296!
3297!#if LK2_ENABLED
3298! PURE module subroutine setSplitFixDefComCusIns_D1_D1_LK2(field, nsplit, array, sep, instance, sorted, unique, keep)
3299!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3300! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_LK2
3301!#endif
3302! use pm_kind, only: LKG => LK2
3303! integer(IK) , intent(out) , contiguous :: field(:)
3304! integer(IK) , intent(out) :: nsplit
3305! logical(LKG) , intent(in) , contiguous :: array(:)
3306! logical(LKG) , intent(in) , contiguous :: sep(:)
3307! integer(IK) , intent(in) , contiguous :: instance(:)
3308! logical(LK) , intent(in) , optional :: sorted
3309! logical(LK) , intent(in) , optional :: unique
3310! logical(LK) , intent(in) , optional :: keep
3311! end subroutine
3312!#endif
3313!
3314!#if LK1_ENABLED
3315! PURE module subroutine setSplitFixDefComCusIns_D1_D1_LK1(field, nsplit, array, sep, instance, sorted, unique, keep)
3316!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3317! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_LK1
3318!#endif
3319! use pm_kind, only: LKG => LK1
3320! integer(IK) , intent(out) , contiguous :: field(:)
3321! integer(IK) , intent(out) :: nsplit
3322! logical(LKG) , intent(in) , contiguous :: array(:)
3323! logical(LKG) , intent(in) , contiguous :: sep(:)
3324! integer(IK) , intent(in) , contiguous :: instance(:)
3325! logical(LK) , intent(in) , optional :: sorted
3326! logical(LK) , intent(in) , optional :: unique
3327! logical(LK) , intent(in) , optional :: keep
3328! end subroutine
3329!#endif
3330!
3331! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3332!
3333!#if CK5_ENABLED
3334! PURE module subroutine setSplitFixDefComCusIns_D1_D1_CK5(field, nsplit, array, sep, instance, sorted, unique, keep)
3335!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3336! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_CK5
3337!#endif
3338! use pm_kind, only: CKG => CK5
3339! integer(IK) , intent(out) , contiguous :: field(:)
3340! integer(IK) , intent(out) :: nsplit
3341! complex(CKG) , intent(in) , contiguous :: array(:)
3342! complex(CKG) , intent(in) , contiguous :: sep(:)
3343! integer(IK) , intent(in) , contiguous :: instance(:)
3344! logical(LK) , intent(in) , optional :: sorted
3345! logical(LK) , intent(in) , optional :: unique
3346! logical(LK) , intent(in) , optional :: keep
3347! end subroutine
3348!#endif
3349!
3350!#if CK4_ENABLED
3351! PURE module subroutine setSplitFixDefComCusIns_D1_D1_CK4(field, nsplit, array, sep, instance, sorted, unique, keep)
3352!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3353! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_CK4
3354!#endif
3355! use pm_kind, only: CKG => CK4
3356! integer(IK) , intent(out) , contiguous :: field(:)
3357! integer(IK) , intent(out) :: nsplit
3358! complex(CKG) , intent(in) , contiguous :: array(:)
3359! complex(CKG) , intent(in) , contiguous :: sep(:)
3360! integer(IK) , intent(in) , contiguous :: instance(:)
3361! logical(LK) , intent(in) , optional :: sorted
3362! logical(LK) , intent(in) , optional :: unique
3363! logical(LK) , intent(in) , optional :: keep
3364! end subroutine
3365!#endif
3366!
3367!#if CK3_ENABLED
3368! PURE module subroutine setSplitFixDefComCusIns_D1_D1_CK3(field, nsplit, array, sep, instance, sorted, unique, keep)
3369!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3370! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_CK3
3371!#endif
3372! use pm_kind, only: CKG => CK3
3373! integer(IK) , intent(out) , contiguous :: field(:)
3374! integer(IK) , intent(out) :: nsplit
3375! complex(CKG) , intent(in) , contiguous :: array(:)
3376! complex(CKG) , intent(in) , contiguous :: sep(:)
3377! integer(IK) , intent(in) , contiguous :: instance(:)
3378! logical(LK) , intent(in) , optional :: sorted
3379! logical(LK) , intent(in) , optional :: unique
3380! logical(LK) , intent(in) , optional :: keep
3381! end subroutine
3382!#endif
3383!
3384!#if CK2_ENABLED
3385! PURE module subroutine setSplitFixDefComCusIns_D1_D1_CK2(field, nsplit, array, sep, instance, sorted, unique, keep)
3386!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3387! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_CK2
3388!#endif
3389! use pm_kind, only: CKG => CK2
3390! integer(IK) , intent(out) , contiguous :: field(:)
3391! integer(IK) , intent(out) :: nsplit
3392! complex(CKG) , intent(in) , contiguous :: array(:)
3393! complex(CKG) , intent(in) , contiguous :: sep(:)
3394! integer(IK) , intent(in) , contiguous :: instance(:)
3395! logical(LK) , intent(in) , optional :: sorted
3396! logical(LK) , intent(in) , optional :: unique
3397! logical(LK) , intent(in) , optional :: keep
3398! end subroutine
3399!#endif
3400!
3401!#if CK1_ENABLED
3402! PURE module subroutine setSplitFixDefComCusIns_D1_D1_CK1(field, nsplit, array, sep, instance, sorted, unique, keep)
3403!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3404! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_CK1
3405!#endif
3406! use pm_kind, only: CKG => CK1
3407! integer(IK) , intent(out) , contiguous :: field(:)
3408! integer(IK) , intent(out) :: nsplit
3409! complex(CKG) , intent(in) , contiguous :: array(:)
3410! complex(CKG) , intent(in) , contiguous :: sep(:)
3411! integer(IK) , intent(in) , contiguous :: instance(:)
3412! logical(LK) , intent(in) , optional :: sorted
3413! logical(LK) , intent(in) , optional :: unique
3414! logical(LK) , intent(in) , optional :: keep
3415! end subroutine
3416!#endif
3417!
3418! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3419!
3420!#if RK5_ENABLED
3421! PURE module subroutine setSplitFixDefComCusIns_D1_D1_RK5(field, nsplit, array, sep, instance, sorted, unique, keep)
3422!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3423! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_RK5
3424!#endif
3425! use pm_kind, only: RKG => RK5
3426! integer(IK) , intent(out) , contiguous :: field(:)
3427! integer(IK) , intent(out) :: nsplit
3428! real(RKG) , intent(in) , contiguous :: array(:)
3429! real(RKG) , intent(in) , contiguous :: sep(:)
3430! integer(IK) , intent(in) , contiguous :: instance(:)
3431! logical(LK) , intent(in) , optional :: sorted
3432! logical(LK) , intent(in) , optional :: unique
3433! logical(LK) , intent(in) , optional :: keep
3434! end subroutine
3435!#endif
3436!
3437!#if RK4_ENABLED
3438! PURE module subroutine setSplitFixDefComCusIns_D1_D1_RK4(field, nsplit, array, sep, instance, sorted, unique, keep)
3439!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3440! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_RK4
3441!#endif
3442! use pm_kind, only: RKG => RK4
3443! integer(IK) , intent(out) , contiguous :: field(:)
3444! integer(IK) , intent(out) :: nsplit
3445! real(RKG) , intent(in) , contiguous :: array(:)
3446! real(RKG) , intent(in) , contiguous :: sep(:)
3447! integer(IK) , intent(in) , contiguous :: instance(:)
3448! logical(LK) , intent(in) , optional :: sorted
3449! logical(LK) , intent(in) , optional :: unique
3450! logical(LK) , intent(in) , optional :: keep
3451! end subroutine
3452!#endif
3453!
3454!#if RK3_ENABLED
3455! PURE module subroutine setSplitFixDefComCusIns_D1_D1_RK3(field, nsplit, array, sep, instance, sorted, unique, keep)
3456!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3457! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_RK3
3458!#endif
3459! use pm_kind, only: RKG => RK3
3460! integer(IK) , intent(out) , contiguous :: field(:)
3461! integer(IK) , intent(out) :: nsplit
3462! real(RKG) , intent(in) , contiguous :: array(:)
3463! real(RKG) , intent(in) , contiguous :: sep(:)
3464! integer(IK) , intent(in) , contiguous :: instance(:)
3465! logical(LK) , intent(in) , optional :: sorted
3466! logical(LK) , intent(in) , optional :: unique
3467! logical(LK) , intent(in) , optional :: keep
3468! end subroutine
3469!#endif
3470!
3471!#if RK2_ENABLED
3472! PURE module subroutine setSplitFixDefComCusIns_D1_D1_RK2(field, nsplit, array, sep, instance, sorted, unique, keep)
3473!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3474! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_RK2
3475!#endif
3476! use pm_kind, only: RKG => RK2
3477! integer(IK) , intent(out) , contiguous :: field(:)
3478! integer(IK) , intent(out) :: nsplit
3479! real(RKG) , intent(in) , contiguous :: array(:)
3480! real(RKG) , intent(in) , contiguous :: sep(:)
3481! integer(IK) , intent(in) , contiguous :: instance(:)
3482! logical(LK) , intent(in) , optional :: sorted
3483! logical(LK) , intent(in) , optional :: unique
3484! logical(LK) , intent(in) , optional :: keep
3485! end subroutine
3486!#endif
3487!
3488!#if RK1_ENABLED
3489! PURE module subroutine setSplitFixDefComCusIns_D1_D1_RK1(field, nsplit, array, sep, instance, sorted, unique, keep)
3490!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3491! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixDefComCusIns_D1_D1_RK1
3492!#endif
3493! use pm_kind, only: RKG => RK1
3494! integer(IK) , intent(out) , contiguous :: field(:)
3495! integer(IK) , intent(out) :: nsplit
3496! real(RKG) , intent(in) , contiguous :: array(:)
3497! real(RKG) , intent(in) , contiguous :: sep(:)
3498! integer(IK) , intent(in) , contiguous :: instance(:)
3499! logical(LK) , intent(in) , optional :: sorted
3500! logical(LK) , intent(in) , optional :: unique
3501! logical(LK) , intent(in) , optional :: keep
3502! end subroutine
3503!#endif
3504!
3505! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3506!
3507! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3508! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3509! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3510!
3511! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3512!
3513!#if SK5_ENABLED
3514! module subroutine setSplitFixCusComCusIns_D1_D1_SK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3515!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3516! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_SK5
3517!#endif
3518! use pm_kind, only: SKG => SK5
3519! integer(IK) , intent(out) , contiguous :: field(:)
3520! integer(IK) , intent(out) :: nsplit
3521! character(*,SKG) , intent(in) , contiguous :: array(:)
3522! character(*,SKG) , intent(in) , contiguous :: sep(:)
3523! procedure(logical(LK)) :: iseq
3524! integer(IK) , intent(in) , contiguous :: instance(:)
3525! logical(LK) , intent(in) , optional :: sorted
3526! logical(LK) , intent(in) , optional :: unique
3527! logical(LK) , intent(in) , optional :: keep
3528! end subroutine
3529!#endif
3530!
3531!#if SK4_ENABLED
3532! module subroutine setSplitFixCusComCusIns_D1_D1_SK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3533!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3534! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_SK4
3535!#endif
3536! use pm_kind, only: SKG => SK4
3537! integer(IK) , intent(out) , contiguous :: field(:)
3538! integer(IK) , intent(out) :: nsplit
3539! character(*,SKG) , intent(in) , contiguous :: array(:)
3540! character(*,SKG) , intent(in) , contiguous :: sep(:)
3541! procedure(logical(LK)) :: iseq
3542! integer(IK) , intent(in) , contiguous :: instance(:)
3543! logical(LK) , intent(in) , optional :: sorted
3544! logical(LK) , intent(in) , optional :: unique
3545! logical(LK) , intent(in) , optional :: keep
3546! end subroutine
3547!#endif
3548!
3549!#if SK3_ENABLED
3550! module subroutine setSplitFixCusComCusIns_D1_D1_SK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3551!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3552! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_SK3
3553!#endif
3554! use pm_kind, only: SKG => SK3
3555! integer(IK) , intent(out) , contiguous :: field(:)
3556! integer(IK) , intent(out) :: nsplit
3557! character(*,SKG) , intent(in) , contiguous :: array(:)
3558! character(*,SKG) , intent(in) , contiguous :: sep(:)
3559! procedure(logical(LK)) :: iseq
3560! integer(IK) , intent(in) , contiguous :: instance(:)
3561! logical(LK) , intent(in) , optional :: sorted
3562! logical(LK) , intent(in) , optional :: unique
3563! logical(LK) , intent(in) , optional :: keep
3564! end subroutine
3565!#endif
3566!
3567!#if SK2_ENABLED
3568! module subroutine setSplitFixCusComCusIns_D1_D1_SK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3569!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3570! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_SK2
3571!#endif
3572! use pm_kind, only: SKG => SK2
3573! integer(IK) , intent(out) , contiguous :: field(:)
3574! integer(IK) , intent(out) :: nsplit
3575! character(*,SKG) , intent(in) , contiguous :: array(:)
3576! character(*,SKG) , intent(in) , contiguous :: sep(:)
3577! procedure(logical(LK)) :: iseq
3578! integer(IK) , intent(in) , contiguous :: instance(:)
3579! logical(LK) , intent(in) , optional :: sorted
3580! logical(LK) , intent(in) , optional :: unique
3581! logical(LK) , intent(in) , optional :: keep
3582! end subroutine
3583!#endif
3584!
3585!#if SK1_ENABLED
3586! module subroutine setSplitFixCusComCusIns_D1_D1_SK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3587!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3588! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_SK1
3589!#endif
3590! use pm_kind, only: SKG => SK1
3591! integer(IK) , intent(out) , contiguous :: field(:)
3592! integer(IK) , intent(out) :: nsplit
3593! character(*,SKG) , intent(in) , contiguous :: array(:)
3594! character(*,SKG) , intent(in) , contiguous :: sep(:)
3595! procedure(logical(LK)) :: iseq
3596! integer(IK) , intent(in) , contiguous :: instance(:)
3597! logical(LK) , intent(in) , optional :: sorted
3598! logical(LK) , intent(in) , optional :: unique
3599! logical(LK) , intent(in) , optional :: keep
3600! end subroutine
3601!#endif
3602!
3603! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3604!
3605!#if IK5_ENABLED
3606! module subroutine setSplitFixCusComCusIns_D1_D1_IK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3607!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3608! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_IK5
3609!#endif
3610! use pm_kind, only: IKG => IK5
3611! integer(IK) , intent(out) , contiguous :: field(:)
3612! integer(IK) , intent(out) :: nsplit
3613! integer(IKG) , intent(in) , contiguous :: array(:)
3614! integer(IKG) , intent(in) , contiguous :: sep(:)
3615! procedure(logical(LK)) :: iseq
3616! integer(IK) , intent(in) , contiguous :: instance(:)
3617! logical(LK) , intent(in) , optional :: sorted
3618! logical(LK) , intent(in) , optional :: unique
3619! logical(LK) , intent(in) , optional :: keep
3620! end subroutine
3621!#endif
3622!
3623!#if IK4_ENABLED
3624! module subroutine setSplitFixCusComCusIns_D1_D1_IK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3625!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3626! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_IK4
3627!#endif
3628! use pm_kind, only: IKG => IK4
3629! integer(IK) , intent(out) , contiguous :: field(:)
3630! integer(IK) , intent(out) :: nsplit
3631! integer(IKG) , intent(in) , contiguous :: array(:)
3632! integer(IKG) , intent(in) , contiguous :: sep(:)
3633! procedure(logical(LK)) :: iseq
3634! integer(IK) , intent(in) , contiguous :: instance(:)
3635! logical(LK) , intent(in) , optional :: sorted
3636! logical(LK) , intent(in) , optional :: unique
3637! logical(LK) , intent(in) , optional :: keep
3638! end subroutine
3639!#endif
3640!
3641!#if IK3_ENABLED
3642! module subroutine setSplitFixCusComCusIns_D1_D1_IK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3643!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3644! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_IK3
3645!#endif
3646! use pm_kind, only: IKG => IK3
3647! integer(IK) , intent(out) , contiguous :: field(:)
3648! integer(IK) , intent(out) :: nsplit
3649! integer(IKG) , intent(in) , contiguous :: array(:)
3650! integer(IKG) , intent(in) , contiguous :: sep(:)
3651! procedure(logical(LK)) :: iseq
3652! integer(IK) , intent(in) , contiguous :: instance(:)
3653! logical(LK) , intent(in) , optional :: sorted
3654! logical(LK) , intent(in) , optional :: unique
3655! logical(LK) , intent(in) , optional :: keep
3656! end subroutine
3657!#endif
3658!
3659!#if IK2_ENABLED
3660! module subroutine setSplitFixCusComCusIns_D1_D1_IK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3661!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3662! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_IK2
3663!#endif
3664! use pm_kind, only: IKG => IK2
3665! integer(IK) , intent(out) , contiguous :: field(:)
3666! integer(IK) , intent(out) :: nsplit
3667! integer(IKG) , intent(in) , contiguous :: array(:)
3668! integer(IKG) , intent(in) , contiguous :: sep(:)
3669! procedure(logical(LK)) :: iseq
3670! integer(IK) , intent(in) , contiguous :: instance(:)
3671! logical(LK) , intent(in) , optional :: sorted
3672! logical(LK) , intent(in) , optional :: unique
3673! logical(LK) , intent(in) , optional :: keep
3674! end subroutine
3675!#endif
3676!
3677!#if IK1_ENABLED
3678! module subroutine setSplitFixCusComCusIns_D1_D1_IK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3679!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3680! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_IK1
3681!#endif
3682! use pm_kind, only: IKG => IK1
3683! integer(IK) , intent(out) , contiguous :: field(:)
3684! integer(IK) , intent(out) :: nsplit
3685! integer(IKG) , intent(in) , contiguous :: array(:)
3686! integer(IKG) , intent(in) , contiguous :: sep(:)
3687! procedure(logical(LK)) :: iseq
3688! integer(IK) , intent(in) , contiguous :: instance(:)
3689! logical(LK) , intent(in) , optional :: sorted
3690! logical(LK) , intent(in) , optional :: unique
3691! logical(LK) , intent(in) , optional :: keep
3692! end subroutine
3693!#endif
3694!
3695! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3696!
3697!#if LK5_ENABLED
3698! module subroutine setSplitFixCusComCusIns_D1_D1_LK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3699!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3700! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_LK5
3701!#endif
3702! use pm_kind, only: LKG => LK5
3703! integer(IK) , intent(out) , contiguous :: field(:)
3704! integer(IK) , intent(out) :: nsplit
3705! logical(LKG) , intent(in) , contiguous :: array(:)
3706! logical(LKG) , intent(in) , contiguous :: sep(:)
3707! procedure(logical(LK)) :: iseq
3708! integer(IK) , intent(in) , contiguous :: instance(:)
3709! logical(LK) , intent(in) , optional :: sorted
3710! logical(LK) , intent(in) , optional :: unique
3711! logical(LK) , intent(in) , optional :: keep
3712! end subroutine
3713!#endif
3714!
3715!#if LK4_ENABLED
3716! module subroutine setSplitFixCusComCusIns_D1_D1_LK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3717!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3718! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_LK4
3719!#endif
3720! use pm_kind, only: LKG => LK4
3721! integer(IK) , intent(out) , contiguous :: field(:)
3722! integer(IK) , intent(out) :: nsplit
3723! logical(LKG) , intent(in) , contiguous :: array(:)
3724! logical(LKG) , intent(in) , contiguous :: sep(:)
3725! procedure(logical(LK)) :: iseq
3726! integer(IK) , intent(in) , contiguous :: instance(:)
3727! logical(LK) , intent(in) , optional :: sorted
3728! logical(LK) , intent(in) , optional :: unique
3729! logical(LK) , intent(in) , optional :: keep
3730! end subroutine
3731!#endif
3732!
3733!#if LK3_ENABLED
3734! module subroutine setSplitFixCusComCusIns_D1_D1_LK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3735!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3736! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_LK3
3737!#endif
3738! use pm_kind, only: LKG => LK3
3739! integer(IK) , intent(out) , contiguous :: field(:)
3740! integer(IK) , intent(out) :: nsplit
3741! logical(LKG) , intent(in) , contiguous :: array(:)
3742! logical(LKG) , intent(in) , contiguous :: sep(:)
3743! procedure(logical(LK)) :: iseq
3744! integer(IK) , intent(in) , contiguous :: instance(:)
3745! logical(LK) , intent(in) , optional :: sorted
3746! logical(LK) , intent(in) , optional :: unique
3747! logical(LK) , intent(in) , optional :: keep
3748! end subroutine
3749!#endif
3750!
3751!#if LK2_ENABLED
3752! module subroutine setSplitFixCusComCusIns_D1_D1_LK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3753!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3754! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_LK2
3755!#endif
3756! use pm_kind, only: LKG => LK2
3757! integer(IK) , intent(out) , contiguous :: field(:)
3758! integer(IK) , intent(out) :: nsplit
3759! logical(LKG) , intent(in) , contiguous :: array(:)
3760! logical(LKG) , intent(in) , contiguous :: sep(:)
3761! procedure(logical(LK)) :: iseq
3762! integer(IK) , intent(in) , contiguous :: instance(:)
3763! logical(LK) , intent(in) , optional :: sorted
3764! logical(LK) , intent(in) , optional :: unique
3765! logical(LK) , intent(in) , optional :: keep
3766! end subroutine
3767!#endif
3768!
3769!#if LK1_ENABLED
3770! module subroutine setSplitFixCusComCusIns_D1_D1_LK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3771!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3772! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_LK1
3773!#endif
3774! use pm_kind, only: LKG => LK1
3775! integer(IK) , intent(out) , contiguous :: field(:)
3776! integer(IK) , intent(out) :: nsplit
3777! logical(LKG) , intent(in) , contiguous :: array(:)
3778! logical(LKG) , intent(in) , contiguous :: sep(:)
3779! procedure(logical(LK)) :: iseq
3780! integer(IK) , intent(in) , contiguous :: instance(:)
3781! logical(LK) , intent(in) , optional :: sorted
3782! logical(LK) , intent(in) , optional :: unique
3783! logical(LK) , intent(in) , optional :: keep
3784! end subroutine
3785!#endif
3786!
3787! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3788!
3789!#if CK5_ENABLED
3790! module subroutine setSplitFixCusComCusIns_D1_D1_CK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3791!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3792! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_CK5
3793!#endif
3794! use pm_kind, only: CKG => CK5
3795! integer(IK) , intent(out) , contiguous :: field(:)
3796! integer(IK) , intent(out) :: nsplit
3797! complex(CKG) , intent(in) , contiguous :: array(:)
3798! complex(CKG) , intent(in) , contiguous :: sep(:)
3799! procedure(logical(LK)) :: iseq
3800! integer(IK) , intent(in) , contiguous :: instance(:)
3801! logical(LK) , intent(in) , optional :: sorted
3802! logical(LK) , intent(in) , optional :: unique
3803! logical(LK) , intent(in) , optional :: keep
3804! end subroutine
3805!#endif
3806!
3807!#if CK4_ENABLED
3808! module subroutine setSplitFixCusComCusIns_D1_D1_CK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3809!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3810! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_CK4
3811!#endif
3812! use pm_kind, only: CKG => CK4
3813! integer(IK) , intent(out) , contiguous :: field(:)
3814! integer(IK) , intent(out) :: nsplit
3815! complex(CKG) , intent(in) , contiguous :: array(:)
3816! complex(CKG) , intent(in) , contiguous :: sep(:)
3817! procedure(logical(LK)) :: iseq
3818! integer(IK) , intent(in) , contiguous :: instance(:)
3819! logical(LK) , intent(in) , optional :: sorted
3820! logical(LK) , intent(in) , optional :: unique
3821! logical(LK) , intent(in) , optional :: keep
3822! end subroutine
3823!#endif
3824!
3825!#if CK3_ENABLED
3826! module subroutine setSplitFixCusComCusIns_D1_D1_CK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3827!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3828! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_CK3
3829!#endif
3830! use pm_kind, only: CKG => CK3
3831! integer(IK) , intent(out) , contiguous :: field(:)
3832! integer(IK) , intent(out) :: nsplit
3833! complex(CKG) , intent(in) , contiguous :: array(:)
3834! complex(CKG) , intent(in) , contiguous :: sep(:)
3835! procedure(logical(LK)) :: iseq
3836! integer(IK) , intent(in) , contiguous :: instance(:)
3837! logical(LK) , intent(in) , optional :: sorted
3838! logical(LK) , intent(in) , optional :: unique
3839! logical(LK) , intent(in) , optional :: keep
3840! end subroutine
3841!#endif
3842!
3843!#if CK2_ENABLED
3844! module subroutine setSplitFixCusComCusIns_D1_D1_CK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3845!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3846! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_CK2
3847!#endif
3848! use pm_kind, only: CKG => CK2
3849! integer(IK) , intent(out) , contiguous :: field(:)
3850! integer(IK) , intent(out) :: nsplit
3851! complex(CKG) , intent(in) , contiguous :: array(:)
3852! complex(CKG) , intent(in) , contiguous :: sep(:)
3853! procedure(logical(LK)) :: iseq
3854! integer(IK) , intent(in) , contiguous :: instance(:)
3855! logical(LK) , intent(in) , optional :: sorted
3856! logical(LK) , intent(in) , optional :: unique
3857! logical(LK) , intent(in) , optional :: keep
3858! end subroutine
3859!#endif
3860!
3861!#if CK1_ENABLED
3862! module subroutine setSplitFixCusComCusIns_D1_D1_CK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3863!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3864! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_CK1
3865!#endif
3866! use pm_kind, only: CKG => CK1
3867! integer(IK) , intent(out) , contiguous :: field(:)
3868! integer(IK) , intent(out) :: nsplit
3869! complex(CKG) , intent(in) , contiguous :: array(:)
3870! complex(CKG) , intent(in) , contiguous :: sep(:)
3871! procedure(logical(LK)) :: iseq
3872! integer(IK) , intent(in) , contiguous :: instance(:)
3873! logical(LK) , intent(in) , optional :: sorted
3874! logical(LK) , intent(in) , optional :: unique
3875! logical(LK) , intent(in) , optional :: keep
3876! end subroutine
3877!#endif
3878!
3879! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3880!
3881!#if RK5_ENABLED
3882! module subroutine setSplitFixCusComCusIns_D1_D1_RK5(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3883!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3884! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_RK5
3885!#endif
3886! use pm_kind, only: RKG => RK5
3887! integer(IK) , intent(out) , contiguous :: field(:)
3888! integer(IK) , intent(out) :: nsplit
3889! real(RKG) , intent(in) , contiguous :: array(:)
3890! real(RKG) , intent(in) , contiguous :: sep(:)
3891! procedure(logical(LK)) :: iseq
3892! integer(IK) , intent(in) , contiguous :: instance(:)
3893! logical(LK) , intent(in) , optional :: sorted
3894! logical(LK) , intent(in) , optional :: unique
3895! logical(LK) , intent(in) , optional :: keep
3896! end subroutine
3897!#endif
3898!
3899!#if RK4_ENABLED
3900! module subroutine setSplitFixCusComCusIns_D1_D1_RK4(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3901!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3902! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_RK4
3903!#endif
3904! use pm_kind, only: RKG => RK4
3905! integer(IK) , intent(out) , contiguous :: field(:)
3906! integer(IK) , intent(out) :: nsplit
3907! real(RKG) , intent(in) , contiguous :: array(:)
3908! real(RKG) , intent(in) , contiguous :: sep(:)
3909! procedure(logical(LK)) :: iseq
3910! integer(IK) , intent(in) , contiguous :: instance(:)
3911! logical(LK) , intent(in) , optional :: sorted
3912! logical(LK) , intent(in) , optional :: unique
3913! logical(LK) , intent(in) , optional :: keep
3914! end subroutine
3915!#endif
3916!
3917!#if RK3_ENABLED
3918! module subroutine setSplitFixCusComCusIns_D1_D1_RK3(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3919!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3920! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_RK3
3921!#endif
3922! use pm_kind, only: RKG => RK3
3923! integer(IK) , intent(out) , contiguous :: field(:)
3924! integer(IK) , intent(out) :: nsplit
3925! real(RKG) , intent(in) , contiguous :: array(:)
3926! real(RKG) , intent(in) , contiguous :: sep(:)
3927! procedure(logical(LK)) :: iseq
3928! integer(IK) , intent(in) , contiguous :: instance(:)
3929! logical(LK) , intent(in) , optional :: sorted
3930! logical(LK) , intent(in) , optional :: unique
3931! logical(LK) , intent(in) , optional :: keep
3932! end subroutine
3933!#endif
3934!
3935!#if RK2_ENABLED
3936! module subroutine setSplitFixCusComCusIns_D1_D1_RK2(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3937!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3938! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_RK2
3939!#endif
3940! use pm_kind, only: RKG => RK2
3941! integer(IK) , intent(out) , contiguous :: field(:)
3942! integer(IK) , intent(out) :: nsplit
3943! real(RKG) , intent(in) , contiguous :: array(:)
3944! real(RKG) , intent(in) , contiguous :: sep(:)
3945! procedure(logical(LK)) :: iseq
3946! integer(IK) , intent(in) , contiguous :: instance(:)
3947! logical(LK) , intent(in) , optional :: sorted
3948! logical(LK) , intent(in) , optional :: unique
3949! logical(LK) , intent(in) , optional :: keep
3950! end subroutine
3951!#endif
3952!
3953!#if RK1_ENABLED
3954! module subroutine setSplitFixCusComCusIns_D1_D1_RK1(field, nsplit, array, sep, iseq, instance, sorted, unique, keep)
3955!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3956! !DEC$ ATTRIBUTES DLLEXPORT :: setSplitFixCusComCusIns_D1_D1_RK1
3957!#endif
3958! use pm_kind, only: RKG => RK1
3959! integer(IK) , intent(out) , contiguous :: field(:)
3960! integer(IK) , intent(out) :: nsplit
3961! real(RKG) , intent(in) , contiguous :: array(:)
3962! real(RKG) , intent(in) , contiguous :: sep(:)
3963! procedure(logical(LK)) :: iseq
3964! integer(IK) , intent(in) , contiguous :: instance(:)
3965! logical(LK) , intent(in) , optional :: sorted
3966! logical(LK) , intent(in) , optional :: unique
3967! logical(LK) , intent(in) , optional :: keep
3968! end subroutine
3969!#endif
3970!
3971! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3972!
3973! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3974! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3975! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3976!
3977! end interface
3978
3979 ! allocatable index
3980
3981 interface setSplit
3982
3983 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3984 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3985 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3986
3987 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3989 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3990
3991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3992
3993#if SK5_ENABLED
3994 PURE module subroutine setSplitIndDefComDefIns_D0_D0_SK5(field, array, sep, keep)
3995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3996 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D0_D0_SK5
3997#endif
3998 use pm_kind, only: SKG => SK5
3999 integer(IK) , intent(out) , allocatable :: field(:,:)
4000 character(*,SKG) , intent(in) :: array
4001 character(*,SKG) , intent(in) :: sep
4002 logical(LK) , intent(in) , optional :: keep
4003 end subroutine
4004#endif
4005
4006#if SK4_ENABLED
4007 PURE module subroutine setSplitIndDefComDefIns_D0_D0_SK4(field, array, sep, keep)
4008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4009 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D0_D0_SK4
4010#endif
4011 use pm_kind, only: SKG => SK4
4012 integer(IK) , intent(out) , allocatable :: field(:,:)
4013 character(*,SKG) , intent(in) :: array
4014 character(*,SKG) , intent(in) :: sep
4015 logical(LK) , intent(in) , optional :: keep
4016 end subroutine
4017#endif
4018
4019#if SK3_ENABLED
4020 PURE module subroutine setSplitIndDefComDefIns_D0_D0_SK3(field, array, sep, keep)
4021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4022 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D0_D0_SK3
4023#endif
4024 use pm_kind, only: SKG => SK3
4025 integer(IK) , intent(out) , allocatable :: field(:,:)
4026 character(*,SKG) , intent(in) :: array
4027 character(*,SKG) , intent(in) :: sep
4028 logical(LK) , intent(in) , optional :: keep
4029 end subroutine
4030#endif
4031
4032#if SK2_ENABLED
4033 PURE module subroutine setSplitIndDefComDefIns_D0_D0_SK2(field, array, sep, keep)
4034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4035 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D0_D0_SK2
4036#endif
4037 use pm_kind, only: SKG => SK2
4038 integer(IK) , intent(out) , allocatable :: field(:,:)
4039 character(*,SKG) , intent(in) :: array
4040 character(*,SKG) , intent(in) :: sep
4041 logical(LK) , intent(in) , optional :: keep
4042 end subroutine
4043#endif
4044
4045#if SK1_ENABLED
4046 PURE module subroutine setSplitIndDefComDefIns_D0_D0_SK1(field, array, sep, keep)
4047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4048 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D0_D0_SK1
4049#endif
4050 use pm_kind, only: SKG => SK1
4051 integer(IK) , intent(out) , allocatable :: field(:,:)
4052 character(*,SKG) , intent(in) :: array
4053 character(*,SKG) , intent(in) :: sep
4054 logical(LK) , intent(in) , optional :: keep
4055 end subroutine
4056#endif
4057
4058 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4059
4060#if SK5_ENABLED
4061 PURE module subroutine setSplitIndDefComDefIns_D1_D0_SK5(field, array, sep, keep)
4062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4063 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_SK5
4064#endif
4065 use pm_kind, only: SKG => SK5
4066 integer(IK) , intent(out) , allocatable :: field(:,:)
4067 character(*,SKG) , intent(in) , contiguous :: array(:)
4068 character(*,SKG) , intent(in) :: sep
4069 logical(LK) , intent(in) , optional :: keep
4070 end subroutine
4071#endif
4072
4073#if SK4_ENABLED
4074 PURE module subroutine setSplitIndDefComDefIns_D1_D0_SK4(field, array, sep, keep)
4075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4076 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_SK4
4077#endif
4078 use pm_kind, only: SKG => SK4
4079 integer(IK) , intent(out) , allocatable :: field(:,:)
4080 character(*,SKG) , intent(in) , contiguous :: array(:)
4081 character(*,SKG) , intent(in) :: sep
4082 logical(LK) , intent(in) , optional :: keep
4083 end subroutine
4084#endif
4085
4086#if SK3_ENABLED
4087 PURE module subroutine setSplitIndDefComDefIns_D1_D0_SK3(field, array, sep, keep)
4088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4089 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_SK3
4090#endif
4091 use pm_kind, only: SKG => SK3
4092 integer(IK) , intent(out) , allocatable :: field(:,:)
4093 character(*,SKG) , intent(in) , contiguous :: array(:)
4094 character(*,SKG) , intent(in) :: sep
4095 logical(LK) , intent(in) , optional :: keep
4096 end subroutine
4097#endif
4098
4099#if SK2_ENABLED
4100 PURE module subroutine setSplitIndDefComDefIns_D1_D0_SK2(field, array, sep, keep)
4101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4102 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_SK2
4103#endif
4104 use pm_kind, only: SKG => SK2
4105 integer(IK) , intent(out) , allocatable :: field(:,:)
4106 character(*,SKG) , intent(in) , contiguous :: array(:)
4107 character(*,SKG) , intent(in) :: sep
4108 logical(LK) , intent(in) , optional :: keep
4109 end subroutine
4110#endif
4111
4112#if SK1_ENABLED
4113 PURE module subroutine setSplitIndDefComDefIns_D1_D0_SK1(field, array, sep, keep)
4114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4115 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_SK1
4116#endif
4117 use pm_kind, only: SKG => SK1
4118 integer(IK) , intent(out) , allocatable :: field(:,:)
4119 character(*,SKG) , intent(in) , contiguous :: array(:)
4120 character(*,SKG) , intent(in) :: sep
4121 logical(LK) , intent(in) , optional :: keep
4122 end subroutine
4123#endif
4124
4125 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4126
4127#if IK5_ENABLED
4128 PURE module subroutine setSplitIndDefComDefIns_D1_D0_IK5(field, array, sep, keep)
4129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4130 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_IK5
4131#endif
4132 use pm_kind, only: IKG => IK5
4133 integer(IK) , intent(out) , allocatable :: field(:,:)
4134 integer(IKG) , intent(in) , contiguous :: array(:)
4135 integer(IKG) , intent(in) :: sep
4136 logical(LK) , intent(in) , optional :: keep
4137 end subroutine
4138#endif
4139
4140#if IK4_ENABLED
4141 PURE module subroutine setSplitIndDefComDefIns_D1_D0_IK4(field, array, sep, keep)
4142#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4143 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_IK4
4144#endif
4145 use pm_kind, only: IKG => IK4
4146 integer(IK) , intent(out) , allocatable :: field(:,:)
4147 integer(IKG) , intent(in) , contiguous :: array(:)
4148 integer(IKG) , intent(in) :: sep
4149 logical(LK) , intent(in) , optional :: keep
4150 end subroutine
4151#endif
4152
4153#if IK3_ENABLED
4154 PURE module subroutine setSplitIndDefComDefIns_D1_D0_IK3(field, array, sep, keep)
4155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4156 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_IK3
4157#endif
4158 use pm_kind, only: IKG => IK3
4159 integer(IK) , intent(out) , allocatable :: field(:,:)
4160 integer(IKG) , intent(in) , contiguous :: array(:)
4161 integer(IKG) , intent(in) :: sep
4162 logical(LK) , intent(in) , optional :: keep
4163 end subroutine
4164#endif
4165
4166#if IK2_ENABLED
4167 PURE module subroutine setSplitIndDefComDefIns_D1_D0_IK2(field, array, sep, keep)
4168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4169 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_IK2
4170#endif
4171 use pm_kind, only: IKG => IK2
4172 integer(IK) , intent(out) , allocatable :: field(:,:)
4173 integer(IKG) , intent(in) , contiguous :: array(:)
4174 integer(IKG) , intent(in) :: sep
4175 logical(LK) , intent(in) , optional :: keep
4176 end subroutine
4177#endif
4178
4179#if IK1_ENABLED
4180 PURE module subroutine setSplitIndDefComDefIns_D1_D0_IK1(field, array, sep, keep)
4181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4182 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_IK1
4183#endif
4184 use pm_kind, only: IKG => IK1
4185 integer(IK) , intent(out) , allocatable :: field(:,:)
4186 integer(IKG) , intent(in) , contiguous :: array(:)
4187 integer(IKG) , intent(in) :: sep
4188 logical(LK) , intent(in) , optional :: keep
4189 end subroutine
4190#endif
4191
4192 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4193
4194#if LK5_ENABLED
4195 PURE module subroutine setSplitIndDefComDefIns_D1_D0_LK5(field, array, sep, keep)
4196#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4197 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_LK5
4198#endif
4199 use pm_kind, only: LKG => LK5
4200 integer(IK) , intent(out) , allocatable :: field(:,:)
4201 logical(LKG) , intent(in) , contiguous :: array(:)
4202 logical(LKG) , intent(in) :: sep
4203 logical(LK) , intent(in) , optional :: keep
4204 end subroutine
4205#endif
4206
4207#if LK4_ENABLED
4208 PURE module subroutine setSplitIndDefComDefIns_D1_D0_LK4(field, array, sep, keep)
4209#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4210 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_LK4
4211#endif
4212 use pm_kind, only: LKG => LK4
4213 integer(IK) , intent(out) , allocatable :: field(:,:)
4214 logical(LKG) , intent(in) , contiguous :: array(:)
4215 logical(LKG) , intent(in) :: sep
4216 logical(LK) , intent(in) , optional :: keep
4217 end subroutine
4218#endif
4219
4220#if LK3_ENABLED
4221 PURE module subroutine setSplitIndDefComDefIns_D1_D0_LK3(field, array, sep, keep)
4222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4223 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_LK3
4224#endif
4225 use pm_kind, only: LKG => LK3
4226 integer(IK) , intent(out) , allocatable :: field(:,:)
4227 logical(LKG) , intent(in) , contiguous :: array(:)
4228 logical(LKG) , intent(in) :: sep
4229 logical(LK) , intent(in) , optional :: keep
4230 end subroutine
4231#endif
4232
4233#if LK2_ENABLED
4234 PURE module subroutine setSplitIndDefComDefIns_D1_D0_LK2(field, array, sep, keep)
4235#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4236 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_LK2
4237#endif
4238 use pm_kind, only: LKG => LK2
4239 integer(IK) , intent(out) , allocatable :: field(:,:)
4240 logical(LKG) , intent(in) , contiguous :: array(:)
4241 logical(LKG) , intent(in) :: sep
4242 logical(LK) , intent(in) , optional :: keep
4243 end subroutine
4244#endif
4245
4246#if LK1_ENABLED
4247 PURE module subroutine setSplitIndDefComDefIns_D1_D0_LK1(field, array, sep, keep)
4248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4249 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_LK1
4250#endif
4251 use pm_kind, only: LKG => LK1
4252 integer(IK) , intent(out) , allocatable :: field(:,:)
4253 logical(LKG) , intent(in) , contiguous :: array(:)
4254 logical(LKG) , intent(in) :: sep
4255 logical(LK) , intent(in) , optional :: keep
4256 end subroutine
4257#endif
4258
4259 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4260
4261#if CK5_ENABLED
4262 PURE module subroutine setSplitIndDefComDefIns_D1_D0_CK5(field, array, sep, keep)
4263#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4264 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_CK5
4265#endif
4266 use pm_kind, only: CKG => CK5
4267 integer(IK) , intent(out) , allocatable :: field(:,:)
4268 complex(CKG) , intent(in) , contiguous :: array(:)
4269 complex(CKG) , intent(in) :: sep
4270 logical(LK) , intent(in) , optional :: keep
4271 end subroutine
4272#endif
4273
4274#if CK4_ENABLED
4275 PURE module subroutine setSplitIndDefComDefIns_D1_D0_CK4(field, array, sep, keep)
4276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4277 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_CK4
4278#endif
4279 use pm_kind, only: CKG => CK4
4280 integer(IK) , intent(out) , allocatable :: field(:,:)
4281 complex(CKG) , intent(in) , contiguous :: array(:)
4282 complex(CKG) , intent(in) :: sep
4283 logical(LK) , intent(in) , optional :: keep
4284 end subroutine
4285#endif
4286
4287#if CK3_ENABLED
4288 PURE module subroutine setSplitIndDefComDefIns_D1_D0_CK3(field, array, sep, keep)
4289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4290 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_CK3
4291#endif
4292 use pm_kind, only: CKG => CK3
4293 integer(IK) , intent(out) , allocatable :: field(:,:)
4294 complex(CKG) , intent(in) , contiguous :: array(:)
4295 complex(CKG) , intent(in) :: sep
4296 logical(LK) , intent(in) , optional :: keep
4297 end subroutine
4298#endif
4299
4300#if CK2_ENABLED
4301 PURE module subroutine setSplitIndDefComDefIns_D1_D0_CK2(field, array, sep, keep)
4302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4303 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_CK2
4304#endif
4305 use pm_kind, only: CKG => CK2
4306 integer(IK) , intent(out) , allocatable :: field(:,:)
4307 complex(CKG) , intent(in) , contiguous :: array(:)
4308 complex(CKG) , intent(in) :: sep
4309 logical(LK) , intent(in) , optional :: keep
4310 end subroutine
4311#endif
4312
4313#if CK1_ENABLED
4314 PURE module subroutine setSplitIndDefComDefIns_D1_D0_CK1(field, array, sep, keep)
4315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4316 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_CK1
4317#endif
4318 use pm_kind, only: CKG => CK1
4319 integer(IK) , intent(out) , allocatable :: field(:,:)
4320 complex(CKG) , intent(in) , contiguous :: array(:)
4321 complex(CKG) , intent(in) :: sep
4322 logical(LK) , intent(in) , optional :: keep
4323 end subroutine
4324#endif
4325
4326 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4327
4328#if RK5_ENABLED
4329 PURE module subroutine setSplitIndDefComDefIns_D1_D0_RK5(field, array, sep, keep)
4330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4331 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_RK5
4332#endif
4333 use pm_kind, only: RKG => RK5
4334 integer(IK) , intent(out) , allocatable :: field(:,:)
4335 real(RKG) , intent(in) , contiguous :: array(:)
4336 real(RKG) , intent(in) :: sep
4337 logical(LK) , intent(in) , optional :: keep
4338 end subroutine
4339#endif
4340
4341#if RK4_ENABLED
4342 PURE module subroutine setSplitIndDefComDefIns_D1_D0_RK4(field, array, sep, keep)
4343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4344 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_RK4
4345#endif
4346 use pm_kind, only: RKG => RK4
4347 integer(IK) , intent(out) , allocatable :: field(:,:)
4348 real(RKG) , intent(in) , contiguous :: array(:)
4349 real(RKG) , intent(in) :: sep
4350 logical(LK) , intent(in) , optional :: keep
4351 end subroutine
4352#endif
4353
4354#if RK3_ENABLED
4355 PURE module subroutine setSplitIndDefComDefIns_D1_D0_RK3(field, array, sep, keep)
4356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4357 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_RK3
4358#endif
4359 use pm_kind, only: RKG => RK3
4360 integer(IK) , intent(out) , allocatable :: field(:,:)
4361 real(RKG) , intent(in) , contiguous :: array(:)
4362 real(RKG) , intent(in) :: sep
4363 logical(LK) , intent(in) , optional :: keep
4364 end subroutine
4365#endif
4366
4367#if RK2_ENABLED
4368 PURE module subroutine setSplitIndDefComDefIns_D1_D0_RK2(field, array, sep, keep)
4369#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4370 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_RK2
4371#endif
4372 use pm_kind, only: RKG => RK2
4373 integer(IK) , intent(out) , allocatable :: field(:,:)
4374 real(RKG) , intent(in) , contiguous :: array(:)
4375 real(RKG) , intent(in) :: sep
4376 logical(LK) , intent(in) , optional :: keep
4377 end subroutine
4378#endif
4379
4380#if RK1_ENABLED
4381 PURE module subroutine setSplitIndDefComDefIns_D1_D0_RK1(field, array, sep, keep)
4382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4383 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComDefIns_D1_D0_RK1
4384#endif
4385 use pm_kind, only: RKG => RK1
4386 integer(IK) , intent(out) , allocatable :: field(:,:)
4387 real(RKG) , intent(in) , contiguous :: array(:)
4388 real(RKG) , intent(in) :: sep
4389 logical(LK) , intent(in) , optional :: keep
4390 end subroutine
4391#endif
4392
4393 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4394
4395 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4396 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4398
4399 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4400
4401#if SK5_ENABLED
4402 module subroutine setSplitIndCusComDefIns_D0_D0_SK5(field, array, sep, iseq, keep)
4403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4404 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D0_D0_SK5
4405#endif
4406 use pm_kind, only: SKG => SK5
4407 integer(IK) , intent(out) , allocatable :: field(:,:)
4408 character(*,SKG) , intent(in) :: array
4409 character(*,SKG) , intent(in) :: sep
4410 procedure(logical(LK)) :: iseq
4411 logical(LK) , intent(in) , optional :: keep
4412 end subroutine
4413#endif
4414
4415#if SK4_ENABLED
4416 module subroutine setSplitIndCusComDefIns_D0_D0_SK4(field, array, sep, iseq, keep)
4417#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4418 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D0_D0_SK4
4419#endif
4420 use pm_kind, only: SKG => SK4
4421 integer(IK) , intent(out) , allocatable :: field(:,:)
4422 character(*,SKG) , intent(in) :: array
4423 character(*,SKG) , intent(in) :: sep
4424 procedure(logical(LK)) :: iseq
4425 logical(LK) , intent(in) , optional :: keep
4426 end subroutine
4427#endif
4428
4429#if SK3_ENABLED
4430 module subroutine setSplitIndCusComDefIns_D0_D0_SK3(field, array, sep, iseq, keep)
4431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4432 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D0_D0_SK3
4433#endif
4434 use pm_kind, only: SKG => SK3
4435 integer(IK) , intent(out) , allocatable :: field(:,:)
4436 character(*,SKG) , intent(in) :: array
4437 character(*,SKG) , intent(in) :: sep
4438 procedure(logical(LK)) :: iseq
4439 logical(LK) , intent(in) , optional :: keep
4440 end subroutine
4441#endif
4442
4443#if SK2_ENABLED
4444 module subroutine setSplitIndCusComDefIns_D0_D0_SK2(field, array, sep, iseq, keep)
4445#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4446 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D0_D0_SK2
4447#endif
4448 use pm_kind, only: SKG => SK2
4449 integer(IK) , intent(out) , allocatable :: field(:,:)
4450 character(*,SKG) , intent(in) :: array
4451 character(*,SKG) , intent(in) :: sep
4452 procedure(logical(LK)) :: iseq
4453 logical(LK) , intent(in) , optional :: keep
4454 end subroutine
4455#endif
4456
4457#if SK1_ENABLED
4458 module subroutine setSplitIndCusComDefIns_D0_D0_SK1(field, array, sep, iseq, keep)
4459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4460 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D0_D0_SK1
4461#endif
4462 use pm_kind, only: SKG => SK1
4463 integer(IK) , intent(out) , allocatable :: field(:,:)
4464 character(*,SKG) , intent(in) :: array
4465 character(*,SKG) , intent(in) :: sep
4466 procedure(logical(LK)) :: iseq
4467 logical(LK) , intent(in) , optional :: keep
4468 end subroutine
4469#endif
4470
4471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4472
4473#if SK5_ENABLED
4474 module subroutine setSplitIndCusComDefIns_D1_D0_SK5(field, array, sep, iseq, keep)
4475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4476 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_SK5
4477#endif
4478 use pm_kind, only: SKG => SK5
4479 integer(IK) , intent(out) , allocatable :: field(:,:)
4480 character(*,SKG) , intent(in) , contiguous :: array(:)
4481 character(*,SKG) , intent(in) :: sep
4482 procedure(logical(LK)) :: iseq
4483 logical(LK) , intent(in) , optional :: keep
4484 end subroutine
4485#endif
4486
4487#if SK4_ENABLED
4488 module subroutine setSplitIndCusComDefIns_D1_D0_SK4(field, array, sep, iseq, keep)
4489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4490 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_SK4
4491#endif
4492 use pm_kind, only: SKG => SK4
4493 integer(IK) , intent(out) , allocatable :: field(:,:)
4494 character(*,SKG) , intent(in) , contiguous :: array(:)
4495 character(*,SKG) , intent(in) :: sep
4496 procedure(logical(LK)) :: iseq
4497 logical(LK) , intent(in) , optional :: keep
4498 end subroutine
4499#endif
4500
4501#if SK3_ENABLED
4502 module subroutine setSplitIndCusComDefIns_D1_D0_SK3(field, array, sep, iseq, keep)
4503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4504 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_SK3
4505#endif
4506 use pm_kind, only: SKG => SK3
4507 integer(IK) , intent(out) , allocatable :: field(:,:)
4508 character(*,SKG) , intent(in) , contiguous :: array(:)
4509 character(*,SKG) , intent(in) :: sep
4510 procedure(logical(LK)) :: iseq
4511 logical(LK) , intent(in) , optional :: keep
4512 end subroutine
4513#endif
4514
4515#if SK2_ENABLED
4516 module subroutine setSplitIndCusComDefIns_D1_D0_SK2(field, array, sep, iseq, keep)
4517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4518 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_SK2
4519#endif
4520 use pm_kind, only: SKG => SK2
4521 integer(IK) , intent(out) , allocatable :: field(:,:)
4522 character(*,SKG) , intent(in) , contiguous :: array(:)
4523 character(*,SKG) , intent(in) :: sep
4524 procedure(logical(LK)) :: iseq
4525 logical(LK) , intent(in) , optional :: keep
4526 end subroutine
4527#endif
4528
4529#if SK1_ENABLED
4530 module subroutine setSplitIndCusComDefIns_D1_D0_SK1(field, array, sep, iseq, keep)
4531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4532 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_SK1
4533#endif
4534 use pm_kind, only: SKG => SK1
4535 integer(IK) , intent(out) , allocatable :: field(:,:)
4536 character(*,SKG) , intent(in) , contiguous :: array(:)
4537 character(*,SKG) , intent(in) :: sep
4538 procedure(logical(LK)) :: iseq
4539 logical(LK) , intent(in) , optional :: keep
4540 end subroutine
4541#endif
4542
4543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4544
4545#if IK5_ENABLED
4546 module subroutine setSplitIndCusComDefIns_D1_D0_IK5(field, array, sep, iseq, keep)
4547#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4548 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_IK5
4549#endif
4550 use pm_kind, only: IKG => IK5
4551 integer(IK) , intent(out) , allocatable :: field(:,:)
4552 integer(IKG) , intent(in) , contiguous :: array(:)
4553 integer(IKG) , intent(in) :: sep
4554 procedure(logical(LK)) :: iseq
4555 logical(LK) , intent(in) , optional :: keep
4556 end subroutine
4557#endif
4558
4559#if IK4_ENABLED
4560 module subroutine setSplitIndCusComDefIns_D1_D0_IK4(field, array, sep, iseq, keep)
4561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4562 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_IK4
4563#endif
4564 use pm_kind, only: IKG => IK4
4565 integer(IK) , intent(out) , allocatable :: field(:,:)
4566 integer(IKG) , intent(in) , contiguous :: array(:)
4567 integer(IKG) , intent(in) :: sep
4568 procedure(logical(LK)) :: iseq
4569 logical(LK) , intent(in) , optional :: keep
4570 end subroutine
4571#endif
4572
4573#if IK3_ENABLED
4574 module subroutine setSplitIndCusComDefIns_D1_D0_IK3(field, array, sep, iseq, keep)
4575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4576 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_IK3
4577#endif
4578 use pm_kind, only: IKG => IK3
4579 integer(IK) , intent(out) , allocatable :: field(:,:)
4580 integer(IKG) , intent(in) , contiguous :: array(:)
4581 integer(IKG) , intent(in) :: sep
4582 procedure(logical(LK)) :: iseq
4583 logical(LK) , intent(in) , optional :: keep
4584 end subroutine
4585#endif
4586
4587#if IK2_ENABLED
4588 module subroutine setSplitIndCusComDefIns_D1_D0_IK2(field, array, sep, iseq, keep)
4589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4590 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_IK2
4591#endif
4592 use pm_kind, only: IKG => IK2
4593 integer(IK) , intent(out) , allocatable :: field(:,:)
4594 integer(IKG) , intent(in) , contiguous :: array(:)
4595 integer(IKG) , intent(in) :: sep
4596 procedure(logical(LK)) :: iseq
4597 logical(LK) , intent(in) , optional :: keep
4598 end subroutine
4599#endif
4600
4601#if IK1_ENABLED
4602 module subroutine setSplitIndCusComDefIns_D1_D0_IK1(field, array, sep, iseq, keep)
4603#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4604 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_IK1
4605#endif
4606 use pm_kind, only: IKG => IK1
4607 integer(IK) , intent(out) , allocatable :: field(:,:)
4608 integer(IKG) , intent(in) , contiguous :: array(:)
4609 integer(IKG) , intent(in) :: sep
4610 procedure(logical(LK)) :: iseq
4611 logical(LK) , intent(in) , optional :: keep
4612 end subroutine
4613#endif
4614
4615 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4616
4617#if LK5_ENABLED
4618 module subroutine setSplitIndCusComDefIns_D1_D0_LK5(field, array, sep, iseq, keep)
4619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4620 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_LK5
4621#endif
4622 use pm_kind, only: LKG => LK5
4623 integer(IK) , intent(out) , allocatable :: field(:,:)
4624 logical(LKG) , intent(in) , contiguous :: array(:)
4625 logical(LKG) , intent(in) :: sep
4626 procedure(logical(LK)) :: iseq
4627 logical(LK) , intent(in) , optional :: keep
4628 end subroutine
4629#endif
4630
4631#if LK4_ENABLED
4632 module subroutine setSplitIndCusComDefIns_D1_D0_LK4(field, array, sep, iseq, keep)
4633#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4634 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_LK4
4635#endif
4636 use pm_kind, only: LKG => LK4
4637 integer(IK) , intent(out) , allocatable :: field(:,:)
4638 logical(LKG) , intent(in) , contiguous :: array(:)
4639 logical(LKG) , intent(in) :: sep
4640 procedure(logical(LK)) :: iseq
4641 logical(LK) , intent(in) , optional :: keep
4642 end subroutine
4643#endif
4644
4645#if LK3_ENABLED
4646 module subroutine setSplitIndCusComDefIns_D1_D0_LK3(field, array, sep, iseq, keep)
4647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4648 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_LK3
4649#endif
4650 use pm_kind, only: LKG => LK3
4651 integer(IK) , intent(out) , allocatable :: field(:,:)
4652 logical(LKG) , intent(in) , contiguous :: array(:)
4653 logical(LKG) , intent(in) :: sep
4654 procedure(logical(LK)) :: iseq
4655 logical(LK) , intent(in) , optional :: keep
4656 end subroutine
4657#endif
4658
4659#if LK2_ENABLED
4660 module subroutine setSplitIndCusComDefIns_D1_D0_LK2(field, array, sep, iseq, keep)
4661#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4662 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_LK2
4663#endif
4664 use pm_kind, only: LKG => LK2
4665 integer(IK) , intent(out) , allocatable :: field(:,:)
4666 logical(LKG) , intent(in) , contiguous :: array(:)
4667 logical(LKG) , intent(in) :: sep
4668 procedure(logical(LK)) :: iseq
4669 logical(LK) , intent(in) , optional :: keep
4670 end subroutine
4671#endif
4672
4673#if LK1_ENABLED
4674 module subroutine setSplitIndCusComDefIns_D1_D0_LK1(field, array, sep, iseq, keep)
4675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4676 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_LK1
4677#endif
4678 use pm_kind, only: LKG => LK1
4679 integer(IK) , intent(out) , allocatable :: field(:,:)
4680 logical(LKG) , intent(in) , contiguous :: array(:)
4681 logical(LKG) , intent(in) :: sep
4682 procedure(logical(LK)) :: iseq
4683 logical(LK) , intent(in) , optional :: keep
4684 end subroutine
4685#endif
4686
4687 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4688
4689#if CK5_ENABLED
4690 module subroutine setSplitIndCusComDefIns_D1_D0_CK5(field, array, sep, iseq, keep)
4691#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4692 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_CK5
4693#endif
4694 use pm_kind, only: CKG => CK5
4695 integer(IK) , intent(out) , allocatable :: field(:,:)
4696 complex(CKG) , intent(in) , contiguous :: array(:)
4697 complex(CKG) , intent(in) :: sep
4698 procedure(logical(LK)) :: iseq
4699 logical(LK) , intent(in) , optional :: keep
4700 end subroutine
4701#endif
4702
4703#if CK4_ENABLED
4704 module subroutine setSplitIndCusComDefIns_D1_D0_CK4(field, array, sep, iseq, keep)
4705#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4706 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_CK4
4707#endif
4708 use pm_kind, only: CKG => CK4
4709 integer(IK) , intent(out) , allocatable :: field(:,:)
4710 complex(CKG) , intent(in) , contiguous :: array(:)
4711 complex(CKG) , intent(in) :: sep
4712 procedure(logical(LK)) :: iseq
4713 logical(LK) , intent(in) , optional :: keep
4714 end subroutine
4715#endif
4716
4717#if CK3_ENABLED
4718 module subroutine setSplitIndCusComDefIns_D1_D0_CK3(field, array, sep, iseq, keep)
4719#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4720 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_CK3
4721#endif
4722 use pm_kind, only: CKG => CK3
4723 integer(IK) , intent(out) , allocatable :: field(:,:)
4724 complex(CKG) , intent(in) , contiguous :: array(:)
4725 complex(CKG) , intent(in) :: sep
4726 procedure(logical(LK)) :: iseq
4727 logical(LK) , intent(in) , optional :: keep
4728 end subroutine
4729#endif
4730
4731#if CK2_ENABLED
4732 module subroutine setSplitIndCusComDefIns_D1_D0_CK2(field, array, sep, iseq, keep)
4733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4734 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_CK2
4735#endif
4736 use pm_kind, only: CKG => CK2
4737 integer(IK) , intent(out) , allocatable :: field(:,:)
4738 complex(CKG) , intent(in) , contiguous :: array(:)
4739 complex(CKG) , intent(in) :: sep
4740 procedure(logical(LK)) :: iseq
4741 logical(LK) , intent(in) , optional :: keep
4742 end subroutine
4743#endif
4744
4745#if CK1_ENABLED
4746 module subroutine setSplitIndCusComDefIns_D1_D0_CK1(field, array, sep, iseq, keep)
4747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4748 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_CK1
4749#endif
4750 use pm_kind, only: CKG => CK1
4751 integer(IK) , intent(out) , allocatable :: field(:,:)
4752 complex(CKG) , intent(in) , contiguous :: array(:)
4753 complex(CKG) , intent(in) :: sep
4754 procedure(logical(LK)) :: iseq
4755 logical(LK) , intent(in) , optional :: keep
4756 end subroutine
4757#endif
4758
4759 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4760
4761#if RK5_ENABLED
4762 module subroutine setSplitIndCusComDefIns_D1_D0_RK5(field, array, sep, iseq, keep)
4763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4764 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_RK5
4765#endif
4766 use pm_kind, only: RKG => RK5
4767 integer(IK) , intent(out) , allocatable :: field(:,:)
4768 real(RKG) , intent(in) , contiguous :: array(:)
4769 real(RKG) , intent(in) :: sep
4770 procedure(logical(LK)) :: iseq
4771 logical(LK) , intent(in) , optional :: keep
4772 end subroutine
4773#endif
4774
4775#if RK4_ENABLED
4776 module subroutine setSplitIndCusComDefIns_D1_D0_RK4(field, array, sep, iseq, keep)
4777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4778 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_RK4
4779#endif
4780 use pm_kind, only: RKG => RK4
4781 integer(IK) , intent(out) , allocatable :: field(:,:)
4782 real(RKG) , intent(in) , contiguous :: array(:)
4783 real(RKG) , intent(in) :: sep
4784 procedure(logical(LK)) :: iseq
4785 logical(LK) , intent(in) , optional :: keep
4786 end subroutine
4787#endif
4788
4789#if RK3_ENABLED
4790 module subroutine setSplitIndCusComDefIns_D1_D0_RK3(field, array, sep, iseq, keep)
4791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4792 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_RK3
4793#endif
4794 use pm_kind, only: RKG => RK3
4795 integer(IK) , intent(out) , allocatable :: field(:,:)
4796 real(RKG) , intent(in) , contiguous :: array(:)
4797 real(RKG) , intent(in) :: sep
4798 procedure(logical(LK)) :: iseq
4799 logical(LK) , intent(in) , optional :: keep
4800 end subroutine
4801#endif
4802
4803#if RK2_ENABLED
4804 module subroutine setSplitIndCusComDefIns_D1_D0_RK2(field, array, sep, iseq, keep)
4805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4806 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_RK2
4807#endif
4808 use pm_kind, only: RKG => RK2
4809 integer(IK) , intent(out) , allocatable :: field(:,:)
4810 real(RKG) , intent(in) , contiguous :: array(:)
4811 real(RKG) , intent(in) :: sep
4812 procedure(logical(LK)) :: iseq
4813 logical(LK) , intent(in) , optional :: keep
4814 end subroutine
4815#endif
4816
4817#if RK1_ENABLED
4818 module subroutine setSplitIndCusComDefIns_D1_D0_RK1(field, array, sep, iseq, keep)
4819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4820 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComDefIns_D1_D0_RK1
4821#endif
4822 use pm_kind, only: RKG => RK1
4823 integer(IK) , intent(out) , allocatable :: field(:,:)
4824 real(RKG) , intent(in) , contiguous :: array(:)
4825 real(RKG) , intent(in) :: sep
4826 procedure(logical(LK)) :: iseq
4827 logical(LK) , intent(in) , optional :: keep
4828 end subroutine
4829#endif
4830
4831 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4832
4833 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4834 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4835 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4836
4837 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4838
4839#if SK5_ENABLED
4840 PURE module subroutine setSplitIndDefComCusIns_D0_D0_SK5(field, array, sep, instance, sorted, unique, keep)
4841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4842 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D0_D0_SK5
4843#endif
4844 use pm_kind, only: SKG => SK5
4845 integer(IK) , intent(out) , allocatable :: field(:,:)
4846 character(*,SKG) , intent(in) :: array
4847 character(*,SKG) , intent(in) :: sep
4848 integer(IK) , intent(in) , contiguous :: instance(:)
4849 logical(LK) , intent(in) , optional :: sorted
4850 logical(LK) , intent(in) , optional :: unique
4851 logical(LK) , intent(in) , optional :: keep
4852 end subroutine
4853#endif
4854
4855#if SK4_ENABLED
4856 PURE module subroutine setSplitIndDefComCusIns_D0_D0_SK4(field, array, sep, instance, sorted, unique, keep)
4857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4858 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D0_D0_SK4
4859#endif
4860 use pm_kind, only: SKG => SK4
4861 integer(IK) , intent(out) , allocatable :: field(:,:)
4862 character(*,SKG) , intent(in) :: array
4863 character(*,SKG) , intent(in) :: sep
4864 integer(IK) , intent(in) , contiguous :: instance(:)
4865 logical(LK) , intent(in) , optional :: sorted
4866 logical(LK) , intent(in) , optional :: unique
4867 logical(LK) , intent(in) , optional :: keep
4868 end subroutine
4869#endif
4870
4871#if SK3_ENABLED
4872 PURE module subroutine setSplitIndDefComCusIns_D0_D0_SK3(field, array, sep, instance, sorted, unique, keep)
4873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4874 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D0_D0_SK3
4875#endif
4876 use pm_kind, only: SKG => SK3
4877 integer(IK) , intent(out) , allocatable :: field(:,:)
4878 character(*,SKG) , intent(in) :: array
4879 character(*,SKG) , intent(in) :: sep
4880 integer(IK) , intent(in) , contiguous :: instance(:)
4881 logical(LK) , intent(in) , optional :: sorted
4882 logical(LK) , intent(in) , optional :: unique
4883 logical(LK) , intent(in) , optional :: keep
4884 end subroutine
4885#endif
4886
4887#if SK2_ENABLED
4888 PURE module subroutine setSplitIndDefComCusIns_D0_D0_SK2(field, array, sep, instance, sorted, unique, keep)
4889#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4890 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D0_D0_SK2
4891#endif
4892 use pm_kind, only: SKG => SK2
4893 integer(IK) , intent(out) , allocatable :: field(:,:)
4894 character(*,SKG) , intent(in) :: array
4895 character(*,SKG) , intent(in) :: sep
4896 integer(IK) , intent(in) , contiguous :: instance(:)
4897 logical(LK) , intent(in) , optional :: sorted
4898 logical(LK) , intent(in) , optional :: unique
4899 logical(LK) , intent(in) , optional :: keep
4900 end subroutine
4901#endif
4902
4903#if SK1_ENABLED
4904 PURE module subroutine setSplitIndDefComCusIns_D0_D0_SK1(field, array, sep, instance, sorted, unique, keep)
4905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4906 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D0_D0_SK1
4907#endif
4908 use pm_kind, only: SKG => SK1
4909 integer(IK) , intent(out) , allocatable :: field(:,:)
4910 character(*,SKG) , intent(in) :: array
4911 character(*,SKG) , intent(in) :: sep
4912 integer(IK) , intent(in) , contiguous :: instance(:)
4913 logical(LK) , intent(in) , optional :: sorted
4914 logical(LK) , intent(in) , optional :: unique
4915 logical(LK) , intent(in) , optional :: keep
4916 end subroutine
4917#endif
4918
4919 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4920
4921#if SK5_ENABLED
4922 PURE module subroutine setSplitIndDefComCusIns_D1_D0_SK5(field, array, sep, instance, sorted, unique, keep)
4923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4924 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_SK5
4925#endif
4926 use pm_kind, only: SKG => SK5
4927 integer(IK) , intent(out) , allocatable :: field(:,:)
4928 character(*,SKG) , intent(in) , contiguous :: array(:)
4929 character(*,SKG) , intent(in) :: sep
4930 integer(IK) , intent(in) , contiguous :: instance(:)
4931 logical(LK) , intent(in) , optional :: sorted
4932 logical(LK) , intent(in) , optional :: unique
4933 logical(LK) , intent(in) , optional :: keep
4934 end subroutine
4935#endif
4936
4937#if SK4_ENABLED
4938 PURE module subroutine setSplitIndDefComCusIns_D1_D0_SK4(field, array, sep, instance, sorted, unique, keep)
4939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4940 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_SK4
4941#endif
4942 use pm_kind, only: SKG => SK4
4943 integer(IK) , intent(out) , allocatable :: field(:,:)
4944 character(*,SKG) , intent(in) , contiguous :: array(:)
4945 character(*,SKG) , intent(in) :: sep
4946 integer(IK) , intent(in) , contiguous :: instance(:)
4947 logical(LK) , intent(in) , optional :: sorted
4948 logical(LK) , intent(in) , optional :: unique
4949 logical(LK) , intent(in) , optional :: keep
4950 end subroutine
4951#endif
4952
4953#if SK3_ENABLED
4954 PURE module subroutine setSplitIndDefComCusIns_D1_D0_SK3(field, array, sep, instance, sorted, unique, keep)
4955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4956 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_SK3
4957#endif
4958 use pm_kind, only: SKG => SK3
4959 integer(IK) , intent(out) , allocatable :: field(:,:)
4960 character(*,SKG) , intent(in) , contiguous :: array(:)
4961 character(*,SKG) , intent(in) :: sep
4962 integer(IK) , intent(in) , contiguous :: instance(:)
4963 logical(LK) , intent(in) , optional :: sorted
4964 logical(LK) , intent(in) , optional :: unique
4965 logical(LK) , intent(in) , optional :: keep
4966 end subroutine
4967#endif
4968
4969#if SK2_ENABLED
4970 PURE module subroutine setSplitIndDefComCusIns_D1_D0_SK2(field, array, sep, instance, sorted, unique, keep)
4971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4972 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_SK2
4973#endif
4974 use pm_kind, only: SKG => SK2
4975 integer(IK) , intent(out) , allocatable :: field(:,:)
4976 character(*,SKG) , intent(in) , contiguous :: array(:)
4977 character(*,SKG) , intent(in) :: sep
4978 integer(IK) , intent(in) , contiguous :: instance(:)
4979 logical(LK) , intent(in) , optional :: sorted
4980 logical(LK) , intent(in) , optional :: unique
4981 logical(LK) , intent(in) , optional :: keep
4982 end subroutine
4983#endif
4984
4985#if SK1_ENABLED
4986 PURE module subroutine setSplitIndDefComCusIns_D1_D0_SK1(field, array, sep, instance, sorted, unique, keep)
4987#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4988 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_SK1
4989#endif
4990 use pm_kind, only: SKG => SK1
4991 integer(IK) , intent(out) , allocatable :: field(:,:)
4992 character(*,SKG) , intent(in) , contiguous :: array(:)
4993 character(*,SKG) , intent(in) :: sep
4994 integer(IK) , intent(in) , contiguous :: instance(:)
4995 logical(LK) , intent(in) , optional :: sorted
4996 logical(LK) , intent(in) , optional :: unique
4997 logical(LK) , intent(in) , optional :: keep
4998 end subroutine
4999#endif
5000
5001 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5002
5003#if IK5_ENABLED
5004 PURE module subroutine setSplitIndDefComCusIns_D1_D0_IK5(field, array, sep, instance, sorted, unique, keep)
5005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5006 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_IK5
5007#endif
5008 use pm_kind, only: IKG => IK5
5009 integer(IK) , intent(out) , allocatable :: field(:,:)
5010 integer(IKG) , intent(in) , contiguous :: array(:)
5011 integer(IKG) , intent(in) :: sep
5012 integer(IK) , intent(in) , contiguous :: instance(:)
5013 logical(LK) , intent(in) , optional :: sorted
5014 logical(LK) , intent(in) , optional :: unique
5015 logical(LK) , intent(in) , optional :: keep
5016 end subroutine
5017#endif
5018
5019#if IK4_ENABLED
5020 PURE module subroutine setSplitIndDefComCusIns_D1_D0_IK4(field, array, sep, instance, sorted, unique, keep)
5021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5022 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_IK4
5023#endif
5024 use pm_kind, only: IKG => IK4
5025 integer(IK) , intent(out) , allocatable :: field(:,:)
5026 integer(IKG) , intent(in) , contiguous :: array(:)
5027 integer(IKG) , intent(in) :: sep
5028 integer(IK) , intent(in) , contiguous :: instance(:)
5029 logical(LK) , intent(in) , optional :: sorted
5030 logical(LK) , intent(in) , optional :: unique
5031 logical(LK) , intent(in) , optional :: keep
5032 end subroutine
5033#endif
5034
5035#if IK3_ENABLED
5036 PURE module subroutine setSplitIndDefComCusIns_D1_D0_IK3(field, array, sep, instance, sorted, unique, keep)
5037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5038 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_IK3
5039#endif
5040 use pm_kind, only: IKG => IK3
5041 integer(IK) , intent(out) , allocatable :: field(:,:)
5042 integer(IKG) , intent(in) , contiguous :: array(:)
5043 integer(IKG) , intent(in) :: sep
5044 integer(IK) , intent(in) , contiguous :: instance(:)
5045 logical(LK) , intent(in) , optional :: sorted
5046 logical(LK) , intent(in) , optional :: unique
5047 logical(LK) , intent(in) , optional :: keep
5048 end subroutine
5049#endif
5050
5051#if IK2_ENABLED
5052 PURE module subroutine setSplitIndDefComCusIns_D1_D0_IK2(field, array, sep, instance, sorted, unique, keep)
5053#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5054 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_IK2
5055#endif
5056 use pm_kind, only: IKG => IK2
5057 integer(IK) , intent(out) , allocatable :: field(:,:)
5058 integer(IKG) , intent(in) , contiguous :: array(:)
5059 integer(IKG) , intent(in) :: sep
5060 integer(IK) , intent(in) , contiguous :: instance(:)
5061 logical(LK) , intent(in) , optional :: sorted
5062 logical(LK) , intent(in) , optional :: unique
5063 logical(LK) , intent(in) , optional :: keep
5064 end subroutine
5065#endif
5066
5067#if IK1_ENABLED
5068 PURE module subroutine setSplitIndDefComCusIns_D1_D0_IK1(field, array, sep, instance, sorted, unique, keep)
5069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5070 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_IK1
5071#endif
5072 use pm_kind, only: IKG => IK1
5073 integer(IK) , intent(out) , allocatable :: field(:,:)
5074 integer(IKG) , intent(in) , contiguous :: array(:)
5075 integer(IKG) , intent(in) :: sep
5076 integer(IK) , intent(in) , contiguous :: instance(:)
5077 logical(LK) , intent(in) , optional :: sorted
5078 logical(LK) , intent(in) , optional :: unique
5079 logical(LK) , intent(in) , optional :: keep
5080 end subroutine
5081#endif
5082
5083 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5084
5085#if LK5_ENABLED
5086 PURE module subroutine setSplitIndDefComCusIns_D1_D0_LK5(field, array, sep, instance, sorted, unique, keep)
5087#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5088 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_LK5
5089#endif
5090 use pm_kind, only: LKG => LK5
5091 integer(IK) , intent(out) , allocatable :: field(:,:)
5092 logical(LKG) , intent(in) , contiguous :: array(:)
5093 logical(LKG) , intent(in) :: sep
5094 integer(IK) , intent(in) , contiguous :: instance(:)
5095 logical(LK) , intent(in) , optional :: sorted
5096 logical(LK) , intent(in) , optional :: unique
5097 logical(LK) , intent(in) , optional :: keep
5098 end subroutine
5099#endif
5100
5101#if LK4_ENABLED
5102 PURE module subroutine setSplitIndDefComCusIns_D1_D0_LK4(field, array, sep, instance, sorted, unique, keep)
5103#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5104 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_LK4
5105#endif
5106 use pm_kind, only: LKG => LK4
5107 integer(IK) , intent(out) , allocatable :: field(:,:)
5108 logical(LKG) , intent(in) , contiguous :: array(:)
5109 logical(LKG) , intent(in) :: sep
5110 integer(IK) , intent(in) , contiguous :: instance(:)
5111 logical(LK) , intent(in) , optional :: sorted
5112 logical(LK) , intent(in) , optional :: unique
5113 logical(LK) , intent(in) , optional :: keep
5114 end subroutine
5115#endif
5116
5117#if LK3_ENABLED
5118 PURE module subroutine setSplitIndDefComCusIns_D1_D0_LK3(field, array, sep, instance, sorted, unique, keep)
5119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5120 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_LK3
5121#endif
5122 use pm_kind, only: LKG => LK3
5123 integer(IK) , intent(out) , allocatable :: field(:,:)
5124 logical(LKG) , intent(in) , contiguous :: array(:)
5125 logical(LKG) , intent(in) :: sep
5126 integer(IK) , intent(in) , contiguous :: instance(:)
5127 logical(LK) , intent(in) , optional :: sorted
5128 logical(LK) , intent(in) , optional :: unique
5129 logical(LK) , intent(in) , optional :: keep
5130 end subroutine
5131#endif
5132
5133#if LK2_ENABLED
5134 PURE module subroutine setSplitIndDefComCusIns_D1_D0_LK2(field, array, sep, instance, sorted, unique, keep)
5135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5136 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_LK2
5137#endif
5138 use pm_kind, only: LKG => LK2
5139 integer(IK) , intent(out) , allocatable :: field(:,:)
5140 logical(LKG) , intent(in) , contiguous :: array(:)
5141 logical(LKG) , intent(in) :: sep
5142 integer(IK) , intent(in) , contiguous :: instance(:)
5143 logical(LK) , intent(in) , optional :: sorted
5144 logical(LK) , intent(in) , optional :: unique
5145 logical(LK) , intent(in) , optional :: keep
5146 end subroutine
5147#endif
5148
5149#if LK1_ENABLED
5150 PURE module subroutine setSplitIndDefComCusIns_D1_D0_LK1(field, array, sep, instance, sorted, unique, keep)
5151#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5152 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_LK1
5153#endif
5154 use pm_kind, only: LKG => LK1
5155 integer(IK) , intent(out) , allocatable :: field(:,:)
5156 logical(LKG) , intent(in) , contiguous :: array(:)
5157 logical(LKG) , intent(in) :: sep
5158 integer(IK) , intent(in) , contiguous :: instance(:)
5159 logical(LK) , intent(in) , optional :: sorted
5160 logical(LK) , intent(in) , optional :: unique
5161 logical(LK) , intent(in) , optional :: keep
5162 end subroutine
5163#endif
5164
5165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5166
5167#if CK5_ENABLED
5168 PURE module subroutine setSplitIndDefComCusIns_D1_D0_CK5(field, array, sep, instance, sorted, unique, keep)
5169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5170 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_CK5
5171#endif
5172 use pm_kind, only: CKG => CK5
5173 integer(IK) , intent(out) , allocatable :: field(:,:)
5174 complex(CKG) , intent(in) , contiguous :: array(:)
5175 complex(CKG) , intent(in) :: sep
5176 integer(IK) , intent(in) , contiguous :: instance(:)
5177 logical(LK) , intent(in) , optional :: sorted
5178 logical(LK) , intent(in) , optional :: unique
5179 logical(LK) , intent(in) , optional :: keep
5180 end subroutine
5181#endif
5182
5183#if CK4_ENABLED
5184 PURE module subroutine setSplitIndDefComCusIns_D1_D0_CK4(field, array, sep, instance, sorted, unique, keep)
5185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5186 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_CK4
5187#endif
5188 use pm_kind, only: CKG => CK4
5189 integer(IK) , intent(out) , allocatable :: field(:,:)
5190 complex(CKG) , intent(in) , contiguous :: array(:)
5191 complex(CKG) , intent(in) :: sep
5192 integer(IK) , intent(in) , contiguous :: instance(:)
5193 logical(LK) , intent(in) , optional :: sorted
5194 logical(LK) , intent(in) , optional :: unique
5195 logical(LK) , intent(in) , optional :: keep
5196 end subroutine
5197#endif
5198
5199#if CK3_ENABLED
5200 PURE module subroutine setSplitIndDefComCusIns_D1_D0_CK3(field, array, sep, instance, sorted, unique, keep)
5201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5202 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_CK3
5203#endif
5204 use pm_kind, only: CKG => CK3
5205 integer(IK) , intent(out) , allocatable :: field(:,:)
5206 complex(CKG) , intent(in) , contiguous :: array(:)
5207 complex(CKG) , intent(in) :: sep
5208 integer(IK) , intent(in) , contiguous :: instance(:)
5209 logical(LK) , intent(in) , optional :: sorted
5210 logical(LK) , intent(in) , optional :: unique
5211 logical(LK) , intent(in) , optional :: keep
5212 end subroutine
5213#endif
5214
5215#if CK2_ENABLED
5216 PURE module subroutine setSplitIndDefComCusIns_D1_D0_CK2(field, array, sep, instance, sorted, unique, keep)
5217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5218 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_CK2
5219#endif
5220 use pm_kind, only: CKG => CK2
5221 integer(IK) , intent(out) , allocatable :: field(:,:)
5222 complex(CKG) , intent(in) , contiguous :: array(:)
5223 complex(CKG) , intent(in) :: sep
5224 integer(IK) , intent(in) , contiguous :: instance(:)
5225 logical(LK) , intent(in) , optional :: sorted
5226 logical(LK) , intent(in) , optional :: unique
5227 logical(LK) , intent(in) , optional :: keep
5228 end subroutine
5229#endif
5230
5231#if CK1_ENABLED
5232 PURE module subroutine setSplitIndDefComCusIns_D1_D0_CK1(field, array, sep, instance, sorted, unique, keep)
5233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5234 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_CK1
5235#endif
5236 use pm_kind, only: CKG => CK1
5237 integer(IK) , intent(out) , allocatable :: field(:,:)
5238 complex(CKG) , intent(in) , contiguous :: array(:)
5239 complex(CKG) , intent(in) :: sep
5240 integer(IK) , intent(in) , contiguous :: instance(:)
5241 logical(LK) , intent(in) , optional :: sorted
5242 logical(LK) , intent(in) , optional :: unique
5243 logical(LK) , intent(in) , optional :: keep
5244 end subroutine
5245#endif
5246
5247 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5248
5249#if RK5_ENABLED
5250 PURE module subroutine setSplitIndDefComCusIns_D1_D0_RK5(field, array, sep, instance, sorted, unique, keep)
5251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5252 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_RK5
5253#endif
5254 use pm_kind, only: RKG => RK5
5255 integer(IK) , intent(out) , allocatable :: field(:,:)
5256 real(RKG) , intent(in) , contiguous :: array(:)
5257 real(RKG) , intent(in) :: sep
5258 integer(IK) , intent(in) , contiguous :: instance(:)
5259 logical(LK) , intent(in) , optional :: sorted
5260 logical(LK) , intent(in) , optional :: unique
5261 logical(LK) , intent(in) , optional :: keep
5262 end subroutine
5263#endif
5264
5265#if RK4_ENABLED
5266 PURE module subroutine setSplitIndDefComCusIns_D1_D0_RK4(field, array, sep, instance, sorted, unique, keep)
5267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5268 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_RK4
5269#endif
5270 use pm_kind, only: RKG => RK4
5271 integer(IK) , intent(out) , allocatable :: field(:,:)
5272 real(RKG) , intent(in) , contiguous :: array(:)
5273 real(RKG) , intent(in) :: sep
5274 integer(IK) , intent(in) , contiguous :: instance(:)
5275 logical(LK) , intent(in) , optional :: sorted
5276 logical(LK) , intent(in) , optional :: unique
5277 logical(LK) , intent(in) , optional :: keep
5278 end subroutine
5279#endif
5280
5281#if RK3_ENABLED
5282 PURE module subroutine setSplitIndDefComCusIns_D1_D0_RK3(field, array, sep, instance, sorted, unique, keep)
5283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5284 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_RK3
5285#endif
5286 use pm_kind, only: RKG => RK3
5287 integer(IK) , intent(out) , allocatable :: field(:,:)
5288 real(RKG) , intent(in) , contiguous :: array(:)
5289 real(RKG) , intent(in) :: sep
5290 integer(IK) , intent(in) , contiguous :: instance(:)
5291 logical(LK) , intent(in) , optional :: sorted
5292 logical(LK) , intent(in) , optional :: unique
5293 logical(LK) , intent(in) , optional :: keep
5294 end subroutine
5295#endif
5296
5297#if RK2_ENABLED
5298 PURE module subroutine setSplitIndDefComCusIns_D1_D0_RK2(field, array, sep, instance, sorted, unique, keep)
5299#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5300 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_RK2
5301#endif
5302 use pm_kind, only: RKG => RK2
5303 integer(IK) , intent(out) , allocatable :: field(:,:)
5304 real(RKG) , intent(in) , contiguous :: array(:)
5305 real(RKG) , intent(in) :: sep
5306 integer(IK) , intent(in) , contiguous :: instance(:)
5307 logical(LK) , intent(in) , optional :: sorted
5308 logical(LK) , intent(in) , optional :: unique
5309 logical(LK) , intent(in) , optional :: keep
5310 end subroutine
5311#endif
5312
5313#if RK1_ENABLED
5314 PURE module subroutine setSplitIndDefComCusIns_D1_D0_RK1(field, array, sep, instance, sorted, unique, keep)
5315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5316 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndDefComCusIns_D1_D0_RK1
5317#endif
5318 use pm_kind, only: RKG => RK1
5319 integer(IK) , intent(out) , allocatable :: field(:,:)
5320 real(RKG) , intent(in) , contiguous :: array(:)
5321 real(RKG) , intent(in) :: sep
5322 integer(IK) , intent(in) , contiguous :: instance(:)
5323 logical(LK) , intent(in) , optional :: sorted
5324 logical(LK) , intent(in) , optional :: unique
5325 logical(LK) , intent(in) , optional :: keep
5326 end subroutine
5327#endif
5328
5329 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5330
5331 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5334
5335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5336
5337#if SK5_ENABLED
5338 module subroutine setSplitIndCusComCusIns_D0_D0_SK5(field, array, sep, iseq, instance, sorted, unique, keep)
5339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5340 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D0_D0_SK5
5341#endif
5342 use pm_kind, only: SKG => SK5
5343 integer(IK) , intent(out) , allocatable :: field(:,:)
5344 character(*,SKG) , intent(in) :: array
5345 character(*,SKG) , intent(in) :: sep
5346 procedure(logical(LK)) :: iseq
5347 integer(IK) , intent(in) , contiguous :: instance(:)
5348 logical(LK) , intent(in) , optional :: sorted
5349 logical(LK) , intent(in) , optional :: unique
5350 logical(LK) , intent(in) , optional :: keep
5351 end subroutine
5352#endif
5353
5354#if SK4_ENABLED
5355 module subroutine setSplitIndCusComCusIns_D0_D0_SK4(field, array, sep, iseq, instance, sorted, unique, keep)
5356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5357 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D0_D0_SK4
5358#endif
5359 use pm_kind, only: SKG => SK4
5360 integer(IK) , intent(out) , allocatable :: field(:,:)
5361 character(*,SKG) , intent(in) :: array
5362 character(*,SKG) , intent(in) :: sep
5363 procedure(logical(LK)) :: iseq
5364 integer(IK) , intent(in) , contiguous :: instance(:)
5365 logical(LK) , intent(in) , optional :: sorted
5366 logical(LK) , intent(in) , optional :: unique
5367 logical(LK) , intent(in) , optional :: keep
5368 end subroutine
5369#endif
5370
5371#if SK3_ENABLED
5372 module subroutine setSplitIndCusComCusIns_D0_D0_SK3(field, array, sep, iseq, instance, sorted, unique, keep)
5373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5374 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D0_D0_SK3
5375#endif
5376 use pm_kind, only: SKG => SK3
5377 integer(IK) , intent(out) , allocatable :: field(:,:)
5378 character(*,SKG) , intent(in) :: array
5379 character(*,SKG) , intent(in) :: sep
5380 procedure(logical(LK)) :: iseq
5381 integer(IK) , intent(in) , contiguous :: instance(:)
5382 logical(LK) , intent(in) , optional :: sorted
5383 logical(LK) , intent(in) , optional :: unique
5384 logical(LK) , intent(in) , optional :: keep
5385 end subroutine
5386#endif
5387
5388#if SK2_ENABLED
5389 module subroutine setSplitIndCusComCusIns_D0_D0_SK2(field, array, sep, iseq, instance, sorted, unique, keep)
5390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5391 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D0_D0_SK2
5392#endif
5393 use pm_kind, only: SKG => SK2
5394 integer(IK) , intent(out) , allocatable :: field(:,:)
5395 character(*,SKG) , intent(in) :: array
5396 character(*,SKG) , intent(in) :: sep
5397 procedure(logical(LK)) :: iseq
5398 integer(IK) , intent(in) , contiguous :: instance(:)
5399 logical(LK) , intent(in) , optional :: sorted
5400 logical(LK) , intent(in) , optional :: unique
5401 logical(LK) , intent(in) , optional :: keep
5402 end subroutine
5403#endif
5404
5405#if SK1_ENABLED
5406 module subroutine setSplitIndCusComCusIns_D0_D0_SK1(field, array, sep, iseq, instance, sorted, unique, keep)
5407#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5408 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D0_D0_SK1
5409#endif
5410 use pm_kind, only: SKG => SK1
5411 integer(IK) , intent(out) , allocatable :: field(:,:)
5412 character(*,SKG) , intent(in) :: array
5413 character(*,SKG) , intent(in) :: sep
5414 procedure(logical(LK)) :: iseq
5415 integer(IK) , intent(in) , contiguous :: instance(:)
5416 logical(LK) , intent(in) , optional :: sorted
5417 logical(LK) , intent(in) , optional :: unique
5418 logical(LK) , intent(in) , optional :: keep
5419 end subroutine
5420#endif
5421
5422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5423
5424#if SK5_ENABLED
5425 module subroutine setSplitIndCusComCusIns_D1_D0_SK5(field, array, sep, iseq, instance, sorted, unique, keep)
5426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5427 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D1_D0_SK5
5428#endif
5429 use pm_kind, only: SKG => SK5
5430 integer(IK) , intent(out) , allocatable :: field(:,:)
5431 character(*,SKG) , intent(in) , contiguous :: array(:)
5432 character(*,SKG) , intent(in) :: sep
5433 procedure(logical(LK)) :: iseq
5434 integer(IK) , intent(in) , contiguous :: instance(:)
5435 logical(LK) , intent(in) , optional :: sorted
5436 logical(LK) , intent(in) , optional :: unique
5437 logical(LK) , intent(in) , optional :: keep
5438 end subroutine
5439#endif
5440
5441#if SK4_ENABLED
5442 module subroutine setSplitIndCusComCusIns_D1_D0_SK4(field, array, sep, iseq, instance, sorted, unique, keep)
5443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5444 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D1_D0_SK4
5445#endif
5446 use pm_kind, only: SKG => SK4
5447 integer(IK) , intent(out) , allocatable :: field(:,:)
5448 character(*,SKG) , intent(in) , contiguous :: array(:)
5449 character(*,SKG) , intent(in) :: sep
5450 procedure(logical(LK)) :: iseq
5451 integer(IK) , intent(in) , contiguous :: instance(:)
5452 logical(LK) , intent(in) , optional :: sorted
5453 logical(LK) , intent(in) , optional :: unique
5454 logical(LK) , intent(in) , optional :: keep
5455 end subroutine
5456#endif
5457
5458#if SK3_ENABLED
5459 module subroutine setSplitIndCusComCusIns_D1_D0_SK3(field, array, sep, iseq, instance, sorted, unique, keep)
5460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5461 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D1_D0_SK3
5462#endif
5463 use pm_kind, only: SKG => SK3
5464 integer(IK) , intent(out) , allocatable :: field(:,:)
5465 character(*,SKG) , intent(in) , contiguous :: array(:)
5466 character(*,SKG) , intent(in) :: sep
5467 procedure(logical(LK)) :: iseq
5468 integer(IK) , intent(in) , contiguous :: instance(:)
5469 logical(LK) , intent(in) , optional :: sorted
5470 logical(LK) , intent(in) , optional :: unique
5471 logical(LK) , intent(in) , optional :: keep
5472 end subroutine
5473#endif
5474
5475#if SK2_ENABLED
5476 module subroutine setSplitIndCusComCusIns_D1_D0_SK2(field, array, sep, iseq, instance, sorted, unique, keep)
5477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5478 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D1_D0_SK2
5479#endif
5480 use pm_kind, only: SKG => SK2
5481 integer(IK) , intent(out) , allocatable :: field(:,:)
5482 character(*,SKG) , intent(in) , contiguous :: array(:)
5483 character(*,SKG) , intent(in) :: sep
5484 procedure(logical(LK)) :: iseq
5485 integer(IK) , intent(in) , contiguous :: instance(:)
5486 logical(LK) , intent(in) , optional :: sorted
5487 logical(LK) , intent(in) , optional :: unique
5488 logical(LK) , intent(in) , optional :: keep
5489 end subroutine
5490#endif
5491
5492#if SK1_ENABLED
5493 module subroutine setSplitIndCusComCusIns_D1_D0_SK1(field, array, sep, iseq, instance, sorted, unique, keep)
5494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5495 !DEC$ ATTRIBUTES DLLEXPORT :: setSplitIndCusComCusIns_D1_D0_SK1
5496#endif
5497 use pm_kind, only: SKG => SK1
5498 integer(IK) , intent(out) , allocatable :: field(:,:)
5499 character(*,SKG) , intent(in) , contiguous :: array(:)
5500 character(*,SKG) , intent(in) :: sep
5501 procedure(logical(LK)) :: iseq
5502 integer(IK) , intent(in) , contiguous :: instance(:)
5503 logical(LK) , intent(in) , optional :: sorted
5504 logical(LK) , intent(in) , optional :: unique
5505 logical(LK) , intent(in) , optional :: keep
5506 end subroutine
5507#endif
5508
5509 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5510
5511#if IK5_ENABLED
5512 module subroutine setSplitIndCusComCusIns_D1_D0_IK5(field, array, sep, iseq, instance, sorted, unique, keep)
5513#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5514 !DEC$ ATTRIBUTES DLLEXPORT :: setSpli