ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_except.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
43
44!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45
47
48 use pm_kind, only: SK, IK, LK
49
50 implicit none
51
52 character(*, SK), parameter :: MODULE_NAME = "@pm_except"
53
54!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55
112 interface isAddOutflow
113
114 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115
116#if IK5_ENABLED
117 pure elemental module function isAddOutflow_IK5(a, b) result(outflow)
118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
119 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_IK5
120#endif
121 use pm_kind, only: IKG => IK5
122 integer(IKG) , intent(in) :: a, b
123 logical(LK) :: outflow
124 end function
125#endif
126
127#if IK4_ENABLED
128 pure elemental module function isAddOutflow_IK4(a, b) result(outflow)
129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
130 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_IK4
131#endif
132 use pm_kind, only: IKG => IK4
133 integer(IKG) , intent(in) :: a, b
134 logical(LK) :: outflow
135 end function
136#endif
137
138#if IK3_ENABLED
139 pure elemental module function isAddOutflow_IK3(a, b) result(outflow)
140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
141 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_IK3
142#endif
143 use pm_kind, only: IKG => IK3
144 integer(IKG) , intent(in) :: a, b
145 logical(LK) :: outflow
146 end function
147#endif
148
149#if IK2_ENABLED
150 pure elemental module function isAddOutflow_IK2(a, b) result(outflow)
151#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
152 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_IK2
153#endif
154 use pm_kind, only: IKG => IK2
155 integer(IKG) , intent(in) :: a, b
156 logical(LK) :: outflow
157 end function
158#endif
159
160#if IK1_ENABLED
161 pure elemental module function isAddOutflow_IK1(a, b) result(outflow)
162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
163 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_IK1
164#endif
165 use pm_kind, only: IKG => IK1
166 integer(IKG) , intent(in) :: a, b
167 logical(LK) :: outflow
168 end function
169#endif
170
171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172
173#if CK5_ENABLED
174 pure elemental module function isAddOutflow_CK5(a, b) result(outflow)
175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
176 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_CK5
177#endif
178 use pm_kind, only: CKG => CK5
179 complex(CKG) , intent(in) :: a, b
180 logical(LK) :: outflow
181 end function
182#endif
183
184#if CK4_ENABLED
185 pure elemental module function isAddOutflow_CK4(a, b) result(outflow)
186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
187 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_CK4
188#endif
189 use pm_kind, only: CKG => CK4
190 complex(CKG) , intent(in) :: a, b
191 logical(LK) :: outflow
192 end function
193#endif
194
195#if CK3_ENABLED
196 pure elemental module function isAddOutflow_CK3(a, b) result(outflow)
197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
198 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_CK3
199#endif
200 use pm_kind, only: CKG => CK3
201 complex(CKG) , intent(in) :: a, b
202 logical(LK) :: outflow
203 end function
204#endif
205
206#if CK2_ENABLED
207 pure elemental module function isAddOutflow_CK2(a, b) result(outflow)
208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
209 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_CK2
210#endif
211 use pm_kind, only: CKG => CK2
212 complex(CKG) , intent(in) :: a, b
213 logical(LK) :: outflow
214 end function
215#endif
216
217#if CK1_ENABLED
218 pure elemental module function isAddOutflow_CK1(a, b) result(outflow)
219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
220 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_CK1
221#endif
222 use pm_kind, only: CKG => CK1
223 complex(CKG) , intent(in) :: a, b
224 logical(LK) :: outflow
225 end function
226#endif
227
228 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229
230#if RK5_ENABLED
231 pure elemental module function isAddOutflow_RK5(a, b) result(outflow)
232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
233 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_RK5
234#endif
235 use pm_kind, only: RKG => RK5
236 real(RKG) , intent(in) :: a, b
237 logical(LK) :: outflow
238 end function
239#endif
240
241#if RK4_ENABLED
242 pure elemental module function isAddOutflow_RK4(a, b) result(outflow)
243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
244 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_RK4
245#endif
246 use pm_kind, only: RKG => RK4
247 real(RKG) , intent(in) :: a, b
248 logical(LK) :: outflow
249 end function
250#endif
251
252#if RK3_ENABLED
253 pure elemental module function isAddOutflow_RK3(a, b) result(outflow)
254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
255 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_RK3
256#endif
257 use pm_kind, only: RKG => RK3
258 real(RKG) , intent(in) :: a, b
259 logical(LK) :: outflow
260 end function
261#endif
262
263#if RK2_ENABLED
264 pure elemental module function isAddOutflow_RK2(a, b) result(outflow)
265#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
266 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_RK2
267#endif
268 use pm_kind, only: RKG => RK2
269 real(RKG) , intent(in) :: a, b
270 logical(LK) :: outflow
271 end function
272#endif
273
274#if RK1_ENABLED
275 pure elemental module function isAddOutflow_RK1(a, b) result(outflow)
276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
277 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflow_RK1
278#endif
279 use pm_kind, only: RKG => RK1
280 real(RKG) , intent(in) :: a, b
281 logical(LK) :: outflow
282 end function
283#endif
284
285 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
286
287 end interface
288
289!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
290
348
349 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
350
351#if IK5_ENABLED
352 pure elemental module function isAddOutflowNeg_IK5(a, b) result(outflow)
353#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
354 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_IK5
355#endif
356 use pm_kind, only: IKG => IK5
357 integer(IKG) , intent(in) :: a, b
358 logical(LK) :: outflow
359 end function
360#endif
361
362#if IK4_ENABLED
363 pure elemental module function isAddOutflowNeg_IK4(a, b) result(outflow)
364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
365 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_IK4
366#endif
367 use pm_kind, only: IKG => IK4
368 integer(IKG) , intent(in) :: a, b
369 logical(LK) :: outflow
370 end function
371#endif
372
373#if IK3_ENABLED
374 pure elemental module function isAddOutflowNeg_IK3(a, b) result(outflow)
375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
376 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_IK3
377#endif
378 use pm_kind, only: IKG => IK3
379 integer(IKG) , intent(in) :: a, b
380 logical(LK) :: outflow
381 end function
382#endif
383
384#if IK2_ENABLED
385 pure elemental module function isAddOutflowNeg_IK2(a, b) result(outflow)
386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
387 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_IK2
388#endif
389 use pm_kind, only: IKG => IK2
390 integer(IKG) , intent(in) :: a, b
391 logical(LK) :: outflow
392 end function
393#endif
394
395#if IK1_ENABLED
396 pure elemental module function isAddOutflowNeg_IK1(a, b) result(outflow)
397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
398 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_IK1
399#endif
400 use pm_kind, only: IKG => IK1
401 integer(IKG) , intent(in) :: a, b
402 logical(LK) :: outflow
403 end function
404#endif
405
406 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
407
408#if CK5_ENABLED
409 pure elemental module function isAddOutflowNeg_CK5(a, b) result(outflow)
410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
411 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_CK5
412#endif
413 use pm_kind, only: CKG => CK5
414 complex(CKG) , intent(in) :: a, b
415 logical(LK) :: outflow
416 end function
417#endif
418
419#if CK4_ENABLED
420 pure elemental module function isAddOutflowNeg_CK4(a, b) result(outflow)
421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
422 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_CK4
423#endif
424 use pm_kind, only: CKG => CK4
425 complex(CKG) , intent(in) :: a, b
426 logical(LK) :: outflow
427 end function
428#endif
429
430#if CK3_ENABLED
431 pure elemental module function isAddOutflowNeg_CK3(a, b) result(outflow)
432#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
433 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_CK3
434#endif
435 use pm_kind, only: CKG => CK3
436 complex(CKG) , intent(in) :: a, b
437 logical(LK) :: outflow
438 end function
439#endif
440
441#if CK2_ENABLED
442 pure elemental module function isAddOutflowNeg_CK2(a, b) result(outflow)
443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
444 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_CK2
445#endif
446 use pm_kind, only: CKG => CK2
447 complex(CKG) , intent(in) :: a, b
448 logical(LK) :: outflow
449 end function
450#endif
451
452#if CK1_ENABLED
453 pure elemental module function isAddOutflowNeg_CK1(a, b) result(outflow)
454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
455 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_CK1
456#endif
457 use pm_kind, only: CKG => CK1
458 complex(CKG) , intent(in) :: a, b
459 logical(LK) :: outflow
460 end function
461#endif
462
463 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
464
465#if RK5_ENABLED
466 pure elemental module function isAddOutflowNeg_RK5(a, b) result(outflow)
467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
468 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_RK5
469#endif
470 use pm_kind, only: RKG => RK5
471 real(RKG) , intent(in) :: a, b
472 logical(LK) :: outflow
473 end function
474#endif
475
476#if RK4_ENABLED
477 pure elemental module function isAddOutflowNeg_RK4(a, b) result(outflow)
478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
479 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_RK4
480#endif
481 use pm_kind, only: RKG => RK4
482 real(RKG) , intent(in) :: a, b
483 logical(LK) :: outflow
484 end function
485#endif
486
487#if RK3_ENABLED
488 pure elemental module function isAddOutflowNeg_RK3(a, b) result(outflow)
489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
490 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_RK3
491#endif
492 use pm_kind, only: RKG => RK3
493 real(RKG) , intent(in) :: a, b
494 logical(LK) :: outflow
495 end function
496#endif
497
498#if RK2_ENABLED
499 pure elemental module function isAddOutflowNeg_RK2(a, b) result(outflow)
500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
501 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_RK2
502#endif
503 use pm_kind, only: RKG => RK2
504 real(RKG) , intent(in) :: a, b
505 logical(LK) :: outflow
506 end function
507#endif
508
509#if RK1_ENABLED
510 pure elemental module function isAddOutflowNeg_RK1(a, b) result(outflow)
511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
512 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowNeg_RK1
513#endif
514 use pm_kind, only: RKG => RK1
515 real(RKG) , intent(in) :: a, b
516 logical(LK) :: outflow
517 end function
518#endif
519
520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
521
522 end interface
523
524!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
525
583
584 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585
586#if IK5_ENABLED
587 pure elemental module function isAddOutflowPos_IK5(a, b) result(outflow)
588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
589 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_IK5
590#endif
591 use pm_kind, only: IKG => IK5
592 integer(IKG) , intent(in) :: a, b
593 logical(LK) :: outflow
594 end function
595#endif
596
597#if IK4_ENABLED
598 pure elemental module function isAddOutflowPos_IK4(a, b) result(outflow)
599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
600 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_IK4
601#endif
602 use pm_kind, only: IKG => IK4
603 integer(IKG) , intent(in) :: a, b
604 logical(LK) :: outflow
605 end function
606#endif
607
608#if IK3_ENABLED
609 pure elemental module function isAddOutflowPos_IK3(a, b) result(outflow)
610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
611 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_IK3
612#endif
613 use pm_kind, only: IKG => IK3
614 integer(IKG) , intent(in) :: a, b
615 logical(LK) :: outflow
616 end function
617#endif
618
619#if IK2_ENABLED
620 pure elemental module function isAddOutflowPos_IK2(a, b) result(outflow)
621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
622 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_IK2
623#endif
624 use pm_kind, only: IKG => IK2
625 integer(IKG) , intent(in) :: a, b
626 logical(LK) :: outflow
627 end function
628#endif
629
630#if IK1_ENABLED
631 pure elemental module function isAddOutflowPos_IK1(a, b) result(outflow)
632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
633 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_IK1
634#endif
635 use pm_kind, only: IKG => IK1
636 integer(IKG) , intent(in) :: a, b
637 logical(LK) :: outflow
638 end function
639#endif
640
641 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
642
643#if CK5_ENABLED
644 pure elemental module function isAddOutflowPos_CK5(a, b) result(outflow)
645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
646 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_CK5
647#endif
648 use pm_kind, only: CKG => CK5
649 complex(CKG) , intent(in) :: a, b
650 logical(LK) :: outflow
651 end function
652#endif
653
654#if CK4_ENABLED
655 pure elemental module function isAddOutflowPos_CK4(a, b) result(outflow)
656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
657 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_CK4
658#endif
659 use pm_kind, only: CKG => CK4
660 complex(CKG) , intent(in) :: a, b
661 logical(LK) :: outflow
662 end function
663#endif
664
665#if CK3_ENABLED
666 pure elemental module function isAddOutflowPos_CK3(a, b) result(outflow)
667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
668 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_CK3
669#endif
670 use pm_kind, only: CKG => CK3
671 complex(CKG) , intent(in) :: a, b
672 logical(LK) :: outflow
673 end function
674#endif
675
676#if CK2_ENABLED
677 pure elemental module function isAddOutflowPos_CK2(a, b) result(outflow)
678#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
679 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_CK2
680#endif
681 use pm_kind, only: CKG => CK2
682 complex(CKG) , intent(in) :: a, b
683 logical(LK) :: outflow
684 end function
685#endif
686
687#if CK1_ENABLED
688 pure elemental module function isAddOutflowPos_CK1(a, b) result(outflow)
689#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
690 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_CK1
691#endif
692 use pm_kind, only: CKG => CK1
693 complex(CKG) , intent(in) :: a, b
694 logical(LK) :: outflow
695 end function
696#endif
697
698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
699
700#if RK5_ENABLED
701 pure elemental module function isAddOutflowPos_RK5(a, b) result(outflow)
702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
703 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_RK5
704#endif
705 use pm_kind, only: RKG => RK5
706 real(RKG) , intent(in) :: a, b
707 logical(LK) :: outflow
708 end function
709#endif
710
711#if RK4_ENABLED
712 pure elemental module function isAddOutflowPos_RK4(a, b) result(outflow)
713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
714 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_RK4
715#endif
716 use pm_kind, only: RKG => RK4
717 real(RKG) , intent(in) :: a, b
718 logical(LK) :: outflow
719 end function
720#endif
721
722#if RK3_ENABLED
723 pure elemental module function isAddOutflowPos_RK3(a, b) result(outflow)
724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
725 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_RK3
726#endif
727 use pm_kind, only: RKG => RK3
728 real(RKG) , intent(in) :: a, b
729 logical(LK) :: outflow
730 end function
731#endif
732
733#if RK2_ENABLED
734 pure elemental module function isAddOutflowPos_RK2(a, b) result(outflow)
735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
736 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_RK2
737#endif
738 use pm_kind, only: RKG => RK2
739 real(RKG) , intent(in) :: a, b
740 logical(LK) :: outflow
741 end function
742#endif
743
744#if RK1_ENABLED
745 pure elemental module function isAddOutflowPos_RK1(a, b) result(outflow)
746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
747 !DEC$ ATTRIBUTES DLLEXPORT :: isAddOutflowPos_RK1
748#endif
749 use pm_kind, only: RKG => RK1
750 real(RKG) , intent(in) :: a, b
751 logical(LK) :: outflow
752 end function
753#endif
754
755 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756
757 end interface
758
759!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760
823 interface isInf
824
825 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
826
827#if RK5_ENABLED
828 pure elemental module function isInf_RK5(x) result(inf)
829#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
830 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_RK5
831#endif
832 use pm_kind, only: LK, RKG => RK5
833 real(RKG) , intent(in) :: x
834 logical(LK) :: inf
835 end function
836#endif
837
838#if RK4_ENABLED
839 pure elemental module function isInf_RK4(x) result(inf)
840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
841 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_RK4
842#endif
843 use pm_kind, only: LK, RKG => RK4
844 real(RKG) , intent(in) :: x
845 logical(LK) :: inf
846 end function
847#endif
848
849#if RK3_ENABLED
850 pure elemental module function isInf_RK3(x) result(inf)
851#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
852 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_RK3
853#endif
854 use pm_kind, only: LK, RKG => RK3
855 real(RKG) , intent(in) :: x
856 logical(LK) :: inf
857 end function
858#endif
859
860#if RK2_ENABLED
861 pure elemental module function isInf_RK2(x) result(inf)
862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
863 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_RK2
864#endif
865 use pm_kind, only: LK, RKG => RK2
866 real(RKG) , intent(in) :: x
867 logical(LK) :: inf
868 end function
869#endif
870
871#if RK1_ENABLED
872 pure elemental module function isInf_RK1(x) result(inf)
873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
874 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_RK1
875#endif
876 use pm_kind, only: LK, RKG => RK1
877 real(RKG) , intent(in) :: x
878 logical(LK) :: inf
879 end function
880#endif
881
882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883
884#if CK5_ENABLED
885 pure elemental module function isInf_CK5(x) result(inf)
886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
887 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_CK5
888#endif
889 use pm_kind, only: LK, CKG => CK5
890 complex(CKG), intent(in) :: x
891 logical(LK) :: inf
892 end function
893#endif
894
895#if CK4_ENABLED
896 pure elemental module function isInf_CK4(x) result(inf)
897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
898 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_CK4
899#endif
900 use pm_kind, only: LK, CKG => CK4
901 complex(CKG), intent(in) :: x
902 logical(LK) :: inf
903 end function
904#endif
905
906#if CK3_ENABLED
907 pure elemental module function isInf_CK3(x) result(inf)
908#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
909 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_CK3
910#endif
911 use pm_kind, only: LK, CKG => CK3
912 complex(CKG), intent(in) :: x
913 logical(LK) :: inf
914 end function
915#endif
916
917#if CK2_ENABLED
918 pure elemental module function isInf_CK2(x) result(inf)
919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
920 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_CK2
921#endif
922 use pm_kind, only: LK, CKG => CK2
923 complex(CKG), intent(in) :: x
924 logical(LK) :: inf
925 end function
926#endif
927
928#if CK1_ENABLED
929 pure elemental module function isInf_CK1(x) result(inf)
930#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
931 !DEC$ ATTRIBUTES DLLEXPORT :: isInf_CK1
932#endif
933 use pm_kind, only: LK, CKG => CK1
934 complex(CKG), intent(in) :: x
935 logical(LK) :: inf
936 end function
937#endif
938
939 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
940
941 end interface
942
943!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
944
1011 interface isInfPos
1012
1013 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1014
1015#if RK5_ENABLED
1016 pure elemental module function isInfPos_RK5(x) result(infPos)
1017#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1018 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_RK5
1019#endif
1020 use pm_kind, only: LK, RKG => RK5
1021 real(RKG) , intent(in) :: x
1022 logical(LK) :: infPos
1023 end function
1024#endif
1025
1026#if RK4_ENABLED
1027 pure elemental module function isInfPos_RK4(x) result(infPos)
1028#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1029 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_RK4
1030#endif
1031 use pm_kind, only: LK, RKG => RK4
1032 real(RKG) , intent(in) :: x
1033 logical(LK) :: infPos
1034 end function
1035#endif
1036
1037#if RK3_ENABLED
1038 pure elemental module function isInfPos_RK3(x) result(infPos)
1039#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1040 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_RK3
1041#endif
1042 use pm_kind, only: LK, RKG => RK3
1043 real(RKG) , intent(in) :: x
1044 logical(LK) :: infPos
1045 end function
1046#endif
1047
1048#if RK2_ENABLED
1049 pure elemental module function isInfPos_RK2(x) result(infPos)
1050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1051 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_RK2
1052#endif
1053 use pm_kind, only: LK, RKG => RK2
1054 real(RKG) , intent(in) :: x
1055 logical(LK) :: infPos
1056 end function
1057#endif
1058
1059#if RK1_ENABLED
1060 pure elemental module function isInfPos_RK1(x) result(infPos)
1061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1062 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_RK1
1063#endif
1064 use pm_kind, only: LK, RKG => RK1
1065 real(RKG) , intent(in) :: x
1066 logical(LK) :: infPos
1067 end function
1068#endif
1069
1070 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1071
1072#if CK5_ENABLED
1073 pure elemental module function isInfPos_CK5(x) result(infPos)
1074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1075 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_CK5
1076#endif
1077 use pm_kind, only: LK, CKG => CK5
1078 complex(CKG), intent(in) :: x
1079 logical(LK) :: infPos
1080 end function
1081#endif
1082
1083#if CK4_ENABLED
1084 pure elemental module function isInfPos_CK4(x) result(infPos)
1085#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1086 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_CK4
1087#endif
1088 use pm_kind, only: LK, CKG => CK4
1089 complex(CKG), intent(in) :: x
1090 logical(LK) :: infPos
1091 end function
1092#endif
1093
1094#if CK3_ENABLED
1095 pure elemental module function isInfPos_CK3(x) result(infPos)
1096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1097 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_CK3
1098#endif
1099 use pm_kind, only: LK, CKG => CK3
1100 complex(CKG), intent(in) :: x
1101 logical(LK) :: infPos
1102 end function
1103#endif
1104
1105#if CK2_ENABLED
1106 pure elemental module function isInfPos_CK2(x) result(infPos)
1107#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1108 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_CK2
1109#endif
1110 use pm_kind, only: LK, CKG => CK2
1111 complex(CKG), intent(in) :: x
1112 logical(LK) :: infPos
1113 end function
1114#endif
1115
1116#if CK1_ENABLED
1117 pure elemental module function isInfPos_CK1(x) result(infPos)
1118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1119 !DEC$ ATTRIBUTES DLLEXPORT :: isInfPos_CK1
1120#endif
1121 use pm_kind, only: LK, CKG => CK1
1122 complex(CKG), intent(in) :: x
1123 logical(LK) :: infPos
1124 end function
1125#endif
1126
1127 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1128
1129 end interface
1130
1131!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1132
1189 interface getInfPos
1190
1191 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1192
1193#if CK5_ENABLED
1194 pure elemental module function getInfPos_CK5(mold) result(infPos)
1195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1196 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_CK5
1197#endif
1198 use pm_kind, only: CKG => CK5
1199 complex(CKG), intent(in) :: mold
1200 complex(CKG) :: infPos
1201 end function
1202#endif
1203
1204#if CK4_ENABLED
1205 pure elemental module function getInfPos_CK4(mold) result(infPos)
1206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1207 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_CK4
1208#endif
1209 use pm_kind, only: CKG => CK4
1210 complex(CKG), intent(in) :: mold
1211 complex(CKG) :: infPos
1212 end function
1213#endif
1214
1215#if CK3_ENABLED
1216 pure elemental module function getInfPos_CK3(mold) result(infPos)
1217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1218 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_CK3
1219#endif
1220 use pm_kind, only: CKG => CK3
1221 complex(CKG), intent(in) :: mold
1222 complex(CKG) :: infPos
1223 end function
1224#endif
1225
1226#if CK2_ENABLED
1227 pure elemental module function getInfPos_CK2(mold) result(infPos)
1228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1229 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_CK2
1230#endif
1231 use pm_kind, only: CKG => CK2
1232 complex(CKG), intent(in) :: mold
1233 complex(CKG) :: infPos
1234 end function
1235#endif
1236
1237#if CK1_ENABLED
1238 pure elemental module function getInfPos_CK1(mold) result(infPos)
1239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1240 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_CK1
1241#endif
1242 use pm_kind, only: CKG => CK1
1243 complex(CKG), intent(in) :: mold
1244 complex(CKG) :: infPos
1245 end function
1246#endif
1247
1248 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1249
1250#if RK5_ENABLED
1251 pure elemental module function getInfPos_RK5(mold) result(infPos)
1252#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1253 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_RK5
1254#endif
1255 use pm_kind, only: RKG => RK5
1256 real(RKG) , intent(in) :: mold
1257 real(RKG) :: infPos
1258 end function
1259#endif
1260
1261#if RK4_ENABLED
1262 pure elemental module function getInfPos_RK4(mold) result(infPos)
1263#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1264 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_RK4
1265#endif
1266 use pm_kind, only: RKG => RK4
1267 real(RKG) , intent(in) :: mold
1268 real(RKG) :: infPos
1269 end function
1270#endif
1271
1272#if RK3_ENABLED
1273 pure elemental module function getInfPos_RK3(mold) result(infPos)
1274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1275 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_RK3
1276#endif
1277 use pm_kind, only: RKG => RK3
1278 real(RKG) , intent(in) :: mold
1279 real(RKG) :: infPos
1280 end function
1281#endif
1282
1283#if RK2_ENABLED
1284 pure elemental module function getInfPos_RK2(mold) result(infPos)
1285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1286 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_RK2
1287#endif
1288 use pm_kind, only: RKG => RK2
1289 real(RKG) , intent(in) :: mold
1290 real(RKG) :: infPos
1291 end function
1292#endif
1293
1294#if RK1_ENABLED
1295 pure elemental module function getInfPos_RK1(mold) result(infPos)
1296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1297 !DEC$ ATTRIBUTES DLLEXPORT :: getInfPos_RK1
1298#endif
1299 use pm_kind, only: RKG => RK1
1300 real(RKG) , intent(in) :: mold
1301 real(RKG) :: infPos
1302 end function
1303#endif
1304
1305 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1306
1307 end interface
1308
1309!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1310
1363 interface setInfPos
1364
1365 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1366
1367#if CK5_ENABLED
1368 pure elemental module subroutine setInfPos_CK5(infPos)
1369#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1370 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_CK5
1371#endif
1372 use pm_kind, only: CKG => CK5
1373 complex(CKG), intent(out) :: infPos
1374 end subroutine
1375#endif
1376
1377#if CK4_ENABLED
1378 pure elemental module subroutine setInfPos_CK4(infPos)
1379#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1380 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_CK4
1381#endif
1382 use pm_kind, only: CKG => CK4
1383 complex(CKG), intent(out) :: infPos
1384 end subroutine
1385#endif
1386
1387#if CK3_ENABLED
1388 pure elemental module subroutine setInfPos_CK3(infPos)
1389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1390 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_CK3
1391#endif
1392 use pm_kind, only: CKG => CK3
1393 complex(CKG), intent(out) :: infPos
1394 end subroutine
1395#endif
1396
1397#if CK2_ENABLED
1398 pure elemental module subroutine setInfPos_CK2(infPos)
1399#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1400 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_CK2
1401#endif
1402 use pm_kind, only: CKG => CK2
1403 complex(CKG), intent(out) :: infPos
1404 end subroutine
1405#endif
1406
1407#if CK1_ENABLED
1408 pure elemental module subroutine setInfPos_CK1(infPos)
1409#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1410 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_CK1
1411#endif
1412 use pm_kind, only: CKG => CK1
1413 complex(CKG), intent(out) :: infPos
1414 end subroutine
1415#endif
1416
1417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1418
1419#if RK5_ENABLED
1420 pure elemental module subroutine setInfPos_RK5(infPos)
1421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1422 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_RK5
1423#endif
1424 use pm_kind, only: RKG => RK5
1425 real(RKG) , intent(out) :: infPos
1426 end subroutine
1427#endif
1428
1429#if RK4_ENABLED
1430 pure elemental module subroutine setInfPos_RK4(infPos)
1431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1432 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_RK4
1433#endif
1434 use pm_kind, only: RKG => RK4
1435 real(RKG) , intent(out) :: infPos
1436 end subroutine
1437#endif
1438
1439#if RK3_ENABLED
1440 pure elemental module subroutine setInfPos_RK3(infPos)
1441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1442 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_RK3
1443#endif
1444 use pm_kind, only: RKG => RK3
1445 real(RKG) , intent(out) :: infPos
1446 end subroutine
1447#endif
1448
1449#if RK2_ENABLED
1450 pure elemental module subroutine setInfPos_RK2(infPos)
1451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1452 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_RK2
1453#endif
1454 use pm_kind, only: RKG => RK2
1455 real(RKG) , intent(out) :: infPos
1456 end subroutine
1457#endif
1458
1459#if RK1_ENABLED
1460 pure elemental module subroutine setInfPos_RK1(infPos)
1461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1462 !DEC$ ATTRIBUTES DLLEXPORT :: setInfPos_RK1
1463#endif
1464 use pm_kind, only: RKG => RK1
1465 real(RKG) , intent(out) :: infPos
1466 end subroutine
1467#endif
1468
1469 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1470
1471 end interface
1472
1473!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1474
1541 interface isInfNeg
1542
1543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1544
1545#if CK5_ENABLED
1546 pure elemental module function isInfNeg_CK5(x) result(infNeg)
1547#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1548 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_CK5
1549#endif
1550 use pm_kind, only: LK, CKG => CK5
1551 complex(CKG), intent(in) :: x
1552 logical(LK) :: infNeg
1553 end function
1554#endif
1555
1556#if CK4_ENABLED
1557 pure elemental module function isInfNeg_CK4(x) result(infNeg)
1558#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1559 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_CK4
1560#endif
1561 use pm_kind, only: LK, CKG => CK4
1562 complex(CKG), intent(in) :: x
1563 logical(LK) :: infNeg
1564 end function
1565#endif
1566
1567#if CK3_ENABLED
1568 pure elemental module function isInfNeg_CK3(x) result(infNeg)
1569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1570 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_CK3
1571#endif
1572 use pm_kind, only: LK, CKG => CK3
1573 complex(CKG), intent(in) :: x
1574 logical(LK) :: infNeg
1575 end function
1576#endif
1577
1578#if CK2_ENABLED
1579 pure elemental module function isInfNeg_CK2(x) result(infNeg)
1580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1581 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_CK2
1582#endif
1583 use pm_kind, only: LK, CKG => CK2
1584 complex(CKG), intent(in) :: x
1585 logical(LK) :: infNeg
1586 end function
1587#endif
1588
1589#if CK1_ENABLED
1590 pure elemental module function isInfNeg_CK1(x) result(infNeg)
1591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1592 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_CK1
1593#endif
1594 use pm_kind, only: LK, CKG => CK1
1595 complex(CKG), intent(in) :: x
1596 logical(LK) :: infNeg
1597 end function
1598#endif
1599
1600 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1601
1602#if RK5_ENABLED
1603 pure elemental module function isInfNeg_RK5(x) result(infNeg)
1604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1605 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_RK5
1606#endif
1607 use pm_kind, only: LK, RKG => RK5
1608 real(RKG) , intent(in) :: x
1609 logical(LK) :: infNeg
1610 end function
1611#endif
1612
1613#if RK4_ENABLED
1614 pure elemental module function isInfNeg_RK4(x) result(infNeg)
1615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1616 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_RK4
1617#endif
1618 use pm_kind, only: LK, RKG => RK4
1619 real(RKG) , intent(in) :: x
1620 logical(LK) :: infNeg
1621 end function
1622#endif
1623
1624#if RK3_ENABLED
1625 pure elemental module function isInfNeg_RK3(x) result(infNeg)
1626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1627 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_RK3
1628#endif
1629 use pm_kind, only: LK, RKG => RK3
1630 real(RKG) , intent(in) :: x
1631 logical(LK) :: infNeg
1632 end function
1633#endif
1634
1635#if RK2_ENABLED
1636 pure elemental module function isInfNeg_RK2(x) result(infNeg)
1637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1638 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_RK2
1639#endif
1640 use pm_kind, only: LK, RKG => RK2
1641 real(RKG) , intent(in) :: x
1642 logical(LK) :: infNeg
1643 end function
1644#endif
1645
1646#if RK1_ENABLED
1647 pure elemental module function isInfNeg_RK1(x) result(infNeg)
1648#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1649 !DEC$ ATTRIBUTES DLLEXPORT :: isInfNeg_RK1
1650#endif
1651 use pm_kind, only: LK, RKG => RK1
1652 real(RKG) , intent(in) :: x
1653 logical(LK) :: infNeg
1654 end function
1655#endif
1656
1657 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1658
1659 end interface
1660
1661!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1662
1719 interface getInfNeg
1720
1721 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1722
1723#if CK5_ENABLED
1724 pure elemental module function getInfNeg_CK5(mold) result(infNeg)
1725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1726 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_CK5
1727#endif
1728 use pm_kind, only: CKG => CK5
1729 complex(CKG), intent(in) :: mold
1730 complex(CKG) :: infNeg
1731 end function
1732#endif
1733
1734#if CK4_ENABLED
1735 pure elemental module function getInfNeg_CK4(mold) result(infNeg)
1736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1737 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_CK4
1738#endif
1739 use pm_kind, only: CKG => CK4
1740 complex(CKG), intent(in) :: mold
1741 complex(CKG) :: infNeg
1742 end function
1743#endif
1744
1745#if CK3_ENABLED
1746 pure elemental module function getInfNeg_CK3(mold) result(infNeg)
1747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1748 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_CK3
1749#endif
1750 use pm_kind, only: CKG => CK3
1751 complex(CKG), intent(in) :: mold
1752 complex(CKG) :: infNeg
1753 end function
1754#endif
1755
1756#if CK2_ENABLED
1757 pure elemental module function getInfNeg_CK2(mold) result(infNeg)
1758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1759 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_CK2
1760#endif
1761 use pm_kind, only: CKG => CK2
1762 complex(CKG), intent(in) :: mold
1763 complex(CKG) :: infNeg
1764 end function
1765#endif
1766
1767#if CK1_ENABLED
1768 pure elemental module function getInfNeg_CK1(mold) result(infNeg)
1769#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1770 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_CK1
1771#endif
1772 use pm_kind, only: CKG => CK1
1773 complex(CKG), intent(in) :: mold
1774 complex(CKG) :: infNeg
1775 end function
1776#endif
1777
1778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1779
1780#if RK5_ENABLED
1781 pure elemental module function getInfNeg_RK5(mold) result(infNeg)
1782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1783 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_RK5
1784#endif
1785 use pm_kind, only: RKG => RK5
1786 real(RKG) , intent(in) :: mold
1787 real(RKG) :: infNeg
1788 end function
1789#endif
1790
1791#if RK4_ENABLED
1792 pure elemental module function getInfNeg_RK4(mold) result(infNeg)
1793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1794 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_RK4
1795#endif
1796 use pm_kind, only: RKG => RK4
1797 real(RKG) , intent(in) :: mold
1798 real(RKG) :: infNeg
1799 end function
1800#endif
1801
1802#if RK3_ENABLED
1803 pure elemental module function getInfNeg_RK3(mold) result(infNeg)
1804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1805 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_RK3
1806#endif
1807 use pm_kind, only: RKG => RK3
1808 real(RKG) , intent(in) :: mold
1809 real(RKG) :: infNeg
1810 end function
1811#endif
1812
1813#if RK2_ENABLED
1814 pure elemental module function getInfNeg_RK2(mold) result(infNeg)
1815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1816 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_RK2
1817#endif
1818 use pm_kind, only: RKG => RK2
1819 real(RKG) , intent(in) :: mold
1820 real(RKG) :: infNeg
1821 end function
1822#endif
1823
1824#if RK1_ENABLED
1825 pure elemental module function getInfNeg_RK1(mold) result(infNeg)
1826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1827 !DEC$ ATTRIBUTES DLLEXPORT :: getInfNeg_RK1
1828#endif
1829 use pm_kind, only: RKG => RK1
1830 real(RKG) , intent(in) :: mold
1831 real(RKG) :: infNeg
1832 end function
1833#endif
1834
1835 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1836
1837 end interface
1838
1839!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1840
1893 interface setInfNeg
1894
1895 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1896
1897#if CK5_ENABLED
1898 pure elemental module subroutine setInfNeg_CK5(infNeg)
1899#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1900 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_CK5
1901#endif
1902 use pm_kind, only: CKG => CK5
1903 complex(CKG), intent(out) :: infNeg
1904 end subroutine
1905#endif
1906
1907#if CK4_ENABLED
1908 pure elemental module subroutine setInfNeg_CK4(infNeg)
1909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1910 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_CK4
1911#endif
1912 use pm_kind, only: CKG => CK4
1913 complex(CKG), intent(out) :: infNeg
1914 end subroutine
1915#endif
1916
1917#if CK3_ENABLED
1918 pure elemental module subroutine setInfNeg_CK3(infNeg)
1919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1920 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_CK3
1921#endif
1922 use pm_kind, only: CKG => CK3
1923 complex(CKG), intent(out) :: infNeg
1924 end subroutine
1925#endif
1926
1927#if CK2_ENABLED
1928 pure elemental module subroutine setInfNeg_CK2(infNeg)
1929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1930 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_CK2
1931#endif
1932 use pm_kind, only: CKG => CK2
1933 complex(CKG), intent(out) :: infNeg
1934 end subroutine
1935#endif
1936
1937#if CK1_ENABLED
1938 pure elemental module subroutine setInfNeg_CK1(infNeg)
1939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1940 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_CK1
1941#endif
1942 use pm_kind, only: CKG => CK1
1943 complex(CKG), intent(out) :: infNeg
1944 end subroutine
1945#endif
1946
1947 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1948
1949#if RK5_ENABLED
1950 pure elemental module subroutine setInfNeg_RK5(infNeg)
1951#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1952 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_RK5
1953#endif
1954 use pm_kind, only: RKG => RK5
1955 real(RKG) , intent(out) :: infNeg
1956 end subroutine
1957#endif
1958
1959#if RK4_ENABLED
1960 pure elemental module subroutine setInfNeg_RK4(infNeg)
1961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1962 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_RK4
1963#endif
1964 use pm_kind, only: RKG => RK4
1965 real(RKG) , intent(out) :: infNeg
1966 end subroutine
1967#endif
1968
1969#if RK3_ENABLED
1970 pure elemental module subroutine setInfNeg_RK3(infNeg)
1971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1972 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_RK3
1973#endif
1974 use pm_kind, only: RKG => RK3
1975 real(RKG) , intent(out) :: infNeg
1976 end subroutine
1977#endif
1978
1979#if RK2_ENABLED
1980 pure elemental module subroutine setInfNeg_RK2(infNeg)
1981#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1982 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_RK2
1983#endif
1984 use pm_kind, only: RKG => RK2
1985 real(RKG) , intent(out) :: infNeg
1986 end subroutine
1987#endif
1988
1989#if RK1_ENABLED
1990 pure elemental module subroutine setInfNeg_RK1(infNeg)
1991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1992 !DEC$ ATTRIBUTES DLLEXPORT :: setInfNeg_RK1
1993#endif
1994 use pm_kind, only: RKG => RK1
1995 real(RKG) , intent(out) :: infNeg
1996 end subroutine
1997#endif
1998
1999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2000
2001 end interface
2002
2003!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2004
2103 interface isNAN
2104
2105 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2106 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2107 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2108
2109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2110
2111#if CK5_ENABLED
2112 pure elemental module function isNANIEEE_CK5(x) result(isNotANumber)
2113#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2114 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_CK5
2115#endif
2116 use pm_kind, only: CKG => CK5
2117 complex(CKG), intent(in) :: x
2118 logical(LK) :: isNotANumber
2119 end function
2120#endif
2121
2122#if CK4_ENABLED
2123 pure elemental module function isNANIEEE_CK4(x) result(isNotANumber)
2124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2125 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_CK4
2126#endif
2127 use pm_kind, only: CKG => CK4
2128 complex(CKG), intent(in) :: x
2129 logical(LK) :: isNotANumber
2130 end function
2131#endif
2132
2133#if CK3_ENABLED
2134 pure elemental module function isNANIEEE_CK3(x) result(isNotANumber)
2135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2136 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_CK3
2137#endif
2138 use pm_kind, only: CKG => CK3
2139 complex(CKG), intent(in) :: x
2140 logical(LK) :: isNotANumber
2141 end function
2142#endif
2143
2144#if CK2_ENABLED
2145 pure elemental module function isNANIEEE_CK2(x) result(isNotANumber)
2146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2147 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_CK2
2148#endif
2149 use pm_kind, only: CKG => CK2
2150 complex(CKG), intent(in) :: x
2151 logical(LK) :: isNotANumber
2152 end function
2153#endif
2154
2155#if CK1_ENABLED
2156 pure elemental module function isNANIEEE_CK1(x) result(isNotANumber)
2157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2158 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_CK1
2159#endif
2160 use pm_kind, only: CKG => CK1
2161 complex(CKG), intent(in) :: x
2162 logical(LK) :: isNotANumber
2163 end function
2164#endif
2165
2166 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2167
2168#if RK5_ENABLED
2169 pure elemental module function isNANIEEE_RK5(x) result(isNotANumber)
2170#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2171 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_RK5
2172#endif
2173 use pm_kind, only: RKG => RK5
2174 real(RKG) , intent(in) :: x
2175 logical(LK) :: isNotANumber
2176 end function
2177#endif
2178
2179#if RK4_ENABLED
2180 pure elemental module function isNANIEEE_RK4(x) result(isNotANumber)
2181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2182 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_RK4
2183#endif
2184 use pm_kind, only: RKG => RK4
2185 real(RKG) , intent(in) :: x
2186 logical(LK) :: isNotANumber
2187 end function
2188#endif
2189
2190#if RK3_ENABLED
2191 pure elemental module function isNANIEEE_RK3(x) result(isNotANumber)
2192#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2193 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_RK3
2194#endif
2195 use pm_kind, only: RKG => RK3
2196 real(RKG) , intent(in) :: x
2197 logical(LK) :: isNotANumber
2198 end function
2199#endif
2200
2201#if RK2_ENABLED
2202 pure elemental module function isNANIEEE_RK2(x) result(isNotANumber)
2203#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2204 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_RK2
2205#endif
2206 use pm_kind, only: RKG => RK2
2207 real(RKG) , intent(in) :: x
2208 logical(LK) :: isNotANumber
2209 end function
2210#endif
2211
2212#if RK1_ENABLED
2213 pure elemental module function isNANIEEE_RK1(x) result(isNotANumber)
2214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2215 !DEC$ ATTRIBUTES DLLEXPORT :: isNANIEEE_RK1
2216#endif
2217 use pm_kind, only: RKG => RK1
2218 real(RKG) , intent(in) :: x
2219 logical(LK) :: isNotANumber
2220 end function
2221#endif
2222
2223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2224
2225 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2227 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2228
2229 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2230
2231#if CK5_ENABLED
2232 impure elemental module function isNANXNEQ_CK5(x, xcopy) result(isNotANumber)
2233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2234 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_CK5
2235#endif
2236 use pm_kind, only: CKG => CK5
2237 complex(CKG), intent(in) :: x, xcopy
2238 logical(LK) :: isNotANumber
2239 end function
2240#endif
2241
2242#if CK4_ENABLED
2243 impure elemental module function isNANXNEQ_CK4(x, xcopy) result(isNotANumber)
2244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2245 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_CK4
2246#endif
2247 use pm_kind, only: CKG => CK4
2248 complex(CKG), intent(in) :: x, xcopy
2249 logical(LK) :: isNotANumber
2250 end function
2251#endif
2252
2253#if CK3_ENABLED
2254 impure elemental module function isNANXNEQ_CK3(x, xcopy) result(isNotANumber)
2255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2256 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_CK3
2257#endif
2258 use pm_kind, only: CKG => CK3
2259 complex(CKG), intent(in) :: x, xcopy
2260 logical(LK) :: isNotANumber
2261 end function
2262#endif
2263
2264#if CK2_ENABLED
2265 impure elemental module function isNANXNEQ_CK2(x, xcopy) result(isNotANumber)
2266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2267 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_CK2
2268#endif
2269 use pm_kind, only: CKG => CK2
2270 complex(CKG), intent(in) :: x, xcopy
2271 logical(LK) :: isNotANumber
2272 end function
2273#endif
2274
2275#if CK1_ENABLED
2276 impure elemental module function isNANXNEQ_CK1(x, xcopy) result(isNotANumber)
2277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2278 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_CK1
2279#endif
2280 use pm_kind, only: CKG => CK1
2281 complex(CKG), intent(in) :: x, xcopy
2282 logical(LK) :: isNotANumber
2283 end function
2284#endif
2285
2286 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2287
2288#if RK5_ENABLED
2289 impure elemental module function isNANXNEQ_RK5(x, xcopy) result(isNotANumber)
2290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2291 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_RK5
2292#endif
2293 use pm_kind, only: RKG => RK5
2294 real(RKG) , intent(in) :: x, xcopy
2295 logical(LK) :: isNotANumber
2296 end function
2297#endif
2298
2299#if RK4_ENABLED
2300 impure elemental module function isNANXNEQ_RK4(x, xcopy) result(isNotANumber)
2301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2302 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_RK4
2303#endif
2304 use pm_kind, only: RKG => RK4
2305 real(RKG) , intent(in) :: x, xcopy
2306 logical(LK) :: isNotANumber
2307 end function
2308#endif
2309
2310#if RK3_ENABLED
2311 impure elemental module function isNANXNEQ_RK3(x, xcopy) result(isNotANumber)
2312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2313 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_RK3
2314#endif
2315 use pm_kind, only: RKG => RK3
2316 real(RKG) , intent(in) :: x, xcopy
2317 logical(LK) :: isNotANumber
2318 end function
2319#endif
2320
2321#if RK2_ENABLED
2322 impure elemental module function isNANXNEQ_RK2(x, xcopy) result(isNotANumber)
2323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2324 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_RK2
2325#endif
2326 use pm_kind, only: RKG => RK2
2327 real(RKG) , intent(in) :: x, xcopy
2328 logical(LK) :: isNotANumber
2329 end function
2330#endif
2331
2332#if RK1_ENABLED
2333 impure elemental module function isNANXNEQ_RK1(x, xcopy) result(isNotANumber)
2334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2335 !DEC$ ATTRIBUTES DLLEXPORT :: isNANXNEQ_RK1
2336#endif
2337 use pm_kind, only: RKG => RK1
2338 real(RKG) , intent(in) :: x, xcopy
2339 logical(LK) :: isNotANumber
2340 end function
2341#endif
2342
2343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2344
2345 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2347 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2348
2349 end interface
2350
2351!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2352
2414 interface getNAN
2415
2416 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2417
2418#if CK5_ENABLED
2419 pure elemental module function getNAN_CK5(mold) result(nan)
2420#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2421 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_CK5
2422#endif
2423 use pm_kind, only: CKG => CK5
2424 complex(CKG), intent(in) :: mold
2425 complex(CKG) :: nan
2426 end function
2427#endif
2428
2429#if CK4_ENABLED
2430 pure elemental module function getNAN_CK4(mold) result(nan)
2431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2432 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_CK4
2433#endif
2434 use pm_kind, only: CKG => CK4
2435 complex(CKG), intent(in) :: mold
2436 complex(CKG) :: nan
2437 end function
2438#endif
2439
2440#if CK3_ENABLED
2441 pure elemental module function getNAN_CK3(mold) result(nan)
2442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2443 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_CK3
2444#endif
2445 use pm_kind, only: CKG => CK3
2446 complex(CKG), intent(in) :: mold
2447 complex(CKG) :: nan
2448 end function
2449#endif
2450
2451#if CK2_ENABLED
2452 pure elemental module function getNAN_CK2(mold) result(nan)
2453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2454 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_CK2
2455#endif
2456 use pm_kind, only: CKG => CK2
2457 complex(CKG), intent(in) :: mold
2458 complex(CKG) :: nan
2459 end function
2460#endif
2461
2462#if CK1_ENABLED
2463 pure elemental module function getNAN_CK1(mold) result(nan)
2464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2465 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_CK1
2466#endif
2467 use pm_kind, only: CKG => CK1
2468 complex(CKG), intent(in) :: mold
2469 complex(CKG) :: nan
2470 end function
2471#endif
2472
2473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2474
2475#if RK5_ENABLED
2476 pure elemental module function getNAN_RK5(mold) result(nan)
2477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2478 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_RK5
2479#endif
2480 use pm_kind, only: RKG => RK5
2481 real(RKG) , intent(in) :: mold
2482 real(RKG) :: nan
2483 end function
2484#endif
2485
2486#if RK4_ENABLED
2487 pure elemental module function getNAN_RK4(mold) result(nan)
2488#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2489 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_RK4
2490#endif
2491 use pm_kind, only: RKG => RK4
2492 real(RKG) , intent(in) :: mold
2493 real(RKG) :: nan
2494 end function
2495#endif
2496
2497#if RK3_ENABLED
2498 pure elemental module function getNAN_RK3(mold) result(nan)
2499#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2500 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_RK3
2501#endif
2502 use pm_kind, only: RKG => RK3
2503 real(RKG) , intent(in) :: mold
2504 real(RKG) :: nan
2505 end function
2506#endif
2507
2508#if RK2_ENABLED
2509 pure elemental module function getNAN_RK2(mold) result(nan)
2510#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2511 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_RK2
2512#endif
2513 use pm_kind, only: RKG => RK2
2514 real(RKG) , intent(in) :: mold
2515 real(RKG) :: nan
2516 end function
2517#endif
2518
2519#if RK1_ENABLED
2520 pure elemental module function getNAN_RK1(mold) result(nan)
2521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2522 !DEC$ ATTRIBUTES DLLEXPORT :: getNAN_RK1
2523#endif
2524 use pm_kind, only: RKG => RK1
2525 real(RKG) , intent(in) :: mold
2526 real(RKG) :: nan
2527 end function
2528#endif
2529
2530 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2531
2532 end interface
2533
2534!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2535
2593 interface setNAN
2594
2595 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2596
2597#if CK5_ENABLED
2598 pure elemental module subroutine setNAN_CK5(nan)
2599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2600 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_CK5
2601#endif
2602 use pm_kind, only: CKG => CK5
2603 complex(CKG), intent(out) :: nan
2604 end subroutine
2605#endif
2606
2607#if CK4_ENABLED
2608 pure elemental module subroutine setNAN_CK4(nan)
2609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2610 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_CK4
2611#endif
2612 use pm_kind, only: CKG => CK4
2613 complex(CKG), intent(out) :: nan
2614 end subroutine
2615#endif
2616
2617#if CK3_ENABLED
2618 pure elemental module subroutine setNAN_CK3(nan)
2619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2620 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_CK3
2621#endif
2622 use pm_kind, only: CKG => CK3
2623 complex(CKG), intent(out) :: nan
2624 end subroutine
2625#endif
2626
2627#if CK2_ENABLED
2628 pure elemental module subroutine setNAN_CK2(nan)
2629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2630 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_CK2
2631#endif
2632 use pm_kind, only: CKG => CK2
2633 complex(CKG), intent(out) :: nan
2634 end subroutine
2635#endif
2636
2637#if CK1_ENABLED
2638 pure elemental module subroutine setNAN_CK1(nan)
2639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2640 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_CK1
2641#endif
2642 use pm_kind, only: CKG => CK1
2643 complex(CKG), intent(out) :: nan
2644 end subroutine
2645#endif
2646
2647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2648
2649#if RK5_ENABLED
2650 pure elemental module subroutine setNAN_RK5(nan)
2651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2652 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_RK5
2653#endif
2654 use pm_kind, only: RKG => RK5
2655 real(RKG) , intent(out) :: nan
2656 end subroutine
2657#endif
2658
2659#if RK4_ENABLED
2660 pure elemental module subroutine setNAN_RK4(nan)
2661#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2662 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_RK4
2663#endif
2664 use pm_kind, only: RKG => RK4
2665 real(RKG) , intent(out) :: nan
2666 end subroutine
2667#endif
2668
2669#if RK3_ENABLED
2670 pure elemental module subroutine setNAN_RK3(nan)
2671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2672 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_RK3
2673#endif
2674 use pm_kind, only: RKG => RK3
2675 real(RKG) , intent(out) :: nan
2676 end subroutine
2677#endif
2678
2679#if RK2_ENABLED
2680 pure elemental module subroutine setNAN_RK2(nan)
2681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2682 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_RK2
2683#endif
2684 use pm_kind, only: RKG => RK2
2685 real(RKG) , intent(out) :: nan
2686 end subroutine
2687#endif
2688
2689#if RK1_ENABLED
2690 pure elemental module subroutine setNAN_RK1(nan)
2691#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2692 !DEC$ ATTRIBUTES DLLEXPORT :: setNAN_RK1
2693#endif
2694 use pm_kind, only: RKG => RK1
2695 real(RKG) , intent(out) :: nan
2696 end subroutine
2697#endif
2698
2699 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2700
2701 end interface
2702
2703!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2704
2705end module pm_except
Generate and return an IEEE-compliant negative infinity.
Definition: pm_except.F90:1719
Generate and return an IEEE-compliant positive infinity.
Definition: pm_except.F90:1189
Generate and return an IEEE-compliant quiet NAN (Not a Number).
Definition: pm_except.F90:2414
Generate and return .true. if and only if the addition of the two input integer, complex ,...
Definition: pm_except.F90:347
Generate and return .true. if and only if the addition of the two input integer, complex ,...
Definition: pm_except.F90:582
Generate and return .true. if and only if the addition of the two input integer, complex ,...
Definition: pm_except.F90:112
Generate and return .true. if the input value is an IEEE-compliant negative infinity.
Definition: pm_except.F90:1541
Generate and return .true. if the input value is an IEEE-compliant positive infinity.
Definition: pm_except.F90:1011
Generate and return .true. if the input value is an IEEE-compliant negative or positive infinity....
Definition: pm_except.F90:823
Generate and return .true. if the input value is an IEEE-compliant NAN (Not a Number) or if the input...
Definition: pm_except.F90:2103
Return an IEEE-compliant negative infinity.
Definition: pm_except.F90:1893
Return an IEEE-compliant positive infinity.
Definition: pm_except.F90:1363
Return an IEEE-compliant quiet NAN (Not a Number).
Definition: pm_except.F90:2593
This module contains procedures and generic interfaces for testing for exceptional cases at runtime.
Definition: pm_except.F90:46
character(*, SK), parameter MODULE_NAME
Definition: pm_except.F90:52
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
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 IK1
Definition: pm_kind.F90:382
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 CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
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