ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_arrayUnique.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
42 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43
44#if SK5_ENABLED
45 module function test_isUnique_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
46#endif
47#if SK4_ENABLED
48 module function test_isUnique_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
49#endif
50#if SK3_ENABLED
51 module function test_isUnique_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
52#endif
53#if SK2_ENABLED
54 module function test_isUnique_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
55#endif
56#if SK1_ENABLED
57 module function test_isUnique_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
58#endif
59
60 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61
62#if SK5_ENABLED
63 module function test_isUnique_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if SK4_ENABLED
66 module function test_isUnique_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
67#endif
68#if SK3_ENABLED
69 module function test_isUnique_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
70#endif
71#if SK2_ENABLED
72 module function test_isUnique_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
73#endif
74#if SK1_ENABLED
75 module function test_isUnique_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
76#endif
77
78 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79
80#if IK5_ENABLED
81 module function test_isUnique_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
82#endif
83#if IK4_ENABLED
84 module function test_isUnique_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
85#endif
86#if IK3_ENABLED
87 module function test_isUnique_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
88#endif
89#if IK2_ENABLED
90 module function test_isUnique_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
91#endif
92#if IK1_ENABLED
93 module function test_isUnique_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
94#endif
95
96 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97
98#if LK5_ENABLED
99 module function test_isUnique_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
100#endif
101#if LK4_ENABLED
102 module function test_isUnique_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
103#endif
104#if LK3_ENABLED
105 module function test_isUnique_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
106#endif
107#if LK2_ENABLED
108 module function test_isUnique_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
109#endif
110#if LK1_ENABLED
111 module function test_isUnique_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
112#endif
113
114 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115
116#if CK5_ENABLED
117 module function test_isUnique_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
118#endif
119#if CK4_ENABLED
120 module function test_isUnique_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
121#endif
122#if CK3_ENABLED
123 module function test_isUnique_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
124#endif
125#if CK2_ENABLED
126 module function test_isUnique_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
127#endif
128#if CK1_ENABLED
129 module function test_isUnique_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
130#endif
131
132 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133
134#if RK5_ENABLED
135 module function test_isUnique_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
136#endif
137#if RK4_ENABLED
138 module function test_isUnique_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
139#endif
140#if RK3_ENABLED
141 module function test_isUnique_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
142#endif
143#if RK2_ENABLED
144 module function test_isUnique_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
145#endif
146#if RK1_ENABLED
147 module function test_isUnique_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
148#endif
149
150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151
152 end interface
153
154!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155
156 interface
157
158 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159
160#if SK5_ENABLED
161 module function test_isUniqueAll_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
162#endif
163#if SK4_ENABLED
164 module function test_isUniqueAll_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
165#endif
166#if SK3_ENABLED
167 module function test_isUniqueAll_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
168#endif
169#if SK2_ENABLED
170 module function test_isUniqueAll_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
171#endif
172#if SK1_ENABLED
173 module function test_isUniqueAll_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
174#endif
175
176 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177
178#if SK5_ENABLED
179 module function test_isUniqueAll_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
180#endif
181#if SK4_ENABLED
182 module function test_isUniqueAll_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
183#endif
184#if SK3_ENABLED
185 module function test_isUniqueAll_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
186#endif
187#if SK2_ENABLED
188 module function test_isUniqueAll_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
189#endif
190#if SK1_ENABLED
191 module function test_isUniqueAll_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
192#endif
193
194 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195
196#if IK5_ENABLED
197 module function test_isUniqueAll_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
198#endif
199#if IK4_ENABLED
200 module function test_isUniqueAll_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
201#endif
202#if IK3_ENABLED
203 module function test_isUniqueAll_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
204#endif
205#if IK2_ENABLED
206 module function test_isUniqueAll_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
207#endif
208#if IK1_ENABLED
209 module function test_isUniqueAll_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
210#endif
211
212 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213
214#if LK5_ENABLED
215 module function test_isUniqueAll_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
216#endif
217#if LK4_ENABLED
218 module function test_isUniqueAll_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
219#endif
220#if LK3_ENABLED
221 module function test_isUniqueAll_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
222#endif
223#if LK2_ENABLED
224 module function test_isUniqueAll_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
225#endif
226#if LK1_ENABLED
227 module function test_isUniqueAll_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
228#endif
229
230 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231
232#if CK5_ENABLED
233 module function test_isUniqueAll_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
234#endif
235#if CK4_ENABLED
236 module function test_isUniqueAll_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
237#endif
238#if CK3_ENABLED
239 module function test_isUniqueAll_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
240#endif
241#if CK2_ENABLED
242 module function test_isUniqueAll_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
243#endif
244#if CK1_ENABLED
245 module function test_isUniqueAll_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
246#endif
247
248 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
249
250#if RK5_ENABLED
251 module function test_isUniqueAll_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
252#endif
253#if RK4_ENABLED
254 module function test_isUniqueAll_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
255#endif
256#if RK3_ENABLED
257 module function test_isUniqueAll_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
258#endif
259#if RK2_ENABLED
260 module function test_isUniqueAll_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
261#endif
262#if RK1_ENABLED
263 module function test_isUniqueAll_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
264#endif
265
266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267
268 end interface
269
270!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271
272 interface
273
274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275
276#if SK5_ENABLED
277 module function test_isUniqueAny_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
278#endif
279#if SK4_ENABLED
280 module function test_isUniqueAny_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
281#endif
282#if SK3_ENABLED
283 module function test_isUniqueAny_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
284#endif
285#if SK2_ENABLED
286 module function test_isUniqueAny_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
287#endif
288#if SK1_ENABLED
289 module function test_isUniqueAny_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
290#endif
291
292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293
294#if SK5_ENABLED
295 module function test_isUniqueAny_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
296#endif
297#if SK4_ENABLED
298 module function test_isUniqueAny_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
299#endif
300#if SK3_ENABLED
301 module function test_isUniqueAny_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
302#endif
303#if SK2_ENABLED
304 module function test_isUniqueAny_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
305#endif
306#if SK1_ENABLED
307 module function test_isUniqueAny_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
308#endif
309
310 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311
312#if IK5_ENABLED
313 module function test_isUniqueAny_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
314#endif
315#if IK4_ENABLED
316 module function test_isUniqueAny_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
317#endif
318#if IK3_ENABLED
319 module function test_isUniqueAny_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
320#endif
321#if IK2_ENABLED
322 module function test_isUniqueAny_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
323#endif
324#if IK1_ENABLED
325 module function test_isUniqueAny_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
326#endif
327
328 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329
330#if LK5_ENABLED
331 module function test_isUniqueAny_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
332#endif
333#if LK4_ENABLED
334 module function test_isUniqueAny_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
335#endif
336#if LK3_ENABLED
337 module function test_isUniqueAny_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
338#endif
339#if LK2_ENABLED
340 module function test_isUniqueAny_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
341#endif
342#if LK1_ENABLED
343 module function test_isUniqueAny_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
344#endif
345
346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347
348#if CK5_ENABLED
349 module function test_isUniqueAny_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
350#endif
351#if CK4_ENABLED
352 module function test_isUniqueAny_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
353#endif
354#if CK3_ENABLED
355 module function test_isUniqueAny_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
356#endif
357#if CK2_ENABLED
358 module function test_isUniqueAny_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
359#endif
360#if CK1_ENABLED
361 module function test_isUniqueAny_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
362#endif
363
364 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365
366#if RK5_ENABLED
367 module function test_isUniqueAny_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
368#endif
369#if RK4_ENABLED
370 module function test_isUniqueAny_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
371#endif
372#if RK3_ENABLED
373 module function test_isUniqueAny_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
374#endif
375#if RK2_ENABLED
376 module function test_isUniqueAny_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
377#endif
378#if RK1_ENABLED
379 module function test_isUniqueAny_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
380#endif
381
382 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
383
384 end interface
385
386!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
387
388 interface
389
390 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391
392#if SK5_ENABLED
393 module function test_getUnique_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
394#endif
395#if SK4_ENABLED
396 module function test_getUnique_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
397#endif
398#if SK3_ENABLED
399 module function test_getUnique_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
400#endif
401#if SK2_ENABLED
402 module function test_getUnique_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
403#endif
404#if SK1_ENABLED
405 module function test_getUnique_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
406#endif
407
408 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409
410#if SK5_ENABLED
411 module function test_getUnique_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
412#endif
413#if SK4_ENABLED
414 module function test_getUnique_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
415#endif
416#if SK3_ENABLED
417 module function test_getUnique_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
418#endif
419#if SK2_ENABLED
420 module function test_getUnique_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
421#endif
422#if SK1_ENABLED
423 module function test_getUnique_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
424#endif
425
426 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
427
428#if IK5_ENABLED
429 module function test_getUnique_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
430#endif
431#if IK4_ENABLED
432 module function test_getUnique_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
433#endif
434#if IK3_ENABLED
435 module function test_getUnique_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
436#endif
437#if IK2_ENABLED
438 module function test_getUnique_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
439#endif
440#if IK1_ENABLED
441 module function test_getUnique_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
442#endif
443
444 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
445
446#if LK5_ENABLED
447 module function test_getUnique_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
448#endif
449#if LK4_ENABLED
450 module function test_getUnique_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
451#endif
452#if LK3_ENABLED
453 module function test_getUnique_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
454#endif
455#if LK2_ENABLED
456 module function test_getUnique_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
457#endif
458#if LK1_ENABLED
459 module function test_getUnique_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
460#endif
461
462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
463
464#if CK5_ENABLED
465 module function test_getUnique_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
466#endif
467#if CK4_ENABLED
468 module function test_getUnique_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
469#endif
470#if CK3_ENABLED
471 module function test_getUnique_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
472#endif
473#if CK2_ENABLED
474 module function test_getUnique_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
475#endif
476#if CK1_ENABLED
477 module function test_getUnique_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
478#endif
479
480 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
481
482#if RK5_ENABLED
483 module function test_getUnique_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
484#endif
485#if RK4_ENABLED
486 module function test_getUnique_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
487#endif
488#if RK3_ENABLED
489 module function test_getUnique_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
490#endif
491#if RK2_ENABLED
492 module function test_getUnique_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
493#endif
494#if RK1_ENABLED
495 module function test_getUnique_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
496#endif
497
498 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
499
500 end interface
501
502!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503
504 interface
505
506 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
507
508#if SK5_ENABLED
509 module function test_setUnique_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
510#endif
511#if SK4_ENABLED
512 module function test_setUnique_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
513#endif
514#if SK3_ENABLED
515 module function test_setUnique_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
516#endif
517#if SK2_ENABLED
518 module function test_setUnique_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
519#endif
520#if SK1_ENABLED
521 module function test_setUnique_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
522#endif
523
524 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
525
526#if SK5_ENABLED
527 module function test_setUnique_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
528#endif
529#if SK4_ENABLED
530 module function test_setUnique_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
531#endif
532#if SK3_ENABLED
533 module function test_setUnique_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
534#endif
535#if SK2_ENABLED
536 module function test_setUnique_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
537#endif
538#if SK1_ENABLED
539 module function test_setUnique_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
540#endif
541
542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543
544#if IK5_ENABLED
545 module function test_setUnique_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
546#endif
547#if IK4_ENABLED
548 module function test_setUnique_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
549#endif
550#if IK3_ENABLED
551 module function test_setUnique_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
552#endif
553#if IK2_ENABLED
554 module function test_setUnique_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
555#endif
556#if IK1_ENABLED
557 module function test_setUnique_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
558#endif
559
560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
561
562#if LK5_ENABLED
563 module function test_setUnique_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
564#endif
565#if LK4_ENABLED
566 module function test_setUnique_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
567#endif
568#if LK3_ENABLED
569 module function test_setUnique_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
570#endif
571#if LK2_ENABLED
572 module function test_setUnique_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
573#endif
574#if LK1_ENABLED
575 module function test_setUnique_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
576#endif
577
578 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
579
580#if CK5_ENABLED
581 module function test_setUnique_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
582#endif
583#if CK4_ENABLED
584 module function test_setUnique_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
585#endif
586#if CK3_ENABLED
587 module function test_setUnique_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
588#endif
589#if CK2_ENABLED
590 module function test_setUnique_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
591#endif
592#if CK1_ENABLED
593 module function test_setUnique_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
594#endif
595
596 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
597
598#if RK5_ENABLED
599 module function test_setUnique_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
600#endif
601#if RK4_ENABLED
602 module function test_setUnique_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
603#endif
604#if RK3_ENABLED
605 module function test_setUnique_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
606#endif
607#if RK2_ENABLED
608 module function test_setUnique_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
609#endif
610#if RK1_ENABLED
611 module function test_setUnique_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
612#endif
613
614 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
615
616 end interface
617
618!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
619
620contains
621
622!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623
624 subroutine setTest()
625
626 implicit none
627
629
630 call test%run(test_getUnique_D1_1, SK_"test_getUnique_D1_1")
631
632 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
633 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
635
636 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
637
638#if SK5_ENABLED
639 call test%run(test_isUnique_D0_SK5_1, SK_"test_isUnique_D0_SK5_1")
640#endif
641#if SK4_ENABLED
642 call test%run(test_isUnique_D0_SK4_1, SK_"test_isUnique_D0_SK4_1")
643#endif
644#if SK3_ENABLED
645 call test%run(test_isUnique_D0_SK3_1, SK_"test_isUnique_D0_SK3_1")
646#endif
647#if SK2_ENABLED
648 call test%run(test_isUnique_D0_SK2_1, SK_"test_isUnique_D0_SK2_1")
649#endif
650#if SK1_ENABLED
651 call test%run(test_isUnique_D0_SK1_1, SK_"test_isUnique_D0_SK1_1")
652#endif
653
654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
655
656#if SK5_ENABLED
657 call test%run(test_isUnique_D1_SK5_1, SK_"test_isUnique_D1_SK5_1")
658#endif
659#if SK4_ENABLED
660 call test%run(test_isUnique_D1_SK4_1, SK_"test_isUnique_D1_SK4_1")
661#endif
662#if SK3_ENABLED
663 call test%run(test_isUnique_D1_SK3_1, SK_"test_isUnique_D1_SK3_1")
664#endif
665#if SK2_ENABLED
666 call test%run(test_isUnique_D1_SK2_1, SK_"test_isUnique_D1_SK2_1")
667#endif
668#if SK1_ENABLED
669 call test%run(test_isUnique_D1_SK1_1, SK_"test_isUnique_D1_SK1_1")
670#endif
671
672 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
673
674#if IK5_ENABLED
675 call test%run(test_isUnique_D1_IK5_1, SK_"test_isUnique_D1_IK5_1")
676#endif
677#if IK4_ENABLED
678 call test%run(test_isUnique_D1_IK4_1, SK_"test_isUnique_D1_IK4_1")
679#endif
680#if IK3_ENABLED
681 call test%run(test_isUnique_D1_IK3_1, SK_"test_isUnique_D1_IK3_1")
682#endif
683#if IK2_ENABLED
684 call test%run(test_isUnique_D1_IK2_1, SK_"test_isUnique_D1_IK2_1")
685#endif
686#if IK1_ENABLED
687 call test%run(test_isUnique_D1_IK1_1, SK_"test_isUnique_D1_IK1_1")
688#endif
689
690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
691
692#if LK5_ENABLED
693 call test%run(test_isUnique_D1_LK5_1, SK_"test_isUnique_D1_LK5_1")
694#endif
695#if LK4_ENABLED
696 call test%run(test_isUnique_D1_LK4_1, SK_"test_isUnique_D1_LK4_1")
697#endif
698#if LK3_ENABLED
699 call test%run(test_isUnique_D1_LK3_1, SK_"test_isUnique_D1_LK3_1")
700#endif
701#if LK2_ENABLED
702 call test%run(test_isUnique_D1_LK2_1, SK_"test_isUnique_D1_LK2_1")
703#endif
704#if LK1_ENABLED
705 call test%run(test_isUnique_D1_LK1_1, SK_"test_isUnique_D1_LK1_1")
706#endif
707
708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
709
710#if CK5_ENABLED
711 call test%run(test_isUnique_D1_CK5_1, SK_"test_isUnique_D1_CK5_1")
712#endif
713#if CK4_ENABLED
714 call test%run(test_isUnique_D1_CK4_1, SK_"test_isUnique_D1_CK4_1")
715#endif
716#if CK3_ENABLED
717 call test%run(test_isUnique_D1_CK3_1, SK_"test_isUnique_D1_CK3_1")
718#endif
719#if CK2_ENABLED
720 call test%run(test_isUnique_D1_CK2_1, SK_"test_isUnique_D1_CK2_1")
721#endif
722#if CK1_ENABLED
723 call test%run(test_isUnique_D1_CK1_1, SK_"test_isUnique_D1_CK1_1")
724#endif
725
726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
727
728#if RK5_ENABLED
729 call test%run(test_isUnique_D1_RK5_1, SK_"test_isUnique_D1_RK5_1")
730#endif
731#if RK4_ENABLED
732 call test%run(test_isUnique_D1_RK4_1, SK_"test_isUnique_D1_RK4_1")
733#endif
734#if RK3_ENABLED
735 call test%run(test_isUnique_D1_RK3_1, SK_"test_isUnique_D1_RK3_1")
736#endif
737#if RK2_ENABLED
738 call test%run(test_isUnique_D1_RK2_1, SK_"test_isUnique_D1_RK2_1")
739#endif
740#if RK1_ENABLED
741 call test%run(test_isUnique_D1_RK1_1, SK_"test_isUnique_D1_RK1_1")
742#endif
743
744 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
745
746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
748 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
749
750 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
751
752#if SK5_ENABLED
753 call test%run(test_isUniqueAll_D0_SK5_1, SK_"test_isUniqueAll_D0_SK5_1")
754#endif
755#if SK4_ENABLED
756 call test%run(test_isUniqueAll_D0_SK4_1, SK_"test_isUniqueAll_D0_SK4_1")
757#endif
758#if SK3_ENABLED
759 call test%run(test_isUniqueAll_D0_SK3_1, SK_"test_isUniqueAll_D0_SK3_1")
760#endif
761#if SK2_ENABLED
762 call test%run(test_isUniqueAll_D0_SK2_1, SK_"test_isUniqueAll_D0_SK2_1")
763#endif
764#if SK1_ENABLED
765 call test%run(test_isUniqueAll_D0_SK1_1, SK_"test_isUniqueAll_D0_SK1_1")
766#endif
767
768 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
769
770#if SK5_ENABLED
771 call test%run(test_isUniqueAll_D1_SK5_1, SK_"test_isUniqueAll_D1_SK5_1")
772#endif
773#if SK4_ENABLED
774 call test%run(test_isUniqueAll_D1_SK4_1, SK_"test_isUniqueAll_D1_SK4_1")
775#endif
776#if SK3_ENABLED
777 call test%run(test_isUniqueAll_D1_SK3_1, SK_"test_isUniqueAll_D1_SK3_1")
778#endif
779#if SK2_ENABLED
780 call test%run(test_isUniqueAll_D1_SK2_1, SK_"test_isUniqueAll_D1_SK2_1")
781#endif
782#if SK1_ENABLED
783 call test%run(test_isUniqueAll_D1_SK1_1, SK_"test_isUniqueAll_D1_SK1_1")
784#endif
785
786 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
787
788#if IK5_ENABLED
789 call test%run(test_isUniqueAll_D1_IK5_1, SK_"test_isUniqueAll_D1_IK5_1")
790#endif
791#if IK4_ENABLED
792 call test%run(test_isUniqueAll_D1_IK4_1, SK_"test_isUniqueAll_D1_IK4_1")
793#endif
794#if IK3_ENABLED
795 call test%run(test_isUniqueAll_D1_IK3_1, SK_"test_isUniqueAll_D1_IK3_1")
796#endif
797#if IK2_ENABLED
798 call test%run(test_isUniqueAll_D1_IK2_1, SK_"test_isUniqueAll_D1_IK2_1")
799#endif
800#if IK1_ENABLED
801 call test%run(test_isUniqueAll_D1_IK1_1, SK_"test_isUniqueAll_D1_IK1_1")
802#endif
803
804 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
805
806#if LK5_ENABLED
807 call test%run(test_isUniqueAll_D1_LK5_1, SK_"test_isUniqueAll_D1_LK5_1")
808#endif
809#if LK4_ENABLED
810 call test%run(test_isUniqueAll_D1_LK4_1, SK_"test_isUniqueAll_D1_LK4_1")
811#endif
812#if LK3_ENABLED
813 call test%run(test_isUniqueAll_D1_LK3_1, SK_"test_isUniqueAll_D1_LK3_1")
814#endif
815#if LK2_ENABLED
816 call test%run(test_isUniqueAll_D1_LK2_1, SK_"test_isUniqueAll_D1_LK2_1")
817#endif
818#if LK1_ENABLED
819 call test%run(test_isUniqueAll_D1_LK1_1, SK_"test_isUniqueAll_D1_LK1_1")
820#endif
821
822 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
823
824#if CK5_ENABLED
825 call test%run(test_isUniqueAll_D1_CK5_1, SK_"test_isUniqueAll_D1_CK5_1")
826#endif
827#if CK4_ENABLED
828 call test%run(test_isUniqueAll_D1_CK4_1, SK_"test_isUniqueAll_D1_CK4_1")
829#endif
830#if CK3_ENABLED
831 call test%run(test_isUniqueAll_D1_CK3_1, SK_"test_isUniqueAll_D1_CK3_1")
832#endif
833#if CK2_ENABLED
834 call test%run(test_isUniqueAll_D1_CK2_1, SK_"test_isUniqueAll_D1_CK2_1")
835#endif
836#if CK1_ENABLED
837 call test%run(test_isUniqueAll_D1_CK1_1, SK_"test_isUniqueAll_D1_CK1_1")
838#endif
839
840 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
841
842#if RK5_ENABLED
843 call test%run(test_isUniqueAll_D1_RK5_1, SK_"test_isUniqueAll_D1_RK5_1")
844#endif
845#if RK4_ENABLED
846 call test%run(test_isUniqueAll_D1_RK4_1, SK_"test_isUniqueAll_D1_RK4_1")
847#endif
848#if RK3_ENABLED
849 call test%run(test_isUniqueAll_D1_RK3_1, SK_"test_isUniqueAll_D1_RK3_1")
850#endif
851#if RK2_ENABLED
852 call test%run(test_isUniqueAll_D1_RK2_1, SK_"test_isUniqueAll_D1_RK2_1")
853#endif
854#if RK1_ENABLED
855 call test%run(test_isUniqueAll_D1_RK1_1, SK_"test_isUniqueAll_D1_RK1_1")
856#endif
857
858 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
859
860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
861 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
862 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
863
864 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
865
866#if SK5_ENABLED
867 call test%run(test_isUniqueAny_D0_SK5_1, SK_"test_isUniqueAny_D0_SK5_1")
868#endif
869#if SK4_ENABLED
870 call test%run(test_isUniqueAny_D0_SK4_1, SK_"test_isUniqueAny_D0_SK4_1")
871#endif
872#if SK3_ENABLED
873 call test%run(test_isUniqueAny_D0_SK3_1, SK_"test_isUniqueAny_D0_SK3_1")
874#endif
875#if SK2_ENABLED
876 call test%run(test_isUniqueAny_D0_SK2_1, SK_"test_isUniqueAny_D0_SK2_1")
877#endif
878#if SK1_ENABLED
879 call test%run(test_isUniqueAny_D0_SK1_1, SK_"test_isUniqueAny_D0_SK1_1")
880#endif
881
882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883
884#if SK5_ENABLED
885 call test%run(test_isUniqueAny_D1_SK5_1, SK_"test_isUniqueAny_D1_SK5_1")
886#endif
887#if SK4_ENABLED
888 call test%run(test_isUniqueAny_D1_SK4_1, SK_"test_isUniqueAny_D1_SK4_1")
889#endif
890#if SK3_ENABLED
891 call test%run(test_isUniqueAny_D1_SK3_1, SK_"test_isUniqueAny_D1_SK3_1")
892#endif
893#if SK2_ENABLED
894 call test%run(test_isUniqueAny_D1_SK2_1, SK_"test_isUniqueAny_D1_SK2_1")
895#endif
896#if SK1_ENABLED
897 call test%run(test_isUniqueAny_D1_SK1_1, SK_"test_isUniqueAny_D1_SK1_1")
898#endif
899
900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
901
902#if IK5_ENABLED
903 call test%run(test_isUniqueAny_D1_IK5_1, SK_"test_isUniqueAny_D1_IK5_1")
904#endif
905#if IK4_ENABLED
906 call test%run(test_isUniqueAny_D1_IK4_1, SK_"test_isUniqueAny_D1_IK4_1")
907#endif
908#if IK3_ENABLED
909 call test%run(test_isUniqueAny_D1_IK3_1, SK_"test_isUniqueAny_D1_IK3_1")
910#endif
911#if IK2_ENABLED
912 call test%run(test_isUniqueAny_D1_IK2_1, SK_"test_isUniqueAny_D1_IK2_1")
913#endif
914#if IK1_ENABLED
915 call test%run(test_isUniqueAny_D1_IK1_1, SK_"test_isUniqueAny_D1_IK1_1")
916#endif
917
918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
919
920#if LK5_ENABLED
921 call test%run(test_isUniqueAny_D1_LK5_1, SK_"test_isUniqueAny_D1_LK5_1")
922#endif
923#if LK4_ENABLED
924 call test%run(test_isUniqueAny_D1_LK4_1, SK_"test_isUniqueAny_D1_LK4_1")
925#endif
926#if LK3_ENABLED
927 call test%run(test_isUniqueAny_D1_LK3_1, SK_"test_isUniqueAny_D1_LK3_1")
928#endif
929#if LK2_ENABLED
930 call test%run(test_isUniqueAny_D1_LK2_1, SK_"test_isUniqueAny_D1_LK2_1")
931#endif
932#if LK1_ENABLED
933 call test%run(test_isUniqueAny_D1_LK1_1, SK_"test_isUniqueAny_D1_LK1_1")
934#endif
935
936 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
937
938#if CK5_ENABLED
939 call test%run(test_isUniqueAny_D1_CK5_1, SK_"test_isUniqueAny_D1_CK5_1")
940#endif
941#if CK4_ENABLED
942 call test%run(test_isUniqueAny_D1_CK4_1, SK_"test_isUniqueAny_D1_CK4_1")
943#endif
944#if CK3_ENABLED
945 call test%run(test_isUniqueAny_D1_CK3_1, SK_"test_isUniqueAny_D1_CK3_1")
946#endif
947#if CK2_ENABLED
948 call test%run(test_isUniqueAny_D1_CK2_1, SK_"test_isUniqueAny_D1_CK2_1")
949#endif
950#if CK1_ENABLED
951 call test%run(test_isUniqueAny_D1_CK1_1, SK_"test_isUniqueAny_D1_CK1_1")
952#endif
953
954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
955
956#if RK5_ENABLED
957 call test%run(test_isUniqueAny_D1_RK5_1, SK_"test_isUniqueAny_D1_RK5_1")
958#endif
959#if RK4_ENABLED
960 call test%run(test_isUniqueAny_D1_RK4_1, SK_"test_isUniqueAny_D1_RK4_1")
961#endif
962#if RK3_ENABLED
963 call test%run(test_isUniqueAny_D1_RK3_1, SK_"test_isUniqueAny_D1_RK3_1")
964#endif
965#if RK2_ENABLED
966 call test%run(test_isUniqueAny_D1_RK2_1, SK_"test_isUniqueAny_D1_RK2_1")
967#endif
968#if RK1_ENABLED
969 call test%run(test_isUniqueAny_D1_RK1_1, SK_"test_isUniqueAny_D1_RK1_1")
970#endif
971
972 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
973
974 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
975 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
976 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
977
978 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
979
980#if SK5_ENABLED
981 call test%run(test_getUnique_D0_SK5_1, SK_"test_getUnique_D0_SK5_1")
982#endif
983#if SK4_ENABLED
984 call test%run(test_getUnique_D0_SK4_1, SK_"test_getUnique_D0_SK4_1")
985#endif
986#if SK3_ENABLED
987 call test%run(test_getUnique_D0_SK3_1, SK_"test_getUnique_D0_SK3_1")
988#endif
989#if SK2_ENABLED
990 call test%run(test_getUnique_D0_SK2_1, SK_"test_getUnique_D0_SK2_1")
991#endif
992#if SK1_ENABLED
993 call test%run(test_getUnique_D0_SK1_1, SK_"test_getUnique_D0_SK1_1")
994#endif
995
996 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
997
998#if SK5_ENABLED
999 call test%run(test_getUnique_D1_SK5_1, SK_"test_getUnique_D1_SK5_1")
1000#endif
1001#if SK4_ENABLED
1002 call test%run(test_getUnique_D1_SK4_1, SK_"test_getUnique_D1_SK4_1")
1003#endif
1004#if SK3_ENABLED
1005 call test%run(test_getUnique_D1_SK3_1, SK_"test_getUnique_D1_SK3_1")
1006#endif
1007#if SK2_ENABLED
1008 call test%run(test_getUnique_D1_SK2_1, SK_"test_getUnique_D1_SK2_1")
1009#endif
1010#if SK1_ENABLED
1011 call test%run(test_getUnique_D1_SK1_1, SK_"test_getUnique_D1_SK1_1")
1012#endif
1013
1014 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1015
1016#if IK5_ENABLED
1017 call test%run(test_getUnique_D1_IK5_1, SK_"test_getUnique_D1_IK5_1")
1018#endif
1019#if IK4_ENABLED
1020 call test%run(test_getUnique_D1_IK4_1, SK_"test_getUnique_D1_IK4_1")
1021#endif
1022#if IK3_ENABLED
1023 call test%run(test_getUnique_D1_IK3_1, SK_"test_getUnique_D1_IK3_1")
1024#endif
1025#if IK2_ENABLED
1026 call test%run(test_getUnique_D1_IK2_1, SK_"test_getUnique_D1_IK2_1")
1027#endif
1028#if IK1_ENABLED
1029 call test%run(test_getUnique_D1_IK1_1, SK_"test_getUnique_D1_IK1_1")
1030#endif
1031
1032 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1033
1034#if LK5_ENABLED
1035 call test%run(test_getUnique_D1_LK5_1, SK_"test_getUnique_D1_LK5_1")
1036#endif
1037#if LK4_ENABLED
1038 call test%run(test_getUnique_D1_LK4_1, SK_"test_getUnique_D1_LK4_1")
1039#endif
1040#if LK3_ENABLED
1041 call test%run(test_getUnique_D1_LK3_1, SK_"test_getUnique_D1_LK3_1")
1042#endif
1043#if LK2_ENABLED
1044 call test%run(test_getUnique_D1_LK2_1, SK_"test_getUnique_D1_LK2_1")
1045#endif
1046#if LK1_ENABLED
1047 call test%run(test_getUnique_D1_LK1_1, SK_"test_getUnique_D1_LK1_1")
1048#endif
1049
1050 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1051
1052#if CK5_ENABLED
1053 call test%run(test_getUnique_D1_CK5_1, SK_"test_getUnique_D1_CK5_1")
1054#endif
1055#if CK4_ENABLED
1056 call test%run(test_getUnique_D1_CK4_1, SK_"test_getUnique_D1_CK4_1")
1057#endif
1058#if CK3_ENABLED
1059 call test%run(test_getUnique_D1_CK3_1, SK_"test_getUnique_D1_CK3_1")
1060#endif
1061#if CK2_ENABLED
1062 call test%run(test_getUnique_D1_CK2_1, SK_"test_getUnique_D1_CK2_1")
1063#endif
1064#if CK1_ENABLED
1065 call test%run(test_getUnique_D1_CK1_1, SK_"test_getUnique_D1_CK1_1")
1066#endif
1067
1068 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1069
1070#if RK5_ENABLED
1071 call test%run(test_getUnique_D1_RK5_1, SK_"test_getUnique_D1_RK5_1")
1072#endif
1073#if RK4_ENABLED
1074 call test%run(test_getUnique_D1_RK4_1, SK_"test_getUnique_D1_RK4_1")
1075#endif
1076#if RK3_ENABLED
1077 call test%run(test_getUnique_D1_RK3_1, SK_"test_getUnique_D1_RK3_1")
1078#endif
1079#if RK2_ENABLED
1080 call test%run(test_getUnique_D1_RK2_1, SK_"test_getUnique_D1_RK2_1")
1081#endif
1082#if RK1_ENABLED
1083 call test%run(test_getUnique_D1_RK1_1, SK_"test_getUnique_D1_RK1_1")
1084#endif
1085
1086 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1087
1088 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1089 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1090 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1091
1092 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1093
1094#if SK5_ENABLED
1095 call test%run(test_setUnique_D0_SK5_1, SK_"test_setUnique_D0_SK5_1")
1096#endif
1097#if SK4_ENABLED
1098 call test%run(test_setUnique_D0_SK4_1, SK_"test_setUnique_D0_SK4_1")
1099#endif
1100#if SK3_ENABLED
1101 call test%run(test_setUnique_D0_SK3_1, SK_"test_setUnique_D0_SK3_1")
1102#endif
1103#if SK2_ENABLED
1104 call test%run(test_setUnique_D0_SK2_1, SK_"test_setUnique_D0_SK2_1")
1105#endif
1106#if SK1_ENABLED
1107 call test%run(test_setUnique_D0_SK1_1, SK_"test_setUnique_D0_SK1_1")
1108#endif
1109
1110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1111
1112#if SK5_ENABLED
1113 call test%run(test_setUnique_D1_SK5_1, SK_"test_setUnique_D1_SK5_1")
1114#endif
1115#if SK4_ENABLED
1116 call test%run(test_setUnique_D1_SK4_1, SK_"test_setUnique_D1_SK4_1")
1117#endif
1118#if SK3_ENABLED
1119 call test%run(test_setUnique_D1_SK3_1, SK_"test_setUnique_D1_SK3_1")
1120#endif
1121#if SK2_ENABLED
1122 call test%run(test_setUnique_D1_SK2_1, SK_"test_setUnique_D1_SK2_1")
1123#endif
1124#if SK1_ENABLED
1125 call test%run(test_setUnique_D1_SK1_1, SK_"test_setUnique_D1_SK1_1")
1126#endif
1127
1128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1129
1130#if IK5_ENABLED
1131 call test%run(test_setUnique_D1_IK5_1, SK_"test_setUnique_D1_IK5_1")
1132#endif
1133#if IK4_ENABLED
1134 call test%run(test_setUnique_D1_IK4_1, SK_"test_setUnique_D1_IK4_1")
1135#endif
1136#if IK3_ENABLED
1137 call test%run(test_setUnique_D1_IK3_1, SK_"test_setUnique_D1_IK3_1")
1138#endif
1139#if IK2_ENABLED
1140 call test%run(test_setUnique_D1_IK2_1, SK_"test_setUnique_D1_IK2_1")
1141#endif
1142#if IK1_ENABLED
1143 call test%run(test_setUnique_D1_IK1_1, SK_"test_setUnique_D1_IK1_1")
1144#endif
1145
1146 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1147
1148#if LK5_ENABLED
1149 call test%run(test_setUnique_D1_LK5_1, SK_"test_setUnique_D1_LK5_1")
1150#endif
1151#if LK4_ENABLED
1152 call test%run(test_setUnique_D1_LK4_1, SK_"test_setUnique_D1_LK4_1")
1153#endif
1154#if LK3_ENABLED
1155 call test%run(test_setUnique_D1_LK3_1, SK_"test_setUnique_D1_LK3_1")
1156#endif
1157#if LK2_ENABLED
1158 call test%run(test_setUnique_D1_LK2_1, SK_"test_setUnique_D1_LK2_1")
1159#endif
1160#if LK1_ENABLED
1161 call test%run(test_setUnique_D1_LK1_1, SK_"test_setUnique_D1_LK1_1")
1162#endif
1163
1164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1165
1166#if CK5_ENABLED
1167 call test%run(test_setUnique_D1_CK5_1, SK_"test_setUnique_D1_CK5_1")
1168#endif
1169#if CK4_ENABLED
1170 call test%run(test_setUnique_D1_CK4_1, SK_"test_setUnique_D1_CK4_1")
1171#endif
1172#if CK3_ENABLED
1173 call test%run(test_setUnique_D1_CK3_1, SK_"test_setUnique_D1_CK3_1")
1174#endif
1175#if CK2_ENABLED
1176 call test%run(test_setUnique_D1_CK2_1, SK_"test_setUnique_D1_CK2_1")
1177#endif
1178#if CK1_ENABLED
1179 call test%run(test_setUnique_D1_CK1_1, SK_"test_setUnique_D1_CK1_1")
1180#endif
1181
1182 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1183
1184#if RK5_ENABLED
1185 call test%run(test_setUnique_D1_RK5_1, SK_"test_setUnique_D1_RK5_1")
1186#endif
1187#if RK4_ENABLED
1188 call test%run(test_setUnique_D1_RK4_1, SK_"test_setUnique_D1_RK4_1")
1189#endif
1190#if RK3_ENABLED
1191 call test%run(test_setUnique_D1_RK3_1, SK_"test_setUnique_D1_RK3_1")
1192#endif
1193#if RK2_ENABLED
1194 call test%run(test_setUnique_D1_RK2_1, SK_"test_setUnique_D1_RK2_1")
1195#endif
1196#if RK1_ENABLED
1197 call test%run(test_setUnique_D1_RK1_1, SK_"test_setUnique_D1_RK1_1")
1198#endif
1199
1200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1201
1202 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1203 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1204 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1205
1206 call test%summarize()
1207
1208 end subroutine setTest
1209
1210!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1211
1212 function test_getUnique_D1_1() result(assertion)
1213
1214 use pm_kind, only: RK, IK
1215
1216 implicit none
1217 logical(LK) :: assertion
1218 integer(IK) , parameter :: VECTOR(*) = int([1,2,1,3,5,5,2],IK)
1219 integer(IK) , parameter :: UNIQUE_VALUE(*) = int([1,2,3,5],IK)
1220 integer(IK) , allocatable :: Unique(:)
1221
1222 Unique = getUnique(VECTOR)
1223 assertion = all(Unique == UNIQUE_VALUE)
1224
1225 if (test%traceable .and. .not. assertion) then
1226 ! LCOV_EXCL_START
1227 write(test%disp%unit,"(*(g0,:,', '))")
1228 write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
1229 write(test%disp%unit,"(*(g0,:,', '))")
1230 write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE ", UNIQUE_VALUE
1231 write(test%disp%unit,"(*(g0,:,', '))") "Unique ", Unique
1232 write(test%disp%unit,"(*(g0,:,', '))")
1233 end if
1234 ! LCOV_EXCL_STOP
1235
1236 end function test_getUnique_D1_1
1237
1238!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239
1240 !function test_findUnique_1() result(assertion)
1241 !
1242 ! use pm_kind, only: RK, IK
1243 ! use pm_container, only: IV => cvi_pdt
1244 !
1245 ! implicit none
1246 ! logical(LK) :: assertion
1247 ! logical(LK) :: assertionCurrent
1248 ! integer(IK) , parameter :: VECTOR(*) = [1,2,1,3,5,5,2]
1249 ! integer(IK) , parameter :: LEN_VECTOR = size(VECTOR)
1250 ! integer(IK) , parameter :: UNIQUE_VALUE(*) = [1,2,3,5]
1251 ! integer(IK) , parameter :: UNIQUE_COUNT(*) = [2,2,1,2]
1252 ! integer(IK) , allocatable :: ZeroLenVector(:)
1253 ! integer(IK) , allocatable :: UniqueValue(:)
1254 ! integer(IK) , allocatable :: UniqueCount(:)
1255 ! type(IV) , allocatable :: UniqueIndex(:)
1256 ! type(IV) , allocatable :: UNIQUE_INDEX(:)
1257 ! integer(IK) :: lenUnique, i
1258 ! type(err_type) :: Err
1259 !
1260 ! call findUnique ( Vector = VECTOR &
1261 ! , lenUnique = lenUnique &
1262 ! , UniqueValue = UniqueValue &
1263 ! , UniqueCount = UniqueCount &
1264 ! )
1265 !
1266 ! assertion = all(UniqueValue(1:lenUnique)==UNIQUE_VALUE) .and. all(UniqueCount(1:lenUnique)==UNIQUE_COUNT)
1267 !
1268 ! if (test%traceable .and. .not. assertion) then
1269 ! ! LCOV_EXCL_START
1270 ! write(test%disp%unit,"(*(g0,:,', '))")
1271 ! write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
1272 ! write(test%disp%unit,"(*(g0,:,', '))")
1273 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE", UNIQUE_VALUE
1274 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue(1:lenUnique)
1275 ! write(test%disp%unit,"(*(g0,:,', '))")
1276 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
1277 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount(1:lenUnique)
1278 ! write(test%disp%unit,"(*(g0,:,', '))")
1279 ! write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
1280 ! write(test%disp%unit,"(*(g0,:,', '))")
1281 ! end if
1282 ! ! LCOV_EXCL_STOP
1283 !
1284 ! call test%assert(assertion)
1285 !
1286 ! ! test UniqueIndex
1287 !
1288 ! allocate(UNIQUE_INDEX(size(UNIQUE_COUNT)))
1289 ! UNIQUE_INDEX(1)%val = [5,6]
1290 ! UNIQUE_INDEX(2)%val = [2,7]
1291 ! UNIQUE_INDEX(3)%val = [1,3]
1292 ! UNIQUE_INDEX(4)%val = [4]
1293 !
1294 ! call findUnique ( Vector = VECTOR &
1295 ! , lenUnique = lenUnique &
1296 ! , UniqueValue = UniqueValue &
1297 ! , UniqueCount = UniqueCount &
1298 ! , UniqueIndex = UniqueIndex &
1299 ! , sorting = -1_IK &
1300 ! )
1301 !
1302 ! assertion = assertion .and. .not. err%occurred
1303 ! call test%assert(assertion)
1304 !
1305 ! do i = 1, lenUnique
1306 !
1307 ! assertionCurrent = all(UniqueIndex(i)%val == UNIQUE_INDEX(i)%val)
1308 ! assertion = assertion .and. assertionCurrent
1309 !
1310 ! if (test%traceable .and. .not. assertionCurrent) then
1311 ! ! LCOV_EXCL_START
1312 ! write(test%disp%unit,"(*(g0,:,', '))")
1313 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
1314 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount
1315 ! write(test%disp%unit,"(*(g0,:,', '))")
1316 ! end if
1317 ! ! LCOV_EXCL_STOP
1318 !
1319 ! if (i>1_IK) assertionCurrent = assertionCurrent .and. UniqueCount(i) <= UniqueCount(i-1)
1320 ! assertion = assertion .and. assertionCurrent
1321 !
1322 ! if (test%traceable .and. .not. assertionCurrent) then
1323 ! ! LCOV_EXCL_START
1324 ! write(test%disp%unit,"(*(g0,:,', '))")
1325 ! write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
1326 ! write(test%disp%unit,"(*(g0,:,', '))")
1327 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE", UNIQUE_VALUE
1328 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue
1329 ! write(test%disp%unit,"(*(g0,:,', '))")
1330 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
1331 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount
1332 ! write(test%disp%unit,"(*(g0,:,', '))")
1333 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_INDEX(i)%val ", UNIQUE_INDEX(i)%val
1334 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueIndex(i)%val ", UniqueIndex(i)%val
1335 ! write(test%disp%unit,"(*(g0,:,', '))")
1336 ! write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
1337 ! write(test%disp%unit,"(*(g0,:,', '))")
1338 ! end if
1339 ! ! LCOV_EXCL_STOP
1340 !
1341 ! if (.not. assertion) exit ! LCOV_EXCL_LINE
1342 !
1343 ! end do
1344 ! call test%assert(assertion)
1345 !
1346 ! ! test with empty input vector
1347 !
1348 ! allocate(ZeroLenVector(0))
1349 ! call findUnique ( Vector = ZeroLenVector & ! LCOV_EXCL_LINE
1350 ! , UniqueValue = UniqueValue & ! LCOV_EXCL_LINE
1351 ! , UniqueCount = UniqueCount & ! LCOV_EXCL_LINE
1352 ! , lenUnique = lenUnique & ! LCOV_EXCL_LINE
1353 ! )
1354 !
1355 ! if (test%traceable .and. .not. assertion) then
1356 ! ! LCOV_EXCL_START
1357 ! write(test%disp%unit,"(*(g0,:,', '))")
1358 ! write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
1359 ! write(test%disp%unit,"(*(g0,:,', '))")
1360 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE", UNIQUE_VALUE
1361 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue(1:lenUnique)
1362 ! write(test%disp%unit,"(*(g0,:,', '))")
1363 ! write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
1364 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount(1:lenUnique)
1365 ! write(test%disp%unit,"(*(g0,:,', '))")
1366 ! write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
1367 ! write(test%disp%unit,"(*(g0,:,', '))")
1368 ! write(test%disp%unit,"(*(g0,:,', '))")
1369 ! write(test%disp%unit,"(*(g0,:,', '))")
1370 ! write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", ZeroLenVector
1371 ! write(test%disp%unit,"(*(g0,:,', '))")
1372 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue(1:lenUnique)
1373 ! write(test%disp%unit,"(*(g0,:,', '))")
1374 ! write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount(1:lenUnique)
1375 ! write(test%disp%unit,"(*(g0,:,', '))")
1376 ! write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
1377 ! write(test%disp%unit,"(*(g0,:,', '))")
1378 ! end if
1379 ! ! LCOV_EXCL_STOP
1380 !
1381 !end function test_findUnique_1
1382
1383!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1384
1385end module test_pm_arrayUnique ! LCOV_EXCL_LINE
Generate and return a vector of unique values in the input array.
This module contains procedures and generic interfaces for finding unique values of an input array of...
character(*, SK), parameter MODULE_NAME
This module contains classes and procedures for reporting and handling errors.
Definition: pm_err.F90:52
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
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
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_arrayUnique.
logical(LK) function test_getUnique_D1_1()
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