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_arrayRemove](@ref test_pm_arrayRemove).
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_arrayRemove) routines ! LCOV_EXCL_LINE
28 :
29 : use pm_arrayShuffle, only: setShuffled
30 : use pm_val2str, only: getStr
31 : implicit none
32 :
33 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34 :
35 : contains
36 :
37 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38 :
39 : #define setRemoved_ENABLED 1
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : #define D0_D0_ENABLED 1
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : #define SK_ENABLED 1
50 :
51 : #if SK5_ENABLED
52 : module procedure test_setRemoved_D0_D0_SK5
53 : use pm_kind, only: SKC => SK5
54 : #include "test_pm_arrayRemove@routines.inc.F90"
55 : end procedure
56 : #endif
57 :
58 : #if SK4_ENABLED
59 : module procedure test_setRemoved_D0_D0_SK4
60 : use pm_kind, only: SK, SKC => SK4
61 : #include "test_pm_arrayRemove@routines.inc.F90"
62 : end procedure
63 : #endif
64 :
65 : #if SK3_ENABLED
66 : module procedure test_setRemoved_D0_D0_SK3
67 : use pm_kind, only: SK, SKC => SK3
68 : #include "test_pm_arrayRemove@routines.inc.F90"
69 : end procedure
70 : #endif
71 :
72 : #if SK2_ENABLED
73 : module procedure test_setRemoved_D0_D0_SK2
74 : use pm_kind, only: SK, SKC => SK2
75 : #include "test_pm_arrayRemove@routines.inc.F90"
76 : end procedure
77 : #endif
78 :
79 : #if SK1_ENABLED
80 1 : module procedure test_setRemoved_D0_D0_SK1
81 : use pm_kind, only: SK, SKC => SK1
82 : #include "test_pm_arrayRemove@routines.inc.F90"
83 : end procedure
84 : #endif
85 :
86 : #undef SK_ENABLED
87 :
88 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
89 :
90 : #undef D0_D0_ENABLED
91 :
92 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
93 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95 :
96 : #define D1_D0_ENABLED 1
97 :
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 :
100 : #define SK_ENABLED 1
101 :
102 : #if SK5_ENABLED
103 : module procedure test_setRemoved_D1_D0_SK5
104 : use pm_kind, only: SKC => SK5
105 : #include "test_pm_arrayRemove@routines.inc.F90"
106 : end procedure
107 : #endif
108 :
109 : #if SK4_ENABLED
110 : module procedure test_setRemoved_D1_D0_SK4
111 : use pm_kind, only: SK, SKC => SK4
112 : #include "test_pm_arrayRemove@routines.inc.F90"
113 : end procedure
114 : #endif
115 :
116 : #if SK3_ENABLED
117 : module procedure test_setRemoved_D1_D0_SK3
118 : use pm_kind, only: SK, SKC => SK3
119 : #include "test_pm_arrayRemove@routines.inc.F90"
120 : end procedure
121 : #endif
122 :
123 : #if SK2_ENABLED
124 : module procedure test_setRemoved_D1_D0_SK2
125 : use pm_kind, only: SK, SKC => SK2
126 : #include "test_pm_arrayRemove@routines.inc.F90"
127 : end procedure
128 : #endif
129 :
130 : #if SK1_ENABLED
131 1 : module procedure test_setRemoved_D1_D0_SK1
132 : use pm_kind, only: SK, SKC => SK1
133 : #include "test_pm_arrayRemove@routines.inc.F90"
134 : end procedure
135 : #endif
136 :
137 : #undef SK_ENABLED
138 :
139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140 :
141 : #define IK_ENABLED 1
142 :
143 : #if IK5_ENABLED
144 1 : module procedure test_setRemoved_D1_D0_IK5
145 : use pm_kind, only: IKC => IK5
146 : #include "test_pm_arrayRemove@routines.inc.F90"
147 : end procedure
148 : #endif
149 :
150 : #if IK4_ENABLED
151 1 : module procedure test_setRemoved_D1_D0_IK4
152 : use pm_kind, only: IK, IKC => IK4
153 : #include "test_pm_arrayRemove@routines.inc.F90"
154 : end procedure
155 : #endif
156 :
157 : #if IK3_ENABLED
158 1 : module procedure test_setRemoved_D1_D0_IK3
159 : use pm_kind, only: IK, IKC => IK3
160 : #include "test_pm_arrayRemove@routines.inc.F90"
161 : end procedure
162 : #endif
163 :
164 : #if IK2_ENABLED
165 1 : module procedure test_setRemoved_D1_D0_IK2
166 : use pm_kind, only: IK, IKC => IK2
167 : #include "test_pm_arrayRemove@routines.inc.F90"
168 : end procedure
169 : #endif
170 :
171 : #if IK1_ENABLED
172 1 : module procedure test_setRemoved_D1_D0_IK1
173 : use pm_kind, only: IK, IKC => IK1
174 : #include "test_pm_arrayRemove@routines.inc.F90"
175 : end procedure
176 : #endif
177 :
178 : #undef IK_ENABLED
179 :
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #define LK_ENABLED 1
183 :
184 : #if LK5_ENABLED
185 1 : module procedure test_setRemoved_D1_D0_LK5
186 : use pm_kind, only: LKC => LK5
187 : #include "test_pm_arrayRemove@routines.inc.F90"
188 : end procedure
189 : #endif
190 :
191 : #if LK4_ENABLED
192 1 : module procedure test_setRemoved_D1_D0_LK4
193 : use pm_kind, only: LK, LKC => LK4
194 : #include "test_pm_arrayRemove@routines.inc.F90"
195 : end procedure
196 : #endif
197 :
198 : #if LK3_ENABLED
199 1 : module procedure test_setRemoved_D1_D0_LK3
200 : use pm_kind, only: LK, LKC => LK3
201 : #include "test_pm_arrayRemove@routines.inc.F90"
202 : end procedure
203 : #endif
204 :
205 : #if LK2_ENABLED
206 1 : module procedure test_setRemoved_D1_D0_LK2
207 : use pm_kind, only: LK, LKC => LK2
208 : #include "test_pm_arrayRemove@routines.inc.F90"
209 : end procedure
210 : #endif
211 :
212 : #if LK1_ENABLED
213 1 : module procedure test_setRemoved_D1_D0_LK1
214 : use pm_kind, only: LK, LKC => LK1
215 : #include "test_pm_arrayRemove@routines.inc.F90"
216 : end procedure
217 : #endif
218 :
219 : #undef LK_ENABLED
220 :
221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222 :
223 : #define CK_ENABLED 1
224 :
225 : #if CK5_ENABLED
226 : module procedure test_setRemoved_D1_D0_CK5
227 : use pm_kind, only: CKC => CK5
228 : #include "test_pm_arrayRemove@routines.inc.F90"
229 : end procedure
230 : #endif
231 :
232 : #if CK4_ENABLED
233 1 : module procedure test_setRemoved_D1_D0_CK4
234 : use pm_kind, only: CK, CKC => CK4
235 : #include "test_pm_arrayRemove@routines.inc.F90"
236 : end procedure
237 : #endif
238 :
239 : #if CK3_ENABLED
240 1 : module procedure test_setRemoved_D1_D0_CK3
241 : use pm_kind, only: CK, CKC => CK3
242 : #include "test_pm_arrayRemove@routines.inc.F90"
243 : end procedure
244 : #endif
245 :
246 : #if CK2_ENABLED
247 1 : module procedure test_setRemoved_D1_D0_CK2
248 : use pm_kind, only: CK, CKC => CK2
249 : #include "test_pm_arrayRemove@routines.inc.F90"
250 : end procedure
251 : #endif
252 :
253 : #if CK1_ENABLED
254 1 : module procedure test_setRemoved_D1_D0_CK1
255 : use pm_kind, only: CK, CKC => CK1
256 : #include "test_pm_arrayRemove@routines.inc.F90"
257 : end procedure
258 : #endif
259 :
260 : #undef CK_ENABLED
261 :
262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263 :
264 : #define RK_ENABLED 1
265 :
266 : #if RK5_ENABLED
267 : module procedure test_setRemoved_D1_D0_RK5
268 : use pm_kind, only: RKC => RK5
269 : #include "test_pm_arrayRemove@routines.inc.F90"
270 : end procedure
271 : #endif
272 :
273 : #if RK4_ENABLED
274 1 : module procedure test_setRemoved_D1_D0_RK4
275 : use pm_kind, only: RK, RKC => RK4
276 : #include "test_pm_arrayRemove@routines.inc.F90"
277 : end procedure
278 : #endif
279 :
280 : #if RK3_ENABLED
281 1 : module procedure test_setRemoved_D1_D0_RK3
282 : use pm_kind, only: RK, RKC => RK3
283 : #include "test_pm_arrayRemove@routines.inc.F90"
284 : end procedure
285 : #endif
286 :
287 : #if RK2_ENABLED
288 1 : module procedure test_setRemoved_D1_D0_RK2
289 : use pm_kind, only: RK, RKC => RK2
290 : #include "test_pm_arrayRemove@routines.inc.F90"
291 : end procedure
292 : #endif
293 :
294 : #if RK1_ENABLED
295 1 : module procedure test_setRemoved_D1_D0_RK1
296 : use pm_kind, only: RK, RKC => RK1
297 : #include "test_pm_arrayRemove@routines.inc.F90"
298 : end procedure
299 : #endif
300 :
301 : #undef RK_ENABLED
302 :
303 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
304 :
305 : #undef D1_D0_ENABLED
306 :
307 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
309 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
310 :
311 : #define D1_D1_ENABLED 1
312 :
313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 :
315 : #define SK_ENABLED 1
316 :
317 : #if SK5_ENABLED
318 : module procedure test_setRemoved_D1_D1_SK5
319 : use pm_kind, only: SKC => SK5
320 : #include "test_pm_arrayRemove@routines.inc.F90"
321 : end procedure
322 : #endif
323 :
324 : #if SK4_ENABLED
325 : module procedure test_setRemoved_D1_D1_SK4
326 : use pm_kind, only: SK, SKC => SK4
327 : #include "test_pm_arrayRemove@routines.inc.F90"
328 : end procedure
329 : #endif
330 :
331 : #if SK3_ENABLED
332 : module procedure test_setRemoved_D1_D1_SK3
333 : use pm_kind, only: SK, SKC => SK3
334 : #include "test_pm_arrayRemove@routines.inc.F90"
335 : end procedure
336 : #endif
337 :
338 : #if SK2_ENABLED
339 : module procedure test_setRemoved_D1_D1_SK2
340 : use pm_kind, only: SK, SKC => SK2
341 : #include "test_pm_arrayRemove@routines.inc.F90"
342 : end procedure
343 : #endif
344 :
345 : #if SK1_ENABLED
346 1 : module procedure test_setRemoved_D1_D1_SK1
347 : use pm_kind, only: SK, SKC => SK1
348 : #include "test_pm_arrayRemove@routines.inc.F90"
349 : end procedure
350 : #endif
351 :
352 : #undef SK_ENABLED
353 :
354 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
355 :
356 : #define IK_ENABLED 1
357 :
358 : #if IK5_ENABLED
359 1 : module procedure test_setRemoved_D1_D1_IK5
360 : use pm_kind, only: IKC => IK5
361 : #include "test_pm_arrayRemove@routines.inc.F90"
362 : end procedure
363 : #endif
364 :
365 : #if IK4_ENABLED
366 1 : module procedure test_setRemoved_D1_D1_IK4
367 : use pm_kind, only: IK, IKC => IK4
368 : #include "test_pm_arrayRemove@routines.inc.F90"
369 : end procedure
370 : #endif
371 :
372 : #if IK3_ENABLED
373 1 : module procedure test_setRemoved_D1_D1_IK3
374 : use pm_kind, only: IK, IKC => IK3
375 : #include "test_pm_arrayRemove@routines.inc.F90"
376 : end procedure
377 : #endif
378 :
379 : #if IK2_ENABLED
380 1 : module procedure test_setRemoved_D1_D1_IK2
381 : use pm_kind, only: IK, IKC => IK2
382 : #include "test_pm_arrayRemove@routines.inc.F90"
383 : end procedure
384 : #endif
385 :
386 : #if IK1_ENABLED
387 1 : module procedure test_setRemoved_D1_D1_IK1
388 : use pm_kind, only: IK, IKC => IK1
389 : #include "test_pm_arrayRemove@routines.inc.F90"
390 : end procedure
391 : #endif
392 :
393 : #undef IK_ENABLED
394 :
395 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 :
397 : #define LK_ENABLED 1
398 :
399 : #if LK5_ENABLED
400 1 : module procedure test_setRemoved_D1_D1_LK5
401 : use pm_kind, only: LKC => LK5
402 : #include "test_pm_arrayRemove@routines.inc.F90"
403 : end procedure
404 : #endif
405 :
406 : #if LK4_ENABLED
407 1 : module procedure test_setRemoved_D1_D1_LK4
408 : use pm_kind, only: LK, LKC => LK4
409 : #include "test_pm_arrayRemove@routines.inc.F90"
410 : end procedure
411 : #endif
412 :
413 : #if LK3_ENABLED
414 1 : module procedure test_setRemoved_D1_D1_LK3
415 : use pm_kind, only: LK, LKC => LK3
416 : #include "test_pm_arrayRemove@routines.inc.F90"
417 : end procedure
418 : #endif
419 :
420 : #if LK2_ENABLED
421 1 : module procedure test_setRemoved_D1_D1_LK2
422 : use pm_kind, only: LK, LKC => LK2
423 : #include "test_pm_arrayRemove@routines.inc.F90"
424 : end procedure
425 : #endif
426 :
427 : #if LK1_ENABLED
428 1 : module procedure test_setRemoved_D1_D1_LK1
429 : use pm_kind, only: LK, LKC => LK1
430 : #include "test_pm_arrayRemove@routines.inc.F90"
431 : end procedure
432 : #endif
433 :
434 : #undef LK_ENABLED
435 :
436 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
437 :
438 : #define CK_ENABLED 1
439 :
440 : #if CK5_ENABLED
441 : module procedure test_setRemoved_D1_D1_CK5
442 : use pm_kind, only: CKC => CK5
443 : #include "test_pm_arrayRemove@routines.inc.F90"
444 : end procedure
445 : #endif
446 :
447 : #if CK4_ENABLED
448 1 : module procedure test_setRemoved_D1_D1_CK4
449 : use pm_kind, only: CK, CKC => CK4
450 : #include "test_pm_arrayRemove@routines.inc.F90"
451 : end procedure
452 : #endif
453 :
454 : #if CK3_ENABLED
455 1 : module procedure test_setRemoved_D1_D1_CK3
456 : use pm_kind, only: CK, CKC => CK3
457 : #include "test_pm_arrayRemove@routines.inc.F90"
458 : end procedure
459 : #endif
460 :
461 : #if CK2_ENABLED
462 1 : module procedure test_setRemoved_D1_D1_CK2
463 : use pm_kind, only: CK, CKC => CK2
464 : #include "test_pm_arrayRemove@routines.inc.F90"
465 : end procedure
466 : #endif
467 :
468 : #if CK1_ENABLED
469 1 : module procedure test_setRemoved_D1_D1_CK1
470 : use pm_kind, only: CK, CKC => CK1
471 : #include "test_pm_arrayRemove@routines.inc.F90"
472 : end procedure
473 : #endif
474 :
475 : #undef CK_ENABLED
476 :
477 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
478 :
479 : #define RK_ENABLED 1
480 :
481 : #if RK5_ENABLED
482 : module procedure test_setRemoved_D1_D1_RK5
483 : use pm_kind, only: RKC => RK5
484 : #include "test_pm_arrayRemove@routines.inc.F90"
485 : end procedure
486 : #endif
487 :
488 : #if RK4_ENABLED
489 1 : module procedure test_setRemoved_D1_D1_RK4
490 : use pm_kind, only: RK, RKC => RK4
491 : #include "test_pm_arrayRemove@routines.inc.F90"
492 : end procedure
493 : #endif
494 :
495 : #if RK3_ENABLED
496 1 : module procedure test_setRemoved_D1_D1_RK3
497 : use pm_kind, only: RK, RKC => RK3
498 : #include "test_pm_arrayRemove@routines.inc.F90"
499 : end procedure
500 : #endif
501 :
502 : #if RK2_ENABLED
503 1 : module procedure test_setRemoved_D1_D1_RK2
504 : use pm_kind, only: RK, RKC => RK2
505 : #include "test_pm_arrayRemove@routines.inc.F90"
506 : end procedure
507 : #endif
508 :
509 : #if RK1_ENABLED
510 1 : module procedure test_setRemoved_D1_D1_RK1
511 : use pm_kind, only: RK, RKC => RK1
512 : #include "test_pm_arrayRemove@routines.inc.F90"
513 : end procedure
514 : #endif
515 :
516 : #undef RK_ENABLED
517 :
518 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
519 :
520 : #undef D1_D1_ENABLED
521 :
522 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
523 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
524 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
525 :
526 : #undef setRemoved_ENABLED
527 :
528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
529 :
530 : end submodule routines
|