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 [val2complex_pmod](@ref pm_val2complex).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_val2complex) routines ! LCOV_EXCL_LINE
28 :
29 : implicit none
30 :
31 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32 :
33 : contains
34 :
35 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36 :
37 : #define getComplex_ENABLED 1
38 :
39 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : #define Def_ENABLED 1
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define LK_ENABLED 1
48 :
49 : #if LK5_ENABLED
50 0 : module procedure getComplexDef_LK5
51 : use pm_kind, only: CKC => CK, LKC => LK5
52 : #include "pm_val2complex@routines.inc.F90"
53 0 : end procedure
54 : #endif
55 :
56 : #if LK4_ENABLED
57 0 : module procedure getComplexDef_LK4
58 : use pm_kind, only: CKC => CK, LKC => LK4
59 : #include "pm_val2complex@routines.inc.F90"
60 0 : end procedure
61 : #endif
62 :
63 : #if LK3_ENABLED
64 5 : module procedure getComplexDef_LK3
65 : use pm_kind, only: CKC => CK, LKC => LK3
66 : #include "pm_val2complex@routines.inc.F90"
67 5 : end procedure
68 : #endif
69 :
70 : #if LK2_ENABLED
71 0 : module procedure getComplexDef_LK2
72 : use pm_kind, only: CKC => CK, LKC => LK2
73 : #include "pm_val2complex@routines.inc.F90"
74 0 : end procedure
75 : #endif
76 :
77 : #if LK1_ENABLED
78 0 : module procedure getComplexDef_LK1
79 : use pm_kind, only: CKC => CK, LKC => LK1
80 : #include "pm_val2complex@routines.inc.F90"
81 0 : end procedure
82 : #endif
83 :
84 : #undef LK_ENABLED
85 :
86 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
87 :
88 : #define SK_ENABLED 1
89 :
90 : #if SK5_ENABLED
91 : module procedure getComplexDef_SK5
92 : use pm_kind, only: CKC => CK, SKC => SK5
93 : #include "pm_val2complex@routines.inc.F90"
94 : end procedure
95 : #endif
96 :
97 : #if SK4_ENABLED
98 : module procedure getComplexDef_SK4
99 : use pm_kind, only: CKC => CK, SKC => SK4
100 : #include "pm_val2complex@routines.inc.F90"
101 : end procedure
102 : #endif
103 :
104 : #if SK3_ENABLED
105 : module procedure getComplexDef_SK3
106 : use pm_kind, only: CKC => CK, SKC => SK3
107 : #include "pm_val2complex@routines.inc.F90"
108 : end procedure
109 : #endif
110 :
111 : #if SK2_ENABLED
112 : module procedure getComplexDef_SK2
113 : use pm_kind, only: CKC => CK, SKC => SK2
114 : #include "pm_val2complex@routines.inc.F90"
115 : end procedure
116 : #endif
117 :
118 : #if SK1_ENABLED
119 16 : module procedure getComplexDef_SK1
120 : use pm_kind, only: CKC => CK, SKC => SK1
121 : #include "pm_val2complex@routines.inc.F90"
122 6 : end procedure
123 : #endif
124 :
125 : #undef SK_ENABLED
126 :
127 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
128 :
129 : #undef Def_ENABLED
130 :
131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134 :
135 : #undef getComplex_ENABLED
136 :
137 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138 :
139 : #define setComplex_ENABLED 1
140 :
141 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
142 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144 :
145 : #define Def_ENABLED 1
146 :
147 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
149 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150 :
151 : #define LK_ENABLED 1
152 :
153 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
154 :
155 : #if CK5_ENABLED && LK5_ENABLED
156 : module procedure setComplexDef_CK5_LK5
157 : use pm_kind, only: CKC => CK5, LKC => LK5
158 : #include "pm_val2complex@routines.inc.F90"
159 : end procedure
160 : #endif
161 :
162 : #if CK5_ENABLED && LK4_ENABLED
163 : module procedure setComplexDef_CK5_LK4
164 : use pm_kind, only: CKC => CK5, LKC => LK4
165 : #include "pm_val2complex@routines.inc.F90"
166 : end procedure
167 : #endif
168 :
169 : #if CK5_ENABLED && LK3_ENABLED
170 : module procedure setComplexDef_CK5_LK3
171 : use pm_kind, only: CKC => CK5, LKC => LK3
172 : #include "pm_val2complex@routines.inc.F90"
173 : end procedure
174 : #endif
175 :
176 : #if CK5_ENABLED && LK2_ENABLED
177 : module procedure setComplexDef_CK5_LK2
178 : use pm_kind, only: CKC => CK5, LKC => LK2
179 : #include "pm_val2complex@routines.inc.F90"
180 : end procedure
181 : #endif
182 :
183 : #if CK5_ENABLED && LK1_ENABLED
184 : module procedure setComplexDef_CK5_LK1
185 : use pm_kind, only: CKC => CK5, LKC => LK1
186 : #include "pm_val2complex@routines.inc.F90"
187 : end procedure
188 : #endif
189 :
190 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191 :
192 : #if CK4_ENABLED && LK5_ENABLED
193 0 : module procedure setComplexDef_CK4_LK5
194 : use pm_kind, only: CKC => CK4, LKC => LK5
195 : #include "pm_val2complex@routines.inc.F90"
196 0 : end procedure
197 : #endif
198 :
199 : #if CK4_ENABLED && LK4_ENABLED
200 0 : module procedure setComplexDef_CK4_LK4
201 : use pm_kind, only: CKC => CK4, LKC => LK4
202 : #include "pm_val2complex@routines.inc.F90"
203 0 : end procedure
204 : #endif
205 :
206 : #if CK4_ENABLED && LK3_ENABLED
207 0 : module procedure setComplexDef_CK4_LK3
208 : use pm_kind, only: CKC => CK4, LKC => LK3
209 : #include "pm_val2complex@routines.inc.F90"
210 0 : end procedure
211 : #endif
212 :
213 : #if CK4_ENABLED && LK2_ENABLED
214 0 : module procedure setComplexDef_CK4_LK2
215 : use pm_kind, only: CKC => CK4, LKC => LK2
216 : #include "pm_val2complex@routines.inc.F90"
217 0 : end procedure
218 : #endif
219 :
220 : #if CK4_ENABLED && LK1_ENABLED
221 0 : module procedure setComplexDef_CK4_LK1
222 : use pm_kind, only: CKC => CK4, LKC => LK1
223 : #include "pm_val2complex@routines.inc.F90"
224 0 : end procedure
225 : #endif
226 :
227 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228 :
229 : #if CK3_ENABLED && LK5_ENABLED
230 0 : module procedure setComplexDef_CK3_LK5
231 : use pm_kind, only: CKC => CK3, LKC => LK5
232 : #include "pm_val2complex@routines.inc.F90"
233 0 : end procedure
234 : #endif
235 :
236 : #if CK3_ENABLED && LK4_ENABLED
237 0 : module procedure setComplexDef_CK3_LK4
238 : use pm_kind, only: CKC => CK3, LKC => LK4
239 : #include "pm_val2complex@routines.inc.F90"
240 0 : end procedure
241 : #endif
242 :
243 : #if CK3_ENABLED && LK3_ENABLED
244 0 : module procedure setComplexDef_CK3_LK3
245 : use pm_kind, only: CKC => CK3, LKC => LK3
246 : #include "pm_val2complex@routines.inc.F90"
247 0 : end procedure
248 : #endif
249 :
250 : #if CK3_ENABLED && LK2_ENABLED
251 0 : module procedure setComplexDef_CK3_LK2
252 : use pm_kind, only: CKC => CK3, LKC => LK2
253 : #include "pm_val2complex@routines.inc.F90"
254 0 : end procedure
255 : #endif
256 :
257 : #if CK3_ENABLED && LK1_ENABLED
258 0 : module procedure setComplexDef_CK3_LK1
259 : use pm_kind, only: CKC => CK3, LKC => LK1
260 : #include "pm_val2complex@routines.inc.F90"
261 0 : end procedure
262 : #endif
263 :
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 :
266 : #if CK2_ENABLED && LK5_ENABLED
267 0 : module procedure setComplexDef_CK2_LK5
268 : use pm_kind, only: CKC => CK2, LKC => LK5
269 : #include "pm_val2complex@routines.inc.F90"
270 0 : end procedure
271 : #endif
272 :
273 : #if CK2_ENABLED && LK4_ENABLED
274 0 : module procedure setComplexDef_CK2_LK4
275 : use pm_kind, only: CKC => CK2, LKC => LK4
276 : #include "pm_val2complex@routines.inc.F90"
277 0 : end procedure
278 : #endif
279 :
280 : #if CK2_ENABLED && LK3_ENABLED
281 0 : module procedure setComplexDef_CK2_LK3
282 : use pm_kind, only: CKC => CK2, LKC => LK3
283 : #include "pm_val2complex@routines.inc.F90"
284 0 : end procedure
285 : #endif
286 :
287 : #if CK2_ENABLED && LK2_ENABLED
288 0 : module procedure setComplexDef_CK2_LK2
289 : use pm_kind, only: CKC => CK2, LKC => LK2
290 : #include "pm_val2complex@routines.inc.F90"
291 0 : end procedure
292 : #endif
293 :
294 : #if CK2_ENABLED && LK1_ENABLED
295 0 : module procedure setComplexDef_CK2_LK1
296 : use pm_kind, only: CKC => CK2, LKC => LK1
297 : #include "pm_val2complex@routines.inc.F90"
298 0 : end procedure
299 : #endif
300 :
301 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302 :
303 : #if CK1_ENABLED && LK5_ENABLED
304 0 : module procedure setComplexDef_CK1_LK5
305 : use pm_kind, only: CKC => CK1, LKC => LK5
306 : #include "pm_val2complex@routines.inc.F90"
307 0 : end procedure
308 : #endif
309 :
310 : #if CK1_ENABLED && LK4_ENABLED
311 0 : module procedure setComplexDef_CK1_LK4
312 : use pm_kind, only: CKC => CK1, LKC => LK4
313 : #include "pm_val2complex@routines.inc.F90"
314 0 : end procedure
315 : #endif
316 :
317 : #if CK1_ENABLED && LK3_ENABLED
318 5 : module procedure setComplexDef_CK1_LK3
319 : use pm_kind, only: CKC => CK1, LKC => LK3
320 : #include "pm_val2complex@routines.inc.F90"
321 5 : end procedure
322 : #endif
323 :
324 : #if CK1_ENABLED && LK2_ENABLED
325 0 : module procedure setComplexDef_CK1_LK2
326 : use pm_kind, only: CKC => CK1, LKC => LK2
327 : #include "pm_val2complex@routines.inc.F90"
328 0 : end procedure
329 : #endif
330 :
331 : #if CK1_ENABLED && LK1_ENABLED
332 0 : module procedure setComplexDef_CK1_LK1
333 : use pm_kind, only: CKC => CK1, LKC => LK1
334 : #include "pm_val2complex@routines.inc.F90"
335 0 : end procedure
336 : #endif
337 :
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 :
340 : #undef LK_ENABLED
341 :
342 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345 :
346 : #define SK_ENABLED 1
347 :
348 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
349 :
350 : #if CK5_ENABLED && SK5_ENABLED
351 : module procedure setComplexDef_CK5_SK5
352 : use pm_kind, only: CKC => CK5, SKC => SK5
353 : #include "pm_val2complex@routines.inc.F90"
354 : end procedure
355 : #endif
356 :
357 : #if CK5_ENABLED && SK4_ENABLED
358 : module procedure setComplexDef_CK5_SK4
359 : use pm_kind, only: CKC => CK5, SKC => SK4
360 : #include "pm_val2complex@routines.inc.F90"
361 : end procedure
362 : #endif
363 :
364 : #if CK5_ENABLED && SK3_ENABLED
365 : module procedure setComplexDef_CK5_SK3
366 : use pm_kind, only: CKC => CK5, SKC => SK3
367 : #include "pm_val2complex@routines.inc.F90"
368 : end procedure
369 : #endif
370 :
371 : #if CK5_ENABLED && SK2_ENABLED
372 : module procedure setComplexDef_CK5_SK2
373 : use pm_kind, only: CKC => CK5, SKC => SK2
374 : #include "pm_val2complex@routines.inc.F90"
375 : end procedure
376 : #endif
377 :
378 : #if CK5_ENABLED && SK1_ENABLED
379 : module procedure setComplexDef_CK5_SK1
380 : use pm_kind, only: CKC => CK5, SKC => SK1
381 : #include "pm_val2complex@routines.inc.F90"
382 : end procedure
383 : #endif
384 :
385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 :
387 : #if CK4_ENABLED && SK5_ENABLED
388 : module procedure setComplexDef_CK4_SK5
389 : use pm_kind, only: CKC => CK4, SKC => SK5
390 : #include "pm_val2complex@routines.inc.F90"
391 : end procedure
392 : #endif
393 :
394 : #if CK4_ENABLED && SK4_ENABLED
395 : module procedure setComplexDef_CK4_SK4
396 : use pm_kind, only: CKC => CK4, SKC => SK4
397 : #include "pm_val2complex@routines.inc.F90"
398 : end procedure
399 : #endif
400 :
401 : #if CK4_ENABLED && SK3_ENABLED
402 : module procedure setComplexDef_CK4_SK3
403 : use pm_kind, only: CKC => CK4, SKC => SK3
404 : #include "pm_val2complex@routines.inc.F90"
405 : end procedure
406 : #endif
407 :
408 : #if CK4_ENABLED && SK2_ENABLED
409 : module procedure setComplexDef_CK4_SK2
410 : use pm_kind, only: CKC => CK4, SKC => SK2
411 : #include "pm_val2complex@routines.inc.F90"
412 : end procedure
413 : #endif
414 :
415 : #if CK4_ENABLED && SK1_ENABLED
416 0 : module procedure setComplexDef_CK4_SK1
417 : use pm_kind, only: CKC => CK4, SKC => SK1
418 : #include "pm_val2complex@routines.inc.F90"
419 : end procedure
420 : #endif
421 :
422 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
423 :
424 : #if CK3_ENABLED && SK5_ENABLED
425 : module procedure setComplexDef_CK3_SK5
426 : use pm_kind, only: CKC => CK3, SKC => SK5
427 : #include "pm_val2complex@routines.inc.F90"
428 : end procedure
429 : #endif
430 :
431 : #if CK3_ENABLED && SK4_ENABLED
432 : module procedure setComplexDef_CK3_SK4
433 : use pm_kind, only: CKC => CK3, SKC => SK4
434 : #include "pm_val2complex@routines.inc.F90"
435 : end procedure
436 : #endif
437 :
438 : #if CK3_ENABLED && SK3_ENABLED
439 : module procedure setComplexDef_CK3_SK3
440 : use pm_kind, only: CKC => CK3, SKC => SK3
441 : #include "pm_val2complex@routines.inc.F90"
442 : end procedure
443 : #endif
444 :
445 : #if CK3_ENABLED && SK2_ENABLED
446 : module procedure setComplexDef_CK3_SK2
447 : use pm_kind, only: CKC => CK3, SKC => SK2
448 : #include "pm_val2complex@routines.inc.F90"
449 : end procedure
450 : #endif
451 :
452 : #if CK3_ENABLED && SK1_ENABLED
453 0 : module procedure setComplexDef_CK3_SK1
454 : use pm_kind, only: CKC => CK3, SKC => SK1
455 : #include "pm_val2complex@routines.inc.F90"
456 : end procedure
457 : #endif
458 :
459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460 :
461 : #if CK2_ENABLED && SK5_ENABLED
462 : module procedure setComplexDef_CK2_SK5
463 : use pm_kind, only: CKC => CK2, SKC => SK5
464 : #include "pm_val2complex@routines.inc.F90"
465 : end procedure
466 : #endif
467 :
468 : #if CK2_ENABLED && SK4_ENABLED
469 : module procedure setComplexDef_CK2_SK4
470 : use pm_kind, only: CKC => CK2, SKC => SK4
471 : #include "pm_val2complex@routines.inc.F90"
472 : end procedure
473 : #endif
474 :
475 : #if CK2_ENABLED && SK3_ENABLED
476 : module procedure setComplexDef_CK2_SK3
477 : use pm_kind, only: CKC => CK2, SKC => SK3
478 : #include "pm_val2complex@routines.inc.F90"
479 : end procedure
480 : #endif
481 :
482 : #if CK2_ENABLED && SK2_ENABLED
483 : module procedure setComplexDef_CK2_SK2
484 : use pm_kind, only: CKC => CK2, SKC => SK2
485 : #include "pm_val2complex@routines.inc.F90"
486 : end procedure
487 : #endif
488 :
489 : #if CK2_ENABLED && SK1_ENABLED
490 0 : module procedure setComplexDef_CK2_SK1
491 : use pm_kind, only: CKC => CK2, SKC => SK1
492 : #include "pm_val2complex@routines.inc.F90"
493 : end procedure
494 : #endif
495 :
496 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
497 :
498 : #if CK1_ENABLED && SK5_ENABLED
499 : module procedure setComplexDef_CK1_SK5
500 : use pm_kind, only: CKC => CK1, SKC => SK5
501 : #include "pm_val2complex@routines.inc.F90"
502 : end procedure
503 : #endif
504 :
505 : #if CK1_ENABLED && SK4_ENABLED
506 : module procedure setComplexDef_CK1_SK4
507 : use pm_kind, only: CKC => CK1, SKC => SK4
508 : #include "pm_val2complex@routines.inc.F90"
509 : end procedure
510 : #endif
511 :
512 : #if CK1_ENABLED && SK3_ENABLED
513 : module procedure setComplexDef_CK1_SK3
514 : use pm_kind, only: CKC => CK1, SKC => SK3
515 : #include "pm_val2complex@routines.inc.F90"
516 : end procedure
517 : #endif
518 :
519 : #if CK1_ENABLED && SK2_ENABLED
520 : module procedure setComplexDef_CK1_SK2
521 : use pm_kind, only: CKC => CK1, SKC => SK2
522 : #include "pm_val2complex@routines.inc.F90"
523 : end procedure
524 : #endif
525 :
526 : #if CK1_ENABLED && SK1_ENABLED
527 9 : module procedure setComplexDef_CK1_SK1
528 : use pm_kind, only: CKC => CK1, SKC => SK1
529 : #include "pm_val2complex@routines.inc.F90"
530 : end procedure
531 : #endif
532 :
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 :
535 : #undef SK_ENABLED
536 :
537 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
538 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540 :
541 : #undef Def_ENABLED
542 :
543 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547 :
548 : #define Err_ENABLED 1
549 :
550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
551 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
552 :
553 : #define SK_ENABLED 1
554 :
555 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
556 :
557 : #if CK5_ENABLED && SK5_ENABLED
558 : module procedure setComplexIO_CK5_SK5
559 : use pm_kind, only: CKC => CK5, SKC => SK5
560 : #include "pm_val2complex@routines.inc.F90"
561 : end procedure
562 : #endif
563 :
564 : #if CK5_ENABLED && SK4_ENABLED
565 : module procedure setComplexIO_CK5_SK4
566 : use pm_kind, only: CKC => CK5, SKC => SK4
567 : #include "pm_val2complex@routines.inc.F90"
568 : end procedure
569 : #endif
570 :
571 : #if CK5_ENABLED && SK3_ENABLED
572 : module procedure setComplexIO_CK5_SK3
573 : use pm_kind, only: CKC => CK5, SKC => SK3
574 : #include "pm_val2complex@routines.inc.F90"
575 : end procedure
576 : #endif
577 :
578 : #if CK5_ENABLED && SK2_ENABLED
579 : module procedure setComplexIO_CK5_SK2
580 : use pm_kind, only: CKC => CK5, SKC => SK2
581 : #include "pm_val2complex@routines.inc.F90"
582 : end procedure
583 : #endif
584 :
585 : #if CK5_ENABLED && SK1_ENABLED
586 : module procedure setComplexIO_CK5_SK1
587 : use pm_kind, only: CKC => CK5, SKC => SK1
588 : #include "pm_val2complex@routines.inc.F90"
589 : end procedure
590 : #endif
591 :
592 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
593 :
594 : #if CK4_ENABLED && SK5_ENABLED
595 : module procedure setComplexIO_CK4_SK5
596 : use pm_kind, only: CKC => CK4, SKC => SK5
597 : #include "pm_val2complex@routines.inc.F90"
598 : end procedure
599 : #endif
600 :
601 : #if CK4_ENABLED && SK4_ENABLED
602 : module procedure setComplexIO_CK4_SK4
603 : use pm_kind, only: CKC => CK4, SKC => SK4
604 : #include "pm_val2complex@routines.inc.F90"
605 : end procedure
606 : #endif
607 :
608 : #if CK4_ENABLED && SK3_ENABLED
609 : module procedure setComplexIO_CK4_SK3
610 : use pm_kind, only: CKC => CK4, SKC => SK3
611 : #include "pm_val2complex@routines.inc.F90"
612 : end procedure
613 : #endif
614 :
615 : #if CK4_ENABLED && SK2_ENABLED
616 : module procedure setComplexIO_CK4_SK2
617 : use pm_kind, only: CKC => CK4, SKC => SK2
618 : #include "pm_val2complex@routines.inc.F90"
619 : end procedure
620 : #endif
621 :
622 : #if CK4_ENABLED && SK1_ENABLED
623 0 : module procedure setComplexIO_CK4_SK1
624 : use pm_kind, only: CKC => CK4, SKC => SK1
625 : #include "pm_val2complex@routines.inc.F90"
626 : end procedure
627 : #endif
628 :
629 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630 :
631 : #if CK3_ENABLED && SK5_ENABLED
632 : module procedure setComplexIO_CK3_SK5
633 : use pm_kind, only: CKC => CK3, SKC => SK5
634 : #include "pm_val2complex@routines.inc.F90"
635 : end procedure
636 : #endif
637 :
638 : #if CK3_ENABLED && SK4_ENABLED
639 : module procedure setComplexIO_CK3_SK4
640 : use pm_kind, only: CKC => CK3, SKC => SK4
641 : #include "pm_val2complex@routines.inc.F90"
642 : end procedure
643 : #endif
644 :
645 : #if CK3_ENABLED && SK3_ENABLED
646 : module procedure setComplexIO_CK3_SK3
647 : use pm_kind, only: CKC => CK3, SKC => SK3
648 : #include "pm_val2complex@routines.inc.F90"
649 : end procedure
650 : #endif
651 :
652 : #if CK3_ENABLED && SK2_ENABLED
653 : module procedure setComplexIO_CK3_SK2
654 : use pm_kind, only: CKC => CK3, SKC => SK2
655 : #include "pm_val2complex@routines.inc.F90"
656 : end procedure
657 : #endif
658 :
659 : #if CK3_ENABLED && SK1_ENABLED
660 0 : module procedure setComplexIO_CK3_SK1
661 : use pm_kind, only: CKC => CK3, SKC => SK1
662 : #include "pm_val2complex@routines.inc.F90"
663 : end procedure
664 : #endif
665 :
666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
667 :
668 : #if CK2_ENABLED && SK5_ENABLED
669 : module procedure setComplexIO_CK2_SK5
670 : use pm_kind, only: CKC => CK2, SKC => SK5
671 : #include "pm_val2complex@routines.inc.F90"
672 : end procedure
673 : #endif
674 :
675 : #if CK2_ENABLED && SK4_ENABLED
676 : module procedure setComplexIO_CK2_SK4
677 : use pm_kind, only: CKC => CK2, SKC => SK4
678 : #include "pm_val2complex@routines.inc.F90"
679 : end procedure
680 : #endif
681 :
682 : #if CK2_ENABLED && SK3_ENABLED
683 : module procedure setComplexIO_CK2_SK3
684 : use pm_kind, only: CKC => CK2, SKC => SK3
685 : #include "pm_val2complex@routines.inc.F90"
686 : end procedure
687 : #endif
688 :
689 : #if CK2_ENABLED && SK2_ENABLED
690 : module procedure setComplexIO_CK2_SK2
691 : use pm_kind, only: CKC => CK2, SKC => SK2
692 : #include "pm_val2complex@routines.inc.F90"
693 : end procedure
694 : #endif
695 :
696 : #if CK2_ENABLED && SK1_ENABLED
697 0 : module procedure setComplexIO_CK2_SK1
698 : use pm_kind, only: CKC => CK2, SKC => SK1
699 : #include "pm_val2complex@routines.inc.F90"
700 : end procedure
701 : #endif
702 :
703 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
704 :
705 : #if CK1_ENABLED && SK5_ENABLED
706 : module procedure setComplexIO_CK1_SK5
707 : use pm_kind, only: CKC => CK1, SKC => SK5
708 : #include "pm_val2complex@routines.inc.F90"
709 : end procedure
710 : #endif
711 :
712 : #if CK1_ENABLED && SK4_ENABLED
713 : module procedure setComplexIO_CK1_SK4
714 : use pm_kind, only: CKC => CK1, SKC => SK4
715 : #include "pm_val2complex@routines.inc.F90"
716 : end procedure
717 : #endif
718 :
719 : #if CK1_ENABLED && SK3_ENABLED
720 : module procedure setComplexIO_CK1_SK3
721 : use pm_kind, only: CKC => CK1, SKC => SK3
722 : #include "pm_val2complex@routines.inc.F90"
723 : end procedure
724 : #endif
725 :
726 : #if CK1_ENABLED && SK2_ENABLED
727 : module procedure setComplexIO_CK1_SK2
728 : use pm_kind, only: CKC => CK1, SKC => SK2
729 : #include "pm_val2complex@routines.inc.F90"
730 : end procedure
731 : #endif
732 :
733 : #if CK1_ENABLED && SK1_ENABLED
734 10 : module procedure setComplexIO_CK1_SK1
735 : use pm_kind, only: CKC => CK1, SKC => SK1
736 : #include "pm_val2complex@routines.inc.F90"
737 : end procedure
738 : #endif
739 :
740 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
741 :
742 : #undef SK_ENABLED
743 :
744 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
745 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
746 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
747 :
748 : #undef Err_ENABLED
749 :
750 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
751 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
753 :
754 : #undef setComplex_ENABLED
755 :
756 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757 :
758 : end submodule routines
|