ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_complexCompareAny.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
32
33!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34
36
37 use pm_kind, only: LK, SK
38 implicit none
39
40 character(*,SK), parameter :: MODULE_NAME = "@pm_complexCompareAny"
41
42!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43
91 interface operator(<)
92
93 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94
95#if CK5_ENABLED
96 pure elemental module function isanyless_CK5(val1, val2) result(compares)
97#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
98 !DEC$ ATTRIBUTES DLLEXPORT :: isanyless_CK5
99#endif
100 use pm_kind, only: CKG => CK5
101 complex(CKG), intent(in) :: val1, val2
102 logical(LK) :: compares
103 end function
104#endif
105
106#if CK4_ENABLED
107 pure elemental module function isanyless_CK4(val1, val2) result(compares)
108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
109 !DEC$ ATTRIBUTES DLLEXPORT :: isanyless_CK4
110#endif
111 use pm_kind, only: CKG => CK4
112 complex(CKG), intent(in) :: val1, val2
113 logical(LK) :: compares
114 end function
115#endif
116
117#if CK3_ENABLED
118 pure elemental module function isanyless_CK3(val1, val2) result(compares)
119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
120 !DEC$ ATTRIBUTES DLLEXPORT :: isanyless_CK3
121#endif
122 use pm_kind, only: CKG => CK3
123 complex(CKG), intent(in) :: val1, val2
124 logical(LK) :: compares
125 end function
126#endif
127
128#if CK2_ENABLED
129 pure elemental module function isanyless_CK2(val1, val2) result(compares)
130#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
131 !DEC$ ATTRIBUTES DLLEXPORT :: isanyless_CK2
132#endif
133 use pm_kind, only: CKG => CK2
134 complex(CKG), intent(in) :: val1, val2
135 logical(LK) :: compares
136 end function
137#endif
138
139#if CK1_ENABLED
140 pure elemental module function isanyless_CK1(val1, val2) result(compares)
141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
142 !DEC$ ATTRIBUTES DLLEXPORT :: isanyless_CK1
143#endif
144 use pm_kind, only: CKG => CK1
145 complex(CKG), intent(in) :: val1, val2
146 logical(LK) :: compares
147 end function
148#endif
149
150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151
152 end interface
153
154!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155
204 interface operator(<=)
205
206 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207
208#if CK5_ENABLED
209 pure elemental module function isanyleq_CK5(val1, val2) result(compares)
210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
211 !DEC$ ATTRIBUTES DLLEXPORT :: isanyleq_CK5
212#endif
213 use pm_kind, only: CKG => CK5
214 complex(CKG), intent(in) :: val1, val2
215 logical(LK) :: compares
216 end function
217#endif
218
219#if CK4_ENABLED
220 pure elemental module function isanyleq_CK4(val1, val2) result(compares)
221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
222 !DEC$ ATTRIBUTES DLLEXPORT :: isanyleq_CK4
223#endif
224 use pm_kind, only: CKG => CK4
225 complex(CKG), intent(in) :: val1, val2
226 logical(LK) :: compares
227 end function
228#endif
229
230#if CK3_ENABLED
231 pure elemental module function isanyleq_CK3(val1, val2) result(compares)
232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
233 !DEC$ ATTRIBUTES DLLEXPORT :: isanyleq_CK3
234#endif
235 use pm_kind, only: CKG => CK3
236 complex(CKG), intent(in) :: val1, val2
237 logical(LK) :: compares
238 end function
239#endif
240
241#if CK2_ENABLED
242 pure elemental module function isanyleq_CK2(val1, val2) result(compares)
243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
244 !DEC$ ATTRIBUTES DLLEXPORT :: isanyleq_CK2
245#endif
246 use pm_kind, only: CKG => CK2
247 complex(CKG), intent(in) :: val1, val2
248 logical(LK) :: compares
249 end function
250#endif
251
252#if CK1_ENABLED
253 pure elemental module function isanyleq_CK1(val1, val2) result(compares)
254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
255 !DEC$ ATTRIBUTES DLLEXPORT :: isanyleq_CK1
256#endif
257 use pm_kind, only: CKG => CK1
258 complex(CKG), intent(in) :: val1, val2
259 logical(LK) :: compares
260 end function
261#endif
262
263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264
265 end interface
266
267!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
268
317 interface operator(.anyeq.)
318
319 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320
321#if CK5_ENABLED
322 pure elemental module function isanyeq_CK5(val1, val2) result(compares)
323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
324 !DEC$ ATTRIBUTES DLLEXPORT :: isanyeq_CK5
325#endif
326 use pm_kind, only: CKG => CK5
327 complex(CKG), intent(in) :: val1, val2
328 logical(LK) :: compares
329 end function
330#endif
331
332#if CK4_ENABLED
333 pure elemental module function isanyeq_CK4(val1, val2) result(compares)
334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
335 !DEC$ ATTRIBUTES DLLEXPORT :: isanyeq_CK4
336#endif
337 use pm_kind, only: CKG => CK4
338 complex(CKG), intent(in) :: val1, val2
339 logical(LK) :: compares
340 end function
341#endif
342
343#if CK3_ENABLED
344 pure elemental module function isanyeq_CK3(val1, val2) result(compares)
345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
346 !DEC$ ATTRIBUTES DLLEXPORT :: isanyeq_CK3
347#endif
348 use pm_kind, only: CKG => CK3
349 complex(CKG), intent(in) :: val1, val2
350 logical(LK) :: compares
351 end function
352#endif
353
354#if CK2_ENABLED
355 pure elemental module function isanyeq_CK2(val1, val2) result(compares)
356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
357 !DEC$ ATTRIBUTES DLLEXPORT :: isanyeq_CK2
358#endif
359 use pm_kind, only: CKG => CK2
360 complex(CKG), intent(in) :: val1, val2
361 logical(LK) :: compares
362 end function
363#endif
364
365#if CK1_ENABLED
366 pure elemental module function isanyeq_CK1(val1, val2) result(compares)
367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
368 !DEC$ ATTRIBUTES DLLEXPORT :: isanyeq_CK1
369#endif
370 use pm_kind, only: CKG => CK1
371 complex(CKG), intent(in) :: val1, val2
372 logical(LK) :: compares
373 end function
374#endif
375
376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
377
378 end interface
379
380!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
381
434 interface operator(.anyneq.)
435
436 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
437
438#if CK5_ENABLED
439 pure elemental module function isanyneq_CK5(val1, val2) result(compares)
440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
441 !DEC$ ATTRIBUTES DLLEXPORT :: isanyneq_CK5
442#endif
443 use pm_kind, only: CKG => CK5
444 complex(CKG), intent(in) :: val1, val2
445 logical(LK) :: compares
446 end function
447#endif
448
449#if CK4_ENABLED
450 pure elemental module function isanyneq_CK4(val1, val2) result(compares)
451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
452 !DEC$ ATTRIBUTES DLLEXPORT :: isanyneq_CK4
453#endif
454 use pm_kind, only: CKG => CK4
455 complex(CKG), intent(in) :: val1, val2
456 logical(LK) :: compares
457 end function
458#endif
459
460#if CK3_ENABLED
461 pure elemental module function isanyneq_CK3(val1, val2) result(compares)
462#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
463 !DEC$ ATTRIBUTES DLLEXPORT :: isanyneq_CK3
464#endif
465 use pm_kind, only: CKG => CK3
466 complex(CKG), intent(in) :: val1, val2
467 logical(LK) :: compares
468 end function
469#endif
470
471#if CK2_ENABLED
472 pure elemental module function isanyneq_CK2(val1, val2) result(compares)
473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
474 !DEC$ ATTRIBUTES DLLEXPORT :: isanyneq_CK2
475#endif
476 use pm_kind, only: CKG => CK2
477 complex(CKG), intent(in) :: val1, val2
478 logical(LK) :: compares
479 end function
480#endif
481
482#if CK1_ENABLED
483 pure elemental module function isanyneq_CK1(val1, val2) result(compares)
484#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
485 !DEC$ ATTRIBUTES DLLEXPORT :: isanyneq_CK1
486#endif
487 use pm_kind, only: CKG => CK1
488 complex(CKG), intent(in) :: val1, val2
489 logical(LK) :: compares
490 end function
491#endif
492
493 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
494
495 end interface
496
497!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
498
547 interface operator(>=)
548
549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
550
551#if CK5_ENABLED
552 pure elemental module function isanymeq_CK5(val1, val2) result(compares)
553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
554 !DEC$ ATTRIBUTES DLLEXPORT :: isanymeq_CK5
555#endif
556 use pm_kind, only: CKG => CK5
557 complex(CKG), intent(in) :: val1, val2
558 logical(LK) :: compares
559 end function
560#endif
561
562#if CK4_ENABLED
563 pure elemental module function isanymeq_CK4(val1, val2) result(compares)
564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
565 !DEC$ ATTRIBUTES DLLEXPORT :: isanymeq_CK4
566#endif
567 use pm_kind, only: CKG => CK4
568 complex(CKG), intent(in) :: val1, val2
569 logical(LK) :: compares
570 end function
571#endif
572
573#if CK3_ENABLED
574 pure elemental module function isanymeq_CK3(val1, val2) result(compares)
575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
576 !DEC$ ATTRIBUTES DLLEXPORT :: isanymeq_CK3
577#endif
578 use pm_kind, only: CKG => CK3
579 complex(CKG), intent(in) :: val1, val2
580 logical(LK) :: compares
581 end function
582#endif
583
584#if CK2_ENABLED
585 pure elemental module function isanymeq_CK2(val1, val2) result(compares)
586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
587 !DEC$ ATTRIBUTES DLLEXPORT :: isanymeq_CK2
588#endif
589 use pm_kind, only: CKG => CK2
590 complex(CKG), intent(in) :: val1, val2
591 logical(LK) :: compares
592 end function
593#endif
594
595#if CK1_ENABLED
596 pure elemental module function isanymeq_CK1(val1, val2) result(compares)
597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
598 !DEC$ ATTRIBUTES DLLEXPORT :: isanymeq_CK1
599#endif
600 use pm_kind, only: CKG => CK1
601 complex(CKG), intent(in) :: val1, val2
602 logical(LK) :: compares
603 end function
604#endif
605
606 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607
608 end interface
609
610!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611
660 interface operator(>)
661
662 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663
664#if CK5_ENABLED
665 pure elemental module function isanymore_CK5(val1, val2) result(compares)
666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
667 !DEC$ ATTRIBUTES DLLEXPORT :: isanymore_CK5
668#endif
669 use pm_kind, only: CKG => CK5
670 complex(CKG), intent(in) :: val1, val2
671 logical(LK) :: compares
672 end function
673#endif
674
675#if CK4_ENABLED
676 pure elemental module function isanymore_CK4(val1, val2) result(compares)
677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
678 !DEC$ ATTRIBUTES DLLEXPORT :: isanymore_CK4
679#endif
680 use pm_kind, only: CKG => CK4
681 complex(CKG), intent(in) :: val1, val2
682 logical(LK) :: compares
683 end function
684#endif
685
686#if CK3_ENABLED
687 pure elemental module function isanymore_CK3(val1, val2) result(compares)
688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
689 !DEC$ ATTRIBUTES DLLEXPORT :: isanymore_CK3
690#endif
691 use pm_kind, only: CKG => CK3
692 complex(CKG), intent(in) :: val1, val2
693 logical(LK) :: compares
694 end function
695#endif
696
697#if CK2_ENABLED
698 pure elemental module function isanymore_CK2(val1, val2) result(compares)
699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
700 !DEC$ ATTRIBUTES DLLEXPORT :: isanymore_CK2
701#endif
702 use pm_kind, only: CKG => CK2
703 complex(CKG), intent(in) :: val1, val2
704 logical(LK) :: compares
705 end function
706#endif
707
708#if CK1_ENABLED
709 pure elemental module function isanymore_CK1(val1, val2) result(compares)
710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
711 !DEC$ ATTRIBUTES DLLEXPORT :: isanymore_CK1
712#endif
713 use pm_kind, only: CKG => CK1
714 complex(CKG), intent(in) :: val1, val2
715 logical(LK) :: compares
716 end function
717#endif
718
719 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
720
721 end interface
722
723!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
724
725end module pm_complexCompareAny ! LCOV_EXCL_LINE
This module contains procedures and generic interfaces for checking if either of the corresponding re...
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 CK1
Definition: pm_kind.F90:464
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
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