ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayCompareLex.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
68
69!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70
72
73 use pm_kind, only: SK, IK, LK
74
75 implicit none
76
77 character(*, SK), parameter :: MODULE_NAME = "@pm_arrayCompareLex"
78
79!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80
147 interface operator(.llt.)
148
149 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150
151#if SK5_ENABLED
152 pure module function isllt_D0_D0_SK5(array1, array2) result(compares)
153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
154 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D0_D0_SK5
155#endif
156 use pm_kind, only: LK, SKG => SK5
157 character(*,SKG), intent(in) :: array1
158 character(*,SKG), intent(in) :: array2
159 logical(LK) :: compares
160 end function
161#endif
162
163#if SK4_ENABLED
164 pure module function isllt_D0_D0_SK4(array1, array2) result(compares)
165#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
166 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D0_D0_SK4
167#endif
168 use pm_kind, only: LK, SKG => SK4
169 character(*,SKG), intent(in) :: array1
170 character(*,SKG), intent(in) :: array2
171 logical(LK) :: compares
172 end function
173#endif
174
175#if SK3_ENABLED
176 pure module function isllt_D0_D0_SK3(array1, array2) result(compares)
177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
178 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D0_D0_SK3
179#endif
180 use pm_kind, only: LK, SKG => SK3
181 character(*,SKG), intent(in) :: array1
182 character(*,SKG), intent(in) :: array2
183 logical(LK) :: compares
184 end function
185#endif
186
187#if SK2_ENABLED
188 pure module function isllt_D0_D0_SK2(array1, array2) result(compares)
189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
190 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D0_D0_SK2
191#endif
192 use pm_kind, only: LK, SKG => SK2
193 character(*,SKG), intent(in) :: array1
194 character(*,SKG), intent(in) :: array2
195 logical(LK) :: compares
196 end function
197#endif
198
199#if SK1_ENABLED
200 pure module function isllt_D0_D0_SK1(array1, array2) result(compares)
201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
202 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D0_D0_SK1
203#endif
204 use pm_kind, only: LK, SKG => SK1
205 character(*,SKG), intent(in) :: array1
206 character(*,SKG), intent(in) :: array2
207 logical(LK) :: compares
208 end function
209#endif
210
211 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212
213#if SK5_ENABLED
214 pure module function isllt_D1_D1_SK5(array1, array2) result(compares)
215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
216 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_SK5
217#endif
218 use pm_kind, only: LK, SKG => SK5
219 character(*,SKG), intent(in), contiguous :: array1(:)
220 character(*,SKG), intent(in), contiguous :: array2(:)
221 logical(LK) :: compares
222 end function
223#endif
224
225#if SK4_ENABLED
226 pure module function isllt_D1_D1_SK4(array1, array2) result(compares)
227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
228 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_SK4
229#endif
230 use pm_kind, only: LK, SKG => SK4
231 character(*,SKG), intent(in), contiguous :: array1(:)
232 character(*,SKG), intent(in), contiguous :: array2(:)
233 logical(LK) :: compares
234 end function
235#endif
236
237#if SK3_ENABLED
238 pure module function isllt_D1_D1_SK3(array1, array2) result(compares)
239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
240 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_SK3
241#endif
242 use pm_kind, only: LK, SKG => SK3
243 character(*,SKG), intent(in), contiguous :: array1(:)
244 character(*,SKG), intent(in), contiguous :: array2(:)
245 logical(LK) :: compares
246 end function
247#endif
248
249#if SK2_ENABLED
250 pure module function isllt_D1_D1_SK2(array1, array2) result(compares)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_SK2
253#endif
254 use pm_kind, only: LK, SKG => SK2
255 character(*,SKG), intent(in), contiguous :: array1(:)
256 character(*,SKG), intent(in), contiguous :: array2(:)
257 logical(LK) :: compares
258 end function
259#endif
260
261#if SK1_ENABLED
262 pure module function isllt_D1_D1_SK1(array1, array2) result(compares)
263#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
264 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_SK1
265#endif
266 use pm_kind, only: LK, SKG => SK1
267 character(*,SKG), intent(in), contiguous :: array1(:)
268 character(*,SKG), intent(in), contiguous :: array2(:)
269 logical(LK) :: compares
270 end function
271#endif
272
273 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
274
275#if IK5_ENABLED
276 pure module function isllt_D1_D1_IK5(array1, array2) result(compares)
277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
278 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_IK5
279#endif
280 use pm_kind, only: LK, IKG => IK5
281 integer(IKG) , intent(in), contiguous :: array1(:)
282 integer(IKG) , intent(in), contiguous :: array2(:)
283 logical(LK) :: compares
284 end function
285#endif
286
287#if IK4_ENABLED
288 pure module function isllt_D1_D1_IK4(array1, array2) result(compares)
289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
290 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_IK4
291#endif
292 use pm_kind, only: LK, IKG => IK4
293 integer(IKG) , intent(in), contiguous :: array1(:)
294 integer(IKG) , intent(in), contiguous :: array2(:)
295 logical(LK) :: compares
296 end function
297#endif
298
299#if IK3_ENABLED
300 pure module function isllt_D1_D1_IK3(array1, array2) result(compares)
301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
302 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_IK3
303#endif
304 use pm_kind, only: LK, IKG => IK3
305 integer(IKG) , intent(in), contiguous :: array1(:)
306 integer(IKG) , intent(in), contiguous :: array2(:)
307 logical(LK) :: compares
308 end function
309#endif
310
311#if IK2_ENABLED
312 pure module function isllt_D1_D1_IK2(array1, array2) result(compares)
313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
314 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_IK2
315#endif
316 use pm_kind, only: LK, IKG => IK2
317 integer(IKG) , intent(in), contiguous :: array1(:)
318 integer(IKG) , intent(in), contiguous :: array2(:)
319 logical(LK) :: compares
320 end function
321#endif
322
323#if IK1_ENABLED
324 pure module function isllt_D1_D1_IK1(array1, array2) result(compares)
325#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
326 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_IK1
327#endif
328 use pm_kind, only: LK, IKG => IK1
329 integer(IKG) , intent(in), contiguous :: array1(:)
330 integer(IKG) , intent(in), contiguous :: array2(:)
331 logical(LK) :: compares
332 end function
333#endif
334
335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
336
337#if LK5_ENABLED
338 pure module function isllt_D1_D1_LK5(array1, array2) result(compares)
339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
340 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_LK5
341#endif
342 use pm_kind, only: LK, LKG => LK5
343 logical(LKG) , intent(in), contiguous :: array1(:)
344 logical(LKG) , intent(in), contiguous :: array2(:)
345 logical(LK) :: compares
346 end function
347#endif
348
349#if LK4_ENABLED
350 pure module function isllt_D1_D1_LK4(array1, array2) result(compares)
351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
352 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_LK4
353#endif
354 use pm_kind, only: LK, LKG => LK4
355 logical(LKG) , intent(in), contiguous :: array1(:)
356 logical(LKG) , intent(in), contiguous :: array2(:)
357 logical(LK) :: compares
358 end function
359#endif
360
361#if LK3_ENABLED
362 pure module function isllt_D1_D1_LK3(array1, array2) result(compares)
363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
364 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_LK3
365#endif
366 use pm_kind, only: LK, LKG => LK3
367 logical(LKG) , intent(in), contiguous :: array1(:)
368 logical(LKG) , intent(in), contiguous :: array2(:)
369 logical(LK) :: compares
370 end function
371#endif
372
373#if LK2_ENABLED
374 pure module function isllt_D1_D1_LK2(array1, array2) result(compares)
375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
376 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_LK2
377#endif
378 use pm_kind, only: LK, LKG => LK2
379 logical(LKG) , intent(in), contiguous :: array1(:)
380 logical(LKG) , intent(in), contiguous :: array2(:)
381 logical(LK) :: compares
382 end function
383#endif
384
385#if LK1_ENABLED
386 pure module function isllt_D1_D1_LK1(array1, array2) result(compares)
387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
388 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_LK1
389#endif
390 use pm_kind, only: LK, LKG => LK1
391 logical(LKG) , intent(in), contiguous :: array1(:)
392 logical(LKG) , intent(in), contiguous :: array2(:)
393 logical(LK) :: compares
394 end function
395#endif
396
397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
398
399#if CK5_ENABLED
400 pure module function isllt_D1_D1_CK5(array1, array2) result(compares)
401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
402 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_CK5
403#endif
404 use pm_kind, only: LK, CKG => CK5
405 complex(CKG) , intent(in), contiguous :: array1(:)
406 complex(CKG) , intent(in), contiguous :: array2(:)
407 logical(LK) :: compares
408 end function
409#endif
410
411#if CK4_ENABLED
412 pure module function isllt_D1_D1_CK4(array1, array2) result(compares)
413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
414 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_CK4
415#endif
416 use pm_kind, only: LK, CKG => CK4
417 complex(CKG) , intent(in), contiguous :: array1(:)
418 complex(CKG) , intent(in), contiguous :: array2(:)
419 logical(LK) :: compares
420 end function
421#endif
422
423#if CK3_ENABLED
424 pure module function isllt_D1_D1_CK3(array1, array2) result(compares)
425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
426 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_CK3
427#endif
428 use pm_kind, only: LK, CKG => CK3
429 complex(CKG) , intent(in), contiguous :: array1(:)
430 complex(CKG) , intent(in), contiguous :: array2(:)
431 logical(LK) :: compares
432 end function
433#endif
434
435#if CK2_ENABLED
436 pure module function isllt_D1_D1_CK2(array1, array2) result(compares)
437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
438 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_CK2
439#endif
440 use pm_kind, only: LK, CKG => CK2
441 complex(CKG) , intent(in), contiguous :: array1(:)
442 complex(CKG) , intent(in), contiguous :: array2(:)
443 logical(LK) :: compares
444 end function
445#endif
446
447#if CK1_ENABLED
448 pure module function isllt_D1_D1_CK1(array1, array2) result(compares)
449#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
450 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_CK1
451#endif
452 use pm_kind, only: LK, CKG => CK1
453 complex(CKG) , intent(in), contiguous :: array1(:)
454 complex(CKG) , intent(in), contiguous :: array2(:)
455 logical(LK) :: compares
456 end function
457#endif
458
459 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460
461#if RK5_ENABLED
462 pure module function isllt_D1_D1_RK5(array1, array2) result(compares)
463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
464 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_RK5
465#endif
466 use pm_kind, only: LK, RKG => RK5
467 real(RKG) , intent(in), contiguous :: array1(:)
468 real(RKG) , intent(in), contiguous :: array2(:)
469 logical(LK) :: compares
470 end function
471#endif
472
473#if RK4_ENABLED
474 pure module function isllt_D1_D1_RK4(array1, array2) result(compares)
475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
476 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_RK4
477#endif
478 use pm_kind, only: LK, RKG => RK4
479 real(RKG) , intent(in), contiguous :: array1(:)
480 real(RKG) , intent(in), contiguous :: array2(:)
481 logical(LK) :: compares
482 end function
483#endif
484
485#if RK3_ENABLED
486 pure module function isllt_D1_D1_RK3(array1, array2) result(compares)
487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
488 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_RK3
489#endif
490 use pm_kind, only: LK, RKG => RK3
491 real(RKG) , intent(in), contiguous :: array1(:)
492 real(RKG) , intent(in), contiguous :: array2(:)
493 logical(LK) :: compares
494 end function
495#endif
496
497#if RK2_ENABLED
498 pure module function isllt_D1_D1_RK2(array1, array2) result(compares)
499#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
500 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_RK2
501#endif
502 use pm_kind, only: LK, RKG => RK2
503 real(RKG) , intent(in), contiguous :: array1(:)
504 real(RKG) , intent(in), contiguous :: array2(:)
505 logical(LK) :: compares
506 end function
507#endif
508
509#if RK1_ENABLED
510 pure module function isllt_D1_D1_RK1(array1, array2) result(compares)
511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
512 !DEC$ ATTRIBUTES DLLEXPORT :: isllt_D1_D1_RK1
513#endif
514 use pm_kind, only: LK, RKG => RK1
515 real(RKG) , intent(in), contiguous :: array1(:)
516 real(RKG) , intent(in), contiguous :: array2(:)
517 logical(LK) :: compares
518 end function
519#endif
520
521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
522
523 end interface
524
525!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526
593 interface operator(.lle.)
594
595 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596
597#if SK5_ENABLED
598 pure module function islle_D0_D0_SK5(array1, array2) result(compares)
599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
600 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D0_D0_SK5
601#endif
602 use pm_kind, only: LK, SKG => SK5
603 character(*,SKG), intent(in) :: array1
604 character(*,SKG), intent(in) :: array2
605 logical(LK) :: compares
606 end function
607#endif
608
609#if SK4_ENABLED
610 pure module function islle_D0_D0_SK4(array1, array2) result(compares)
611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
612 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D0_D0_SK4
613#endif
614 use pm_kind, only: LK, SKG => SK4
615 character(*,SKG), intent(in) :: array1
616 character(*,SKG), intent(in) :: array2
617 logical(LK) :: compares
618 end function
619#endif
620
621#if SK3_ENABLED
622 pure module function islle_D0_D0_SK3(array1, array2) result(compares)
623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
624 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D0_D0_SK3
625#endif
626 use pm_kind, only: LK, SKG => SK3
627 character(*,SKG), intent(in) :: array1
628 character(*,SKG), intent(in) :: array2
629 logical(LK) :: compares
630 end function
631#endif
632
633#if SK2_ENABLED
634 pure module function islle_D0_D0_SK2(array1, array2) result(compares)
635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
636 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D0_D0_SK2
637#endif
638 use pm_kind, only: LK, SKG => SK2
639 character(*,SKG), intent(in) :: array1
640 character(*,SKG), intent(in) :: array2
641 logical(LK) :: compares
642 end function
643#endif
644
645#if SK1_ENABLED
646 pure module function islle_D0_D0_SK1(array1, array2) result(compares)
647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
648 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D0_D0_SK1
649#endif
650 use pm_kind, only: LK, SKG => SK1
651 character(*,SKG), intent(in) :: array1
652 character(*,SKG), intent(in) :: array2
653 logical(LK) :: compares
654 end function
655#endif
656
657 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
658
659#if SK5_ENABLED
660 pure module function islle_D1_D1_SK5(array1, array2) result(compares)
661#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
662 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_SK5
663#endif
664 use pm_kind, only: LK, SKG => SK5
665 character(*,SKG), intent(in), contiguous :: array1(:)
666 character(*,SKG), intent(in), contiguous :: array2(:)
667 logical(LK) :: compares
668 end function
669#endif
670
671#if SK4_ENABLED
672 pure module function islle_D1_D1_SK4(array1, array2) result(compares)
673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
674 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_SK4
675#endif
676 use pm_kind, only: LK, SKG => SK4
677 character(*,SKG), intent(in), contiguous :: array1(:)
678 character(*,SKG), intent(in), contiguous :: array2(:)
679 logical(LK) :: compares
680 end function
681#endif
682
683#if SK3_ENABLED
684 pure module function islle_D1_D1_SK3(array1, array2) result(compares)
685#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
686 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_SK3
687#endif
688 use pm_kind, only: LK, SKG => SK3
689 character(*,SKG), intent(in), contiguous :: array1(:)
690 character(*,SKG), intent(in), contiguous :: array2(:)
691 logical(LK) :: compares
692 end function
693#endif
694
695#if SK2_ENABLED
696 pure module function islle_D1_D1_SK2(array1, array2) result(compares)
697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
698 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_SK2
699#endif
700 use pm_kind, only: LK, SKG => SK2
701 character(*,SKG), intent(in), contiguous :: array1(:)
702 character(*,SKG), intent(in), contiguous :: array2(:)
703 logical(LK) :: compares
704 end function
705#endif
706
707#if SK1_ENABLED
708 pure module function islle_D1_D1_SK1(array1, array2) result(compares)
709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
710 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_SK1
711#endif
712 use pm_kind, only: LK, SKG => SK1
713 character(*,SKG), intent(in), contiguous :: array1(:)
714 character(*,SKG), intent(in), contiguous :: array2(:)
715 logical(LK) :: compares
716 end function
717#endif
718
719 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
720
721#if IK5_ENABLED
722 pure module function islle_D1_D1_IK5(array1, array2) result(compares)
723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
724 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_IK5
725#endif
726 use pm_kind, only: LK, IKG => IK5
727 integer(IKG) , intent(in), contiguous :: array1(:)
728 integer(IKG) , intent(in), contiguous :: array2(:)
729 logical(LK) :: compares
730 end function
731#endif
732
733#if IK4_ENABLED
734 pure module function islle_D1_D1_IK4(array1, array2) result(compares)
735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
736 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_IK4
737#endif
738 use pm_kind, only: LK, IKG => IK4
739 integer(IKG) , intent(in), contiguous :: array1(:)
740 integer(IKG) , intent(in), contiguous :: array2(:)
741 logical(LK) :: compares
742 end function
743#endif
744
745#if IK3_ENABLED
746 pure module function islle_D1_D1_IK3(array1, array2) result(compares)
747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
748 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_IK3
749#endif
750 use pm_kind, only: LK, IKG => IK3
751 integer(IKG) , intent(in), contiguous :: array1(:)
752 integer(IKG) , intent(in), contiguous :: array2(:)
753 logical(LK) :: compares
754 end function
755#endif
756
757#if IK2_ENABLED
758 pure module function islle_D1_D1_IK2(array1, array2) result(compares)
759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
760 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_IK2
761#endif
762 use pm_kind, only: LK, IKG => IK2
763 integer(IKG) , intent(in), contiguous :: array1(:)
764 integer(IKG) , intent(in), contiguous :: array2(:)
765 logical(LK) :: compares
766 end function
767#endif
768
769#if IK1_ENABLED
770 pure module function islle_D1_D1_IK1(array1, array2) result(compares)
771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
772 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_IK1
773#endif
774 use pm_kind, only: LK, IKG => IK1
775 integer(IKG) , intent(in), contiguous :: array1(:)
776 integer(IKG) , intent(in), contiguous :: array2(:)
777 logical(LK) :: compares
778 end function
779#endif
780
781 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
782
783#if LK5_ENABLED
784 pure module function islle_D1_D1_LK5(array1, array2) result(compares)
785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
786 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_LK5
787#endif
788 use pm_kind, only: LK, LKG => LK5
789 logical(LKG) , intent(in), contiguous :: array1(:)
790 logical(LKG) , intent(in), contiguous :: array2(:)
791 logical(LK) :: compares
792 end function
793#endif
794
795#if LK4_ENABLED
796 pure module function islle_D1_D1_LK4(array1, array2) result(compares)
797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
798 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_LK4
799#endif
800 use pm_kind, only: LK, LKG => LK4
801 logical(LKG) , intent(in), contiguous :: array1(:)
802 logical(LKG) , intent(in), contiguous :: array2(:)
803 logical(LK) :: compares
804 end function
805#endif
806
807#if LK3_ENABLED
808 pure module function islle_D1_D1_LK3(array1, array2) result(compares)
809#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
810 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_LK3
811#endif
812 use pm_kind, only: LK, LKG => LK3
813 logical(LKG) , intent(in), contiguous :: array1(:)
814 logical(LKG) , intent(in), contiguous :: array2(:)
815 logical(LK) :: compares
816 end function
817#endif
818
819#if LK2_ENABLED
820 pure module function islle_D1_D1_LK2(array1, array2) result(compares)
821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
822 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_LK2
823#endif
824 use pm_kind, only: LK, LKG => LK2
825 logical(LKG) , intent(in), contiguous :: array1(:)
826 logical(LKG) , intent(in), contiguous :: array2(:)
827 logical(LK) :: compares
828 end function
829#endif
830
831#if LK1_ENABLED
832 pure module function islle_D1_D1_LK1(array1, array2) result(compares)
833#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
834 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_LK1
835#endif
836 use pm_kind, only: LK, LKG => LK1
837 logical(LKG) , intent(in), contiguous :: array1(:)
838 logical(LKG) , intent(in), contiguous :: array2(:)
839 logical(LK) :: compares
840 end function
841#endif
842
843 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
844
845#if CK5_ENABLED
846 pure module function islle_D1_D1_CK5(array1, array2) result(compares)
847#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
848 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_CK5
849#endif
850 use pm_kind, only: LK, CKG => CK5
851 complex(CKG) , intent(in), contiguous :: array1(:)
852 complex(CKG) , intent(in), contiguous :: array2(:)
853 logical(LK) :: compares
854 end function
855#endif
856
857#if CK4_ENABLED
858 pure module function islle_D1_D1_CK4(array1, array2) result(compares)
859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
860 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_CK4
861#endif
862 use pm_kind, only: LK, CKG => CK4
863 complex(CKG) , intent(in), contiguous :: array1(:)
864 complex(CKG) , intent(in), contiguous :: array2(:)
865 logical(LK) :: compares
866 end function
867#endif
868
869#if CK3_ENABLED
870 pure module function islle_D1_D1_CK3(array1, array2) result(compares)
871#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
872 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_CK3
873#endif
874 use pm_kind, only: LK, CKG => CK3
875 complex(CKG) , intent(in), contiguous :: array1(:)
876 complex(CKG) , intent(in), contiguous :: array2(:)
877 logical(LK) :: compares
878 end function
879#endif
880
881#if CK2_ENABLED
882 pure module function islle_D1_D1_CK2(array1, array2) result(compares)
883#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
884 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_CK2
885#endif
886 use pm_kind, only: LK, CKG => CK2
887 complex(CKG) , intent(in), contiguous :: array1(:)
888 complex(CKG) , intent(in), contiguous :: array2(:)
889 logical(LK) :: compares
890 end function
891#endif
892
893#if CK1_ENABLED
894 pure module function islle_D1_D1_CK1(array1, array2) result(compares)
895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
896 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_CK1
897#endif
898 use pm_kind, only: LK, CKG => CK1
899 complex(CKG) , intent(in), contiguous :: array1(:)
900 complex(CKG) , intent(in), contiguous :: array2(:)
901 logical(LK) :: compares
902 end function
903#endif
904
905 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906
907#if RK5_ENABLED
908 pure module function islle_D1_D1_RK5(array1, array2) result(compares)
909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
910 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_RK5
911#endif
912 use pm_kind, only: LK, RKG => RK5
913 real(RKG) , intent(in), contiguous :: array1(:)
914 real(RKG) , intent(in), contiguous :: array2(:)
915 logical(LK) :: compares
916 end function
917#endif
918
919#if RK4_ENABLED
920 pure module function islle_D1_D1_RK4(array1, array2) result(compares)
921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
922 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_RK4
923#endif
924 use pm_kind, only: LK, RKG => RK4
925 real(RKG) , intent(in), contiguous :: array1(:)
926 real(RKG) , intent(in), contiguous :: array2(:)
927 logical(LK) :: compares
928 end function
929#endif
930
931#if RK3_ENABLED
932 pure module function islle_D1_D1_RK3(array1, array2) result(compares)
933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
934 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_RK3
935#endif
936 use pm_kind, only: LK, RKG => RK3
937 real(RKG) , intent(in), contiguous :: array1(:)
938 real(RKG) , intent(in), contiguous :: array2(:)
939 logical(LK) :: compares
940 end function
941#endif
942
943#if RK2_ENABLED
944 pure module function islle_D1_D1_RK2(array1, array2) result(compares)
945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
946 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_RK2
947#endif
948 use pm_kind, only: LK, RKG => RK2
949 real(RKG) , intent(in), contiguous :: array1(:)
950 real(RKG) , intent(in), contiguous :: array2(:)
951 logical(LK) :: compares
952 end function
953#endif
954
955#if RK1_ENABLED
956 pure module function islle_D1_D1_RK1(array1, array2) result(compares)
957#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
958 !DEC$ ATTRIBUTES DLLEXPORT :: islle_D1_D1_RK1
959#endif
960 use pm_kind, only: LK, RKG => RK1
961 real(RKG) , intent(in), contiguous :: array1(:)
962 real(RKG) , intent(in), contiguous :: array2(:)
963 logical(LK) :: compares
964 end function
965#endif
966
967 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
968
969 end interface
970
971!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
972
1039 interface operator(.lge.)
1040
1041 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1042
1043#if SK5_ENABLED
1044 pure module function islge_D0_D0_SK5(array1, array2) result(compares)
1045#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1046 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D0_D0_SK5
1047#endif
1048 use pm_kind, only: LK, SKG => SK5
1049 character(*,SKG), intent(in) :: array1
1050 character(*,SKG), intent(in) :: array2
1051 logical(LK) :: compares
1052 end function
1053#endif
1054
1055#if SK4_ENABLED
1056 pure module function islge_D0_D0_SK4(array1, array2) result(compares)
1057#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1058 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D0_D0_SK4
1059#endif
1060 use pm_kind, only: LK, SKG => SK4
1061 character(*,SKG), intent(in) :: array1
1062 character(*,SKG), intent(in) :: array2
1063 logical(LK) :: compares
1064 end function
1065#endif
1066
1067#if SK3_ENABLED
1068 pure module function islge_D0_D0_SK3(array1, array2) result(compares)
1069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1070 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D0_D0_SK3
1071#endif
1072 use pm_kind, only: LK, SKG => SK3
1073 character(*,SKG), intent(in) :: array1
1074 character(*,SKG), intent(in) :: array2
1075 logical(LK) :: compares
1076 end function
1077#endif
1078
1079#if SK2_ENABLED
1080 pure module function islge_D0_D0_SK2(array1, array2) result(compares)
1081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1082 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D0_D0_SK2
1083#endif
1084 use pm_kind, only: LK, SKG => SK2
1085 character(*,SKG), intent(in) :: array1
1086 character(*,SKG), intent(in) :: array2
1087 logical(LK) :: compares
1088 end function
1089#endif
1090
1091#if SK1_ENABLED
1092 pure module function islge_D0_D0_SK1(array1, array2) result(compares)
1093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1094 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D0_D0_SK1
1095#endif
1096 use pm_kind, only: LK, SKG => SK1
1097 character(*,SKG), intent(in) :: array1
1098 character(*,SKG), intent(in) :: array2
1099 logical(LK) :: compares
1100 end function
1101#endif
1102
1103 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1104
1105#if SK5_ENABLED
1106 pure module function islge_D1_D1_SK5(array1, array2) result(compares)
1107#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1108 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_SK5
1109#endif
1110 use pm_kind, only: LK, SKG => SK5
1111 character(*,SKG), intent(in), contiguous :: array1(:)
1112 character(*,SKG), intent(in), contiguous :: array2(:)
1113 logical(LK) :: compares
1114 end function
1115#endif
1116
1117#if SK4_ENABLED
1118 pure module function islge_D1_D1_SK4(array1, array2) result(compares)
1119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1120 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_SK4
1121#endif
1122 use pm_kind, only: LK, SKG => SK4
1123 character(*,SKG), intent(in), contiguous :: array1(:)
1124 character(*,SKG), intent(in), contiguous :: array2(:)
1125 logical(LK) :: compares
1126 end function
1127#endif
1128
1129#if SK3_ENABLED
1130 pure module function islge_D1_D1_SK3(array1, array2) result(compares)
1131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1132 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_SK3
1133#endif
1134 use pm_kind, only: LK, SKG => SK3
1135 character(*,SKG), intent(in), contiguous :: array1(:)
1136 character(*,SKG), intent(in), contiguous :: array2(:)
1137 logical(LK) :: compares
1138 end function
1139#endif
1140
1141#if SK2_ENABLED
1142 pure module function islge_D1_D1_SK2(array1, array2) result(compares)
1143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1144 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_SK2
1145#endif
1146 use pm_kind, only: LK, SKG => SK2
1147 character(*,SKG), intent(in), contiguous :: array1(:)
1148 character(*,SKG), intent(in), contiguous :: array2(:)
1149 logical(LK) :: compares
1150 end function
1151#endif
1152
1153#if SK1_ENABLED
1154 pure module function islge_D1_D1_SK1(array1, array2) result(compares)
1155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1156 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_SK1
1157#endif
1158 use pm_kind, only: LK, SKG => SK1
1159 character(*,SKG), intent(in), contiguous :: array1(:)
1160 character(*,SKG), intent(in), contiguous :: array2(:)
1161 logical(LK) :: compares
1162 end function
1163#endif
1164
1165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1166
1167#if IK5_ENABLED
1168 pure module function islge_D1_D1_IK5(array1, array2) result(compares)
1169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1170 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_IK5
1171#endif
1172 use pm_kind, only: LK, IKG => IK5
1173 integer(IKG) , intent(in), contiguous :: array1(:)
1174 integer(IKG) , intent(in), contiguous :: array2(:)
1175 logical(LK) :: compares
1176 end function
1177#endif
1178
1179#if IK4_ENABLED
1180 pure module function islge_D1_D1_IK4(array1, array2) result(compares)
1181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1182 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_IK4
1183#endif
1184 use pm_kind, only: LK, IKG => IK4
1185 integer(IKG) , intent(in), contiguous :: array1(:)
1186 integer(IKG) , intent(in), contiguous :: array2(:)
1187 logical(LK) :: compares
1188 end function
1189#endif
1190
1191#if IK3_ENABLED
1192 pure module function islge_D1_D1_IK3(array1, array2) result(compares)
1193#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1194 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_IK3
1195#endif
1196 use pm_kind, only: LK, IKG => IK3
1197 integer(IKG) , intent(in), contiguous :: array1(:)
1198 integer(IKG) , intent(in), contiguous :: array2(:)
1199 logical(LK) :: compares
1200 end function
1201#endif
1202
1203#if IK2_ENABLED
1204 pure module function islge_D1_D1_IK2(array1, array2) result(compares)
1205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1206 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_IK2
1207#endif
1208 use pm_kind, only: LK, IKG => IK2
1209 integer(IKG) , intent(in), contiguous :: array1(:)
1210 integer(IKG) , intent(in), contiguous :: array2(:)
1211 logical(LK) :: compares
1212 end function
1213#endif
1214
1215#if IK1_ENABLED
1216 pure module function islge_D1_D1_IK1(array1, array2) result(compares)
1217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1218 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_IK1
1219#endif
1220 use pm_kind, only: LK, IKG => IK1
1221 integer(IKG) , intent(in), contiguous :: array1(:)
1222 integer(IKG) , intent(in), contiguous :: array2(:)
1223 logical(LK) :: compares
1224 end function
1225#endif
1226
1227 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1228
1229#if LK5_ENABLED
1230 pure module function islge_D1_D1_LK5(array1, array2) result(compares)
1231#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1232 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_LK5
1233#endif
1234 use pm_kind, only: LK, LKG => LK5
1235 logical(LKG) , intent(in), contiguous :: array1(:)
1236 logical(LKG) , intent(in), contiguous :: array2(:)
1237 logical(LK) :: compares
1238 end function
1239#endif
1240
1241#if LK4_ENABLED
1242 pure module function islge_D1_D1_LK4(array1, array2) result(compares)
1243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1244 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_LK4
1245#endif
1246 use pm_kind, only: LK, LKG => LK4
1247 logical(LKG) , intent(in), contiguous :: array1(:)
1248 logical(LKG) , intent(in), contiguous :: array2(:)
1249 logical(LK) :: compares
1250 end function
1251#endif
1252
1253#if LK3_ENABLED
1254 pure module function islge_D1_D1_LK3(array1, array2) result(compares)
1255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1256 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_LK3
1257#endif
1258 use pm_kind, only: LK, LKG => LK3
1259 logical(LKG) , intent(in), contiguous :: array1(:)
1260 logical(LKG) , intent(in), contiguous :: array2(:)
1261 logical(LK) :: compares
1262 end function
1263#endif
1264
1265#if LK2_ENABLED
1266 pure module function islge_D1_D1_LK2(array1, array2) result(compares)
1267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1268 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_LK2
1269#endif
1270 use pm_kind, only: LK, LKG => LK2
1271 logical(LKG) , intent(in), contiguous :: array1(:)
1272 logical(LKG) , intent(in), contiguous :: array2(:)
1273 logical(LK) :: compares
1274 end function
1275#endif
1276
1277#if LK1_ENABLED
1278 pure module function islge_D1_D1_LK1(array1, array2) result(compares)
1279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1280 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_LK1
1281#endif
1282 use pm_kind, only: LK, LKG => LK1
1283 logical(LKG) , intent(in), contiguous :: array1(:)
1284 logical(LKG) , intent(in), contiguous :: array2(:)
1285 logical(LK) :: compares
1286 end function
1287#endif
1288
1289 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1290
1291#if CK5_ENABLED
1292 pure module function islge_D1_D1_CK5(array1, array2) result(compares)
1293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1294 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_CK5
1295#endif
1296 use pm_kind, only: LK, CKG => CK5
1297 complex(CKG) , intent(in), contiguous :: array1(:)
1298 complex(CKG) , intent(in), contiguous :: array2(:)
1299 logical(LK) :: compares
1300 end function
1301#endif
1302
1303#if CK4_ENABLED
1304 pure module function islge_D1_D1_CK4(array1, array2) result(compares)
1305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1306 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_CK4
1307#endif
1308 use pm_kind, only: LK, CKG => CK4
1309 complex(CKG) , intent(in), contiguous :: array1(:)
1310 complex(CKG) , intent(in), contiguous :: array2(:)
1311 logical(LK) :: compares
1312 end function
1313#endif
1314
1315#if CK3_ENABLED
1316 pure module function islge_D1_D1_CK3(array1, array2) result(compares)
1317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1318 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_CK3
1319#endif
1320 use pm_kind, only: LK, CKG => CK3
1321 complex(CKG) , intent(in), contiguous :: array1(:)
1322 complex(CKG) , intent(in), contiguous :: array2(:)
1323 logical(LK) :: compares
1324 end function
1325#endif
1326
1327#if CK2_ENABLED
1328 pure module function islge_D1_D1_CK2(array1, array2) result(compares)
1329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1330 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_CK2
1331#endif
1332 use pm_kind, only: LK, CKG => CK2
1333 complex(CKG) , intent(in), contiguous :: array1(:)
1334 complex(CKG) , intent(in), contiguous :: array2(:)
1335 logical(LK) :: compares
1336 end function
1337#endif
1338
1339#if CK1_ENABLED
1340 pure module function islge_D1_D1_CK1(array1, array2) result(compares)
1341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1342 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_CK1
1343#endif
1344 use pm_kind, only: LK, CKG => CK1
1345 complex(CKG) , intent(in), contiguous :: array1(:)
1346 complex(CKG) , intent(in), contiguous :: array2(:)
1347 logical(LK) :: compares
1348 end function
1349#endif
1350
1351 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1352
1353#if RK5_ENABLED
1354 pure module function islge_D1_D1_RK5(array1, array2) result(compares)
1355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1356 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_RK5
1357#endif
1358 use pm_kind, only: LK, RKG => RK5
1359 real(RKG) , intent(in), contiguous :: array1(:)
1360 real(RKG) , intent(in), contiguous :: array2(:)
1361 logical(LK) :: compares
1362 end function
1363#endif
1364
1365#if RK4_ENABLED
1366 pure module function islge_D1_D1_RK4(array1, array2) result(compares)
1367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1368 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_RK4
1369#endif
1370 use pm_kind, only: LK, RKG => RK4
1371 real(RKG) , intent(in), contiguous :: array1(:)
1372 real(RKG) , intent(in), contiguous :: array2(:)
1373 logical(LK) :: compares
1374 end function
1375#endif
1376
1377#if RK3_ENABLED
1378 pure module function islge_D1_D1_RK3(array1, array2) result(compares)
1379#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1380 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_RK3
1381#endif
1382 use pm_kind, only: LK, RKG => RK3
1383 real(RKG) , intent(in), contiguous :: array1(:)
1384 real(RKG) , intent(in), contiguous :: array2(:)
1385 logical(LK) :: compares
1386 end function
1387#endif
1388
1389#if RK2_ENABLED
1390 pure module function islge_D1_D1_RK2(array1, array2) result(compares)
1391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1392 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_RK2
1393#endif
1394 use pm_kind, only: LK, RKG => RK2
1395 real(RKG) , intent(in), contiguous :: array1(:)
1396 real(RKG) , intent(in), contiguous :: array2(:)
1397 logical(LK) :: compares
1398 end function
1399#endif
1400
1401#if RK1_ENABLED
1402 pure module function islge_D1_D1_RK1(array1, array2) result(compares)
1403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1404 !DEC$ ATTRIBUTES DLLEXPORT :: islge_D1_D1_RK1
1405#endif
1406 use pm_kind, only: LK, RKG => RK1
1407 real(RKG) , intent(in), contiguous :: array1(:)
1408 real(RKG) , intent(in), contiguous :: array2(:)
1409 logical(LK) :: compares
1410 end function
1411#endif
1412
1413 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1414
1415 end interface
1416
1417!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1418
1485 interface operator(.lgt.)
1486
1487 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1488
1489#if SK5_ENABLED
1490 pure module function islgt_D0_D0_SK5(array1, array2) result(compares)
1491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1492 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D0_D0_SK5
1493#endif
1494 use pm_kind, only: LK, SKG => SK5
1495 character(*,SKG), intent(in) :: array1
1496 character(*,SKG), intent(in) :: array2
1497 logical(LK) :: compares
1498 end function
1499#endif
1500
1501#if SK4_ENABLED
1502 pure module function islgt_D0_D0_SK4(array1, array2) result(compares)
1503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1504 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D0_D0_SK4
1505#endif
1506 use pm_kind, only: LK, SKG => SK4
1507 character(*,SKG), intent(in) :: array1
1508 character(*,SKG), intent(in) :: array2
1509 logical(LK) :: compares
1510 end function
1511#endif
1512
1513#if SK3_ENABLED
1514 pure module function islgt_D0_D0_SK3(array1, array2) result(compares)
1515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1516 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D0_D0_SK3
1517#endif
1518 use pm_kind, only: LK, SKG => SK3
1519 character(*,SKG), intent(in) :: array1
1520 character(*,SKG), intent(in) :: array2
1521 logical(LK) :: compares
1522 end function
1523#endif
1524
1525#if SK2_ENABLED
1526 pure module function islgt_D0_D0_SK2(array1, array2) result(compares)
1527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1528 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D0_D0_SK2
1529#endif
1530 use pm_kind, only: LK, SKG => SK2
1531 character(*,SKG), intent(in) :: array1
1532 character(*,SKG), intent(in) :: array2
1533 logical(LK) :: compares
1534 end function
1535#endif
1536
1537#if SK1_ENABLED
1538 pure module function islgt_D0_D0_SK1(array1, array2) result(compares)
1539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1540 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D0_D0_SK1
1541#endif
1542 use pm_kind, only: LK, SKG => SK1
1543 character(*,SKG), intent(in) :: array1
1544 character(*,SKG), intent(in) :: array2
1545 logical(LK) :: compares
1546 end function
1547#endif
1548
1549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1550
1551#if SK5_ENABLED
1552 pure module function islgt_D1_D1_SK5(array1, array2) result(compares)
1553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1554 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_SK5
1555#endif
1556 use pm_kind, only: LK, SKG => SK5
1557 character(*,SKG), intent(in), contiguous :: array1(:)
1558 character(*,SKG), intent(in), contiguous :: array2(:)
1559 logical(LK) :: compares
1560 end function
1561#endif
1562
1563#if SK4_ENABLED
1564 pure module function islgt_D1_D1_SK4(array1, array2) result(compares)
1565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1566 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_SK4
1567#endif
1568 use pm_kind, only: LK, SKG => SK4
1569 character(*,SKG), intent(in), contiguous :: array1(:)
1570 character(*,SKG), intent(in), contiguous :: array2(:)
1571 logical(LK) :: compares
1572 end function
1573#endif
1574
1575#if SK3_ENABLED
1576 pure module function islgt_D1_D1_SK3(array1, array2) result(compares)
1577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1578 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_SK3
1579#endif
1580 use pm_kind, only: LK, SKG => SK3
1581 character(*,SKG), intent(in), contiguous :: array1(:)
1582 character(*,SKG), intent(in), contiguous :: array2(:)
1583 logical(LK) :: compares
1584 end function
1585#endif
1586
1587#if SK2_ENABLED
1588 pure module function islgt_D1_D1_SK2(array1, array2) result(compares)
1589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1590 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_SK2
1591#endif
1592 use pm_kind, only: LK, SKG => SK2
1593 character(*,SKG), intent(in), contiguous :: array1(:)
1594 character(*,SKG), intent(in), contiguous :: array2(:)
1595 logical(LK) :: compares
1596 end function
1597#endif
1598
1599#if SK1_ENABLED
1600 pure module function islgt_D1_D1_SK1(array1, array2) result(compares)
1601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1602 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_SK1
1603#endif
1604 use pm_kind, only: LK, SKG => SK1
1605 character(*,SKG), intent(in), contiguous :: array1(:)
1606 character(*,SKG), intent(in), contiguous :: array2(:)
1607 logical(LK) :: compares
1608 end function
1609#endif
1610
1611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1612
1613#if IK5_ENABLED
1614 pure module function islgt_D1_D1_IK5(array1, array2) result(compares)
1615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1616 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_IK5
1617#endif
1618 use pm_kind, only: LK, IKG => IK5
1619 integer(IKG) , intent(in), contiguous :: array1(:)
1620 integer(IKG) , intent(in), contiguous :: array2(:)
1621 logical(LK) :: compares
1622 end function
1623#endif
1624
1625#if IK4_ENABLED
1626 pure module function islgt_D1_D1_IK4(array1, array2) result(compares)
1627#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1628 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_IK4
1629#endif
1630 use pm_kind, only: LK, IKG => IK4
1631 integer(IKG) , intent(in), contiguous :: array1(:)
1632 integer(IKG) , intent(in), contiguous :: array2(:)
1633 logical(LK) :: compares
1634 end function
1635#endif
1636
1637#if IK3_ENABLED
1638 pure module function islgt_D1_D1_IK3(array1, array2) result(compares)
1639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1640 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_IK3
1641#endif
1642 use pm_kind, only: LK, IKG => IK3
1643 integer(IKG) , intent(in), contiguous :: array1(:)
1644 integer(IKG) , intent(in), contiguous :: array2(:)
1645 logical(LK) :: compares
1646 end function
1647#endif
1648
1649#if IK2_ENABLED
1650 pure module function islgt_D1_D1_IK2(array1, array2) result(compares)
1651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1652 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_IK2
1653#endif
1654 use pm_kind, only: LK, IKG => IK2
1655 integer(IKG) , intent(in), contiguous :: array1(:)
1656 integer(IKG) , intent(in), contiguous :: array2(:)
1657 logical(LK) :: compares
1658 end function
1659#endif
1660
1661#if IK1_ENABLED
1662 pure module function islgt_D1_D1_IK1(array1, array2) result(compares)
1663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1664 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_IK1
1665#endif
1666 use pm_kind, only: LK, IKG => IK1
1667 integer(IKG) , intent(in), contiguous :: array1(:)
1668 integer(IKG) , intent(in), contiguous :: array2(:)
1669 logical(LK) :: compares
1670 end function
1671#endif
1672
1673 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1674
1675#if LK5_ENABLED
1676 pure module function islgt_D1_D1_LK5(array1, array2) result(compares)
1677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1678 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_LK5
1679#endif
1680 use pm_kind, only: LK, LKG => LK5
1681 logical(LKG) , intent(in), contiguous :: array1(:)
1682 logical(LKG) , intent(in), contiguous :: array2(:)
1683 logical(LK) :: compares
1684 end function
1685#endif
1686
1687#if LK4_ENABLED
1688 pure module function islgt_D1_D1_LK4(array1, array2) result(compares)
1689#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1690 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_LK4
1691#endif
1692 use pm_kind, only: LK, LKG => LK4
1693 logical(LKG) , intent(in), contiguous :: array1(:)
1694 logical(LKG) , intent(in), contiguous :: array2(:)
1695 logical(LK) :: compares
1696 end function
1697#endif
1698
1699#if LK3_ENABLED
1700 pure module function islgt_D1_D1_LK3(array1, array2) result(compares)
1701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1702 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_LK3
1703#endif
1704 use pm_kind, only: LK, LKG => LK3
1705 logical(LKG) , intent(in), contiguous :: array1(:)
1706 logical(LKG) , intent(in), contiguous :: array2(:)
1707 logical(LK) :: compares
1708 end function
1709#endif
1710
1711#if LK2_ENABLED
1712 pure module function islgt_D1_D1_LK2(array1, array2) result(compares)
1713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1714 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_LK2
1715#endif
1716 use pm_kind, only: LK, LKG => LK2
1717 logical(LKG) , intent(in), contiguous :: array1(:)
1718 logical(LKG) , intent(in), contiguous :: array2(:)
1719 logical(LK) :: compares
1720 end function
1721#endif
1722
1723#if LK1_ENABLED
1724 pure module function islgt_D1_D1_LK1(array1, array2) result(compares)
1725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1726 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_LK1
1727#endif
1728 use pm_kind, only: LK, LKG => LK1
1729 logical(LKG) , intent(in), contiguous :: array1(:)
1730 logical(LKG) , intent(in), contiguous :: array2(:)
1731 logical(LK) :: compares
1732 end function
1733#endif
1734
1735 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1736
1737#if CK5_ENABLED
1738 pure module function islgt_D1_D1_CK5(array1, array2) result(compares)
1739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1740 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_CK5
1741#endif
1742 use pm_kind, only: LK, CKG => CK5
1743 complex(CKG) , intent(in), contiguous :: array1(:)
1744 complex(CKG) , intent(in), contiguous :: array2(:)
1745 logical(LK) :: compares
1746 end function
1747#endif
1748
1749#if CK4_ENABLED
1750 pure module function islgt_D1_D1_CK4(array1, array2) result(compares)
1751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1752 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_CK4
1753#endif
1754 use pm_kind, only: LK, CKG => CK4
1755 complex(CKG) , intent(in), contiguous :: array1(:)
1756 complex(CKG) , intent(in), contiguous :: array2(:)
1757 logical(LK) :: compares
1758 end function
1759#endif
1760
1761#if CK3_ENABLED
1762 pure module function islgt_D1_D1_CK3(array1, array2) result(compares)
1763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1764 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_CK3
1765#endif
1766 use pm_kind, only: LK, CKG => CK3
1767 complex(CKG) , intent(in), contiguous :: array1(:)
1768 complex(CKG) , intent(in), contiguous :: array2(:)
1769 logical(LK) :: compares
1770 end function
1771#endif
1772
1773#if CK2_ENABLED
1774 pure module function islgt_D1_D1_CK2(array1, array2) result(compares)
1775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1776 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_CK2
1777#endif
1778 use pm_kind, only: LK, CKG => CK2
1779 complex(CKG) , intent(in), contiguous :: array1(:)
1780 complex(CKG) , intent(in), contiguous :: array2(:)
1781 logical(LK) :: compares
1782 end function
1783#endif
1784
1785#if CK1_ENABLED
1786 pure module function islgt_D1_D1_CK1(array1, array2) result(compares)
1787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1788 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_CK1
1789#endif
1790 use pm_kind, only: LK, CKG => CK1
1791 complex(CKG) , intent(in), contiguous :: array1(:)
1792 complex(CKG) , intent(in), contiguous :: array2(:)
1793 logical(LK) :: compares
1794 end function
1795#endif
1796
1797 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1798
1799#if RK5_ENABLED
1800 pure module function islgt_D1_D1_RK5(array1, array2) result(compares)
1801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1802 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_RK5
1803#endif
1804 use pm_kind, only: LK, RKG => RK5
1805 real(RKG) , intent(in), contiguous :: array1(:)
1806 real(RKG) , intent(in), contiguous :: array2(:)
1807 logical(LK) :: compares
1808 end function
1809#endif
1810
1811#if RK4_ENABLED
1812 pure module function islgt_D1_D1_RK4(array1, array2) result(compares)
1813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1814 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_RK4
1815#endif
1816 use pm_kind, only: LK, RKG => RK4
1817 real(RKG) , intent(in), contiguous :: array1(:)
1818 real(RKG) , intent(in), contiguous :: array2(:)
1819 logical(LK) :: compares
1820 end function
1821#endif
1822
1823#if RK3_ENABLED
1824 pure module function islgt_D1_D1_RK3(array1, array2) result(compares)
1825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1826 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_RK3
1827#endif
1828 use pm_kind, only: LK, RKG => RK3
1829 real(RKG) , intent(in), contiguous :: array1(:)
1830 real(RKG) , intent(in), contiguous :: array2(:)
1831 logical(LK) :: compares
1832 end function
1833#endif
1834
1835#if RK2_ENABLED
1836 pure module function islgt_D1_D1_RK2(array1, array2) result(compares)
1837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1838 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_RK2
1839#endif
1840 use pm_kind, only: LK, RKG => RK2
1841 real(RKG) , intent(in), contiguous :: array1(:)
1842 real(RKG) , intent(in), contiguous :: array2(:)
1843 logical(LK) :: compares
1844 end function
1845#endif
1846
1847#if RK1_ENABLED
1848 pure module function islgt_D1_D1_RK1(array1, array2) result(compares)
1849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1850 !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D1_D1_RK1
1851#endif
1852 use pm_kind, only: LK, RKG => RK1
1853 real(RKG) , intent(in), contiguous :: array1(:)
1854 real(RKG) , intent(in), contiguous :: array2(:)
1855 logical(LK) :: compares
1856 end function
1857#endif
1858
1859 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1860
1861 end interface
1862
1863!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1864
1865! \brief
1866! \anchor pm_arrayCompareLex_islgt
1867! Generate and return the result of the lexicographic comparison of two
1868! input objects of the same type, kind, and rank using the `>` operator.
1869!
1870! \details
1871! For more information about the lexicographic comparisons defined in this generic procedure, in particular,
1872! in the context of `complex` and `logical` arrays, see the detailed description of [pm_arrayCompareLex](@ref pm_arrayCompareLex).
1873!
1874! \param[in] array1 : The input `contiguous` **array of rank `1`** of either<br>
1875! <ul>
1876! <li> type `character` of kind \SKALL or, <br>
1877! <li> type `integer` of kind \IKALL or, <br>
1878! <li> type `logical` of kind \LKALL or, <br>
1879! <li> type `complex` of kind \CKALL or, <br>
1880! <li> type `real` of kind \RKALL or, <br>
1881! </ul>
1882! or,
1883! <ul>
1884! <li> a **scalar assumed-length** `character` of kind \SKALL, <br>
1885! </ul>
1886! whose contents will be lexicographically compared with the contents of `array2`.
1887! \param[in] array2 : The input of the same type, kind, and rank as `array1`.
1888!
1889! \return
1890! `compares` : The output scalar of type `logical` of default kind \LK containing the
1891! result of the lexical comparison of the values of the two input objects.
1892!
1893! \interface{lgt}
1894! \code{.F90}
1895!
1896! use pm_kind, only: LK
1897! use pm_arrayCompareLex, only: operator(.lgt.)
1898! logical(LK) :: compares
1899!
1900! compares = array1 .lgt. array2
1901!
1902! \endcode
1903!
1904! \remark
1905! The generic interface name `islct` stands for **lexically greater than**.
1906!
1907! \pure
1908!
1909! \see
1910! [operator(.llt.)](@ref pm_arrayCompareLex_isllt)<br>
1911! [operator(.lle.)](@ref pm_arrayCompareLex_islle)<br>
1912! [operator(.lge.)](@ref pm_arrayCompareLex_islge)<br>
1913! [operator(.lgt.)](@ref pm_arrayCompareLex_islgt)<br>
1914!
1915! \example{lgt}
1916! \include{lineno} example/pm_arrayCompareLex/lgt/main.F90
1917! \compile
1918! \output
1919! \include{lineno} example/pm_arrayCompareLex/lgt/main.out.F90
1920!
1921! \test
1922! [test_pm_arrayCompareLex](@ref test_pm_arrayCompareLex)
1923!
1924! \todo
1925! \pvlow The functionality of this generic interface should be extended to input container arguments, also to arrays of higher ranks.
1926!
1927! \final
1928!
1929! \author
1930! Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1931! interface islct
1932!
1933! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1934!
1935! pure module function islct_UP(array1, array2, iscomparable) result(compares)
1936!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1937! !DEC$ ATTRIBUTES DLLEXPORT :: islgt_D0_D0_SK
1938!#endif
1939! use pm_kind, only: LK, SK
1940! class(*) , intent(in), contiguous :: array1
1941! class(*) , intent(in), contiguous :: array2
1942! procedure(logical(LK)) :: istrue
1943! logical(LK) :: compares
1944! end function
1945!
1946! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1947!
1948! end interface
1949
1950!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1951
1952end module pm_arrayCompareLex ! LCOV_EXCL_LINE
This module contains procedures and generic interfaces for performing lexicographic comparisons of tw...
character(*, SK), parameter MODULE_NAME
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
integer, parameter SK3
Definition: pm_kind.F90:336