ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_complexCompareLex.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
24
25!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26
28
30 use pm_err, only: err_type
31 use pm_test, only: test_type, LK
32 implicit none
33
34 private
35 public :: setTest
36 type(test_type) :: test
37
38!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39
40 interface
41#if CK5_ENABLED
42 module function test_islexless_CK5_1() result(assertion); logical(LK) :: assertion; end function
43 module function test_islexleq_CK5_1() result(assertion); logical(LK) :: assertion; end function
44 module function test_islexmeq_CK5_1() result(assertion); logical(LK) :: assertion; end function
45 module function test_islexmore_CK5_1() result(assertion); logical(LK) :: assertion; end function
46#endif
47#if CK4_ENABLED
48 module function test_islexless_CK4_1() result(assertion); logical(LK) :: assertion; end function
49 module function test_islexleq_CK4_1() result(assertion); logical(LK) :: assertion; end function
50 module function test_islexmeq_CK4_1() result(assertion); logical(LK) :: assertion; end function
51 module function test_islexmore_CK4_1() result(assertion); logical(LK) :: assertion; end function
52#endif
53#if CK3_ENABLED
54 module function test_islexless_CK3_1() result(assertion); logical(LK) :: assertion; end function
55 module function test_islexleq_CK3_1() result(assertion); logical(LK) :: assertion; end function
56 module function test_islexmeq_CK3_1() result(assertion); logical(LK) :: assertion; end function
57 module function test_islexmore_CK3_1() result(assertion); logical(LK) :: assertion; end function
58#endif
59#if CK2_ENABLED
60 module function test_islexless_CK2_1() result(assertion); logical(LK) :: assertion; end function
61 module function test_islexleq_CK2_1() result(assertion); logical(LK) :: assertion; end function
62 module function test_islexmeq_CK2_1() result(assertion); logical(LK) :: assertion; end function
63 module function test_islexmore_CK2_1() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if CK1_ENABLED
66 module function test_islexless_CK1_1() result(assertion); logical(LK) :: assertion; end function
67 module function test_islexleq_CK1_1() result(assertion); logical(LK) :: assertion; end function
68 module function test_islexmeq_CK1_1() result(assertion); logical(LK) :: assertion; end function
69 module function test_islexmore_CK1_1() result(assertion); logical(LK) :: assertion; end function
70#endif
71 end interface
72
73!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
74
75contains
76
77!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
78
79 subroutine setTest()
80
81 implicit none
83
84 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85
86#if CK5_ENABLED
87 call test%run(test_islexless_CK5_1, SK_"test_islexless_CK5_1")
88 call test%run(test_islexleq_CK5_1, SK_"test_islexleq_CK5_1")
89 call test%run(test_islexmeq_CK5_1, SK_"test_islexmeq_CK5_1")
90 call test%run(test_islexmore_CK5_1, SK_"test_islexmore_CK5_1")
91#endif
92#if CK4_ENABLED
93 call test%run(test_islexless_CK4_1, SK_"test_islexless_CK4_1")
94 call test%run(test_islexleq_CK4_1, SK_"test_islexleq_CK4_1")
95 call test%run(test_islexmeq_CK4_1, SK_"test_islexmeq_CK4_1")
96 call test%run(test_islexmore_CK4_1, SK_"test_islexmore_CK4_1")
97#endif
98#if CK3_ENABLED
99 call test%run(test_islexless_CK3_1, SK_"test_islexless_CK3_1")
100 call test%run(test_islexleq_CK3_1, SK_"test_islexleq_CK3_1")
101 call test%run(test_islexmeq_CK3_1, SK_"test_islexmeq_CK3_1")
102 call test%run(test_islexmore_CK3_1, SK_"test_islexmore_CK3_1")
103#endif
104#if CK2_ENABLED
105 call test%run(test_islexless_CK2_1, SK_"test_islexless_CK2_1")
106 call test%run(test_islexleq_CK2_1, SK_"test_islexleq_CK2_1")
107 call test%run(test_islexmeq_CK2_1, SK_"test_islexmeq_CK2_1")
108 call test%run(test_islexmore_CK2_1, SK_"test_islexmore_CK2_1")
109#endif
110#if CK1_ENABLED
111 call test%run(test_islexless_CK1_1, SK_"test_islexless_CK1_1")
112 call test%run(test_islexleq_CK1_1, SK_"test_islexleq_CK1_1")
113 call test%run(test_islexmeq_CK1_1, SK_"test_islexmeq_CK1_1")
114 call test%run(test_islexmore_CK1_1, SK_"test_islexmore_CK1_1")
115#endif
116
117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
118
119 call test%summarize()
120
121 end subroutine setTest
122
123!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
124
125end module test_pm_complexCompareLex ! LCOV_EXCL_LINE
This module contains procedures and generic interfaces for checking if a complex number is lexicograp...
character(*, SK), parameter MODULE_NAME
This module contains classes and procedures for reporting and handling errors.
Definition: pm_err.F90:52
This module contains a simple unit-testing framework for the Fortran libraries, including the ParaMon...
Definition: pm_test.F90:42
This module contains tests of the module pm_complexCompareLex.
This is the derived type for generating objects to gracefully and verbosely handle runtime unexpected...
Definition: pm_err.F90:157
This is the derived type test_type for generating objects that facilitate testing of a series of proc...
Definition: pm_test.F90:209