Line data Source code
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 :
17 : !> \brief
18 : !> This file contains procedure implementations of [test_pm_arrayComplement](@ref test_pm_arrayComplement).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (test_pm_arrayComplement) routines ! LCOV_EXCL_LINE
28 :
29 : use pm_arrayUnique, only: getUnique
30 : use pm_arrayRange, only: getRange
31 : use pm_arraySort, only: setSorted
32 : implicit none
33 :
34 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 :
36 : contains
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : #define getComplement_ENABLED 1
41 :
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 :
44 : #define getComplement_D0_SK_ENABLED 1
45 :
46 : #if SK5_ENABLED
47 : module procedure test_getComplement_D0_SK5_1
48 : use pm_kind, only: SKC => SK5
49 : #include "test_pm_arrayComplement@routines.inc.F90"
50 : end procedure
51 : #endif
52 :
53 : #if SK4_ENABLED
54 : module procedure test_getComplement_D0_SK4_1
55 : use pm_kind, only: SKC => SK4
56 : #include "test_pm_arrayComplement@routines.inc.F90"
57 : end procedure
58 : #endif
59 :
60 : #if SK3_ENABLED
61 : module procedure test_getComplement_D0_SK3_1
62 : use pm_kind, only: SKC => SK3
63 : #include "test_pm_arrayComplement@routines.inc.F90"
64 : end procedure
65 : #endif
66 :
67 : #if SK2_ENABLED
68 : module procedure test_getComplement_D0_SK2_1
69 : use pm_kind, only: SKC => SK2
70 : #include "test_pm_arrayComplement@routines.inc.F90"
71 : end procedure
72 : #endif
73 :
74 : #if SK1_ENABLED
75 1 : module procedure test_getComplement_D0_SK1_1
76 : use pm_kind, only: SKC => SK1
77 : #include "test_pm_arrayComplement@routines.inc.F90"
78 : end procedure
79 : #endif
80 :
81 : #undef getComplement_D0_SK_ENABLED
82 :
83 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
84 :
85 : #define getComplement_D1_SK_ENABLED 1
86 :
87 : #if SK5_ENABLED
88 : module procedure test_getComplement_D1_SK5_1
89 : use pm_kind, only: SKC => SK5
90 : #include "test_pm_arrayComplement@routines.inc.F90"
91 : end procedure
92 : #endif
93 :
94 : #if SK4_ENABLED
95 : module procedure test_getComplement_D1_SK4_1
96 : use pm_kind, only: SKC => SK4
97 : #include "test_pm_arrayComplement@routines.inc.F90"
98 : end procedure
99 : #endif
100 :
101 : #if SK3_ENABLED
102 : module procedure test_getComplement_D1_SK3_1
103 : use pm_kind, only: SKC => SK3
104 : #include "test_pm_arrayComplement@routines.inc.F90"
105 : end procedure
106 : #endif
107 :
108 : #if SK2_ENABLED
109 : module procedure test_getComplement_D1_SK2_1
110 : use pm_kind, only: SKC => SK2
111 : #include "test_pm_arrayComplement@routines.inc.F90"
112 : end procedure
113 : #endif
114 :
115 : #if SK1_ENABLED
116 1 : module procedure test_getComplement_D1_SK1_1
117 : use pm_kind, only: SKC => SK1
118 : #include "test_pm_arrayComplement@routines.inc.F90"
119 : end procedure
120 : #endif
121 :
122 : #undef getComplement_D1_SK_ENABLED
123 :
124 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125 :
126 : #define getComplement_D1_IK_ENABLED 1
127 :
128 : #if IK5_ENABLED
129 1 : module procedure test_getComplement_D1_IK5_1
130 : use pm_kind, only: IKC => IK5
131 : #include "test_pm_arrayComplement@routines.inc.F90"
132 : end procedure
133 : #endif
134 :
135 : #if IK4_ENABLED
136 1 : module procedure test_getComplement_D1_IK4_1
137 : use pm_kind, only: IKC => IK4
138 : #include "test_pm_arrayComplement@routines.inc.F90"
139 : end procedure
140 : #endif
141 :
142 : #if IK3_ENABLED
143 1 : module procedure test_getComplement_D1_IK3_1
144 : use pm_kind, only: IKC => IK3
145 : #include "test_pm_arrayComplement@routines.inc.F90"
146 : end procedure
147 : #endif
148 :
149 : #if IK2_ENABLED
150 1 : module procedure test_getComplement_D1_IK2_1
151 : use pm_kind, only: IKC => IK2
152 : #include "test_pm_arrayComplement@routines.inc.F90"
153 : end procedure
154 : #endif
155 :
156 : #if IK1_ENABLED
157 1 : module procedure test_getComplement_D1_IK1_1
158 : use pm_kind, only: IKC => IK1
159 : #include "test_pm_arrayComplement@routines.inc.F90"
160 : end procedure
161 : #endif
162 :
163 : #undef getComplement_D1_IK_ENABLED
164 :
165 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166 :
167 : #define getComplement_D1_LK_ENABLED 1
168 :
169 : #if LK5_ENABLED
170 1 : module procedure test_getComplement_D1_LK5_1
171 : use pm_kind, only: LKC => LK5
172 : #include "test_pm_arrayComplement@routines.inc.F90"
173 : end procedure
174 : #endif
175 :
176 : #if LK4_ENABLED
177 1 : module procedure test_getComplement_D1_LK4_1
178 : use pm_kind, only: LKC => LK4
179 : #include "test_pm_arrayComplement@routines.inc.F90"
180 : end procedure
181 : #endif
182 :
183 : #if LK3_ENABLED
184 1 : module procedure test_getComplement_D1_LK3_1
185 : use pm_kind, only: LKC => LK3
186 : #include "test_pm_arrayComplement@routines.inc.F90"
187 : end procedure
188 : #endif
189 :
190 : #if LK2_ENABLED
191 1 : module procedure test_getComplement_D1_LK2_1
192 : use pm_kind, only: LKC => LK2
193 : #include "test_pm_arrayComplement@routines.inc.F90"
194 : end procedure
195 : #endif
196 :
197 : #if LK1_ENABLED
198 1 : module procedure test_getComplement_D1_LK1_1
199 : use pm_kind, only: LKC => LK1
200 : #include "test_pm_arrayComplement@routines.inc.F90"
201 : end procedure
202 : #endif
203 :
204 : #undef getComplement_D1_LK_ENABLED
205 :
206 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207 :
208 : #define getComplement_D1_CK_ENABLED 1
209 :
210 : #if CK5_ENABLED
211 : module procedure test_getComplement_D1_CK5_1
212 : use pm_kind, only: CKC => CK5
213 : #include "test_pm_arrayComplement@routines.inc.F90"
214 : end procedure
215 : #endif
216 :
217 : #if CK4_ENABLED
218 1 : module procedure test_getComplement_D1_CK4_1
219 : use pm_kind, only: CKC => CK4
220 : #include "test_pm_arrayComplement@routines.inc.F90"
221 : end procedure
222 : #endif
223 :
224 : #if CK3_ENABLED
225 1 : module procedure test_getComplement_D1_CK3_1
226 : use pm_kind, only: CKC => CK3
227 : #include "test_pm_arrayComplement@routines.inc.F90"
228 : end procedure
229 : #endif
230 :
231 : #if CK2_ENABLED
232 1 : module procedure test_getComplement_D1_CK2_1
233 : use pm_kind, only: CKC => CK2
234 : #include "test_pm_arrayComplement@routines.inc.F90"
235 : end procedure
236 : #endif
237 :
238 : #if CK1_ENABLED
239 1 : module procedure test_getComplement_D1_CK1_1
240 : use pm_kind, only: CKC => CK1
241 : #include "test_pm_arrayComplement@routines.inc.F90"
242 : end procedure
243 : #endif
244 :
245 : #undef getComplement_D1_CK_ENABLED
246 :
247 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
248 :
249 : #define getComplement_D1_RK_ENABLED 1
250 :
251 : #if RK5_ENABLED
252 : module procedure test_getComplement_D1_RK5_1
253 : use pm_kind, only: RKC => RK5
254 : #include "test_pm_arrayComplement@routines.inc.F90"
255 : end procedure
256 : #endif
257 :
258 : #if RK4_ENABLED
259 1 : module procedure test_getComplement_D1_RK4_1
260 : use pm_kind, only: RKC => RK4
261 : #include "test_pm_arrayComplement@routines.inc.F90"
262 : end procedure
263 : #endif
264 :
265 : #if RK3_ENABLED
266 1 : module procedure test_getComplement_D1_RK3_1
267 : use pm_kind, only: RKC => RK3
268 : #include "test_pm_arrayComplement@routines.inc.F90"
269 : end procedure
270 : #endif
271 :
272 : #if RK2_ENABLED
273 1 : module procedure test_getComplement_D1_RK2_1
274 : use pm_kind, only: RKC => RK2
275 : #include "test_pm_arrayComplement@routines.inc.F90"
276 : end procedure
277 : #endif
278 :
279 : #if RK1_ENABLED
280 1 : module procedure test_getComplement_D1_RK1_1
281 : use pm_kind, only: RKC => RK1
282 : #include "test_pm_arrayComplement@routines.inc.F90"
283 : end procedure
284 : #endif
285 :
286 : #undef getComplement_D1_RK_ENABLED
287 :
288 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
289 :
290 : #undef getComplement_ENABLED
291 :
292 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293 :
294 : #define getComplementRange_ENABLED 1
295 :
296 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297 :
298 : #define getComplementRange_D1_IK_ENABLED 1
299 :
300 : #if IK5_ENABLED
301 1 : module procedure test_getComplementRange_D1_IK5_1
302 : use pm_kind, only: IKC => IK5
303 : #include "test_pm_arrayComplement@routines.inc.F90"
304 : end procedure
305 : #endif
306 :
307 : #if IK4_ENABLED
308 1 : module procedure test_getComplementRange_D1_IK4_1
309 : use pm_kind, only: IKC => IK4
310 : #include "test_pm_arrayComplement@routines.inc.F90"
311 : end procedure
312 : #endif
313 :
314 : #if IK3_ENABLED
315 1 : module procedure test_getComplementRange_D1_IK3_1
316 : use pm_kind, only: IKC => IK3
317 : #include "test_pm_arrayComplement@routines.inc.F90"
318 : end procedure
319 : #endif
320 :
321 : #if IK2_ENABLED
322 1 : module procedure test_getComplementRange_D1_IK2_1
323 : use pm_kind, only: IKC => IK2
324 : #include "test_pm_arrayComplement@routines.inc.F90"
325 : end procedure
326 : #endif
327 :
328 : #if IK1_ENABLED
329 1 : module procedure test_getComplementRange_D1_IK1_1
330 : use pm_kind, only: IKC => IK1
331 : #include "test_pm_arrayComplement@routines.inc.F90"
332 : end procedure
333 : #endif
334 :
335 : #undef getComplementRange_D1_IK_ENABLED
336 :
337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338 :
339 : #undef getComplementRange_ENABLED
340 :
341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342 :
343 : end submodule routines
|