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 [val2int_pmod](@ref pm_val2int).
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_val2int) routines ! LCOV_EXCL_LINE
28 :
29 : implicit none
30 :
31 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32 :
33 : contains
34 :
35 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36 :
37 : #define getInt_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 getIntDef_LK5
51 : use pm_kind, only: IKC => IK, LKC => LK5
52 : #include "pm_val2int@routines.inc.F90"
53 0 : end procedure
54 : #endif
55 :
56 : #if LK4_ENABLED
57 0 : module procedure getIntDef_LK4
58 : use pm_kind, only: IKC => IK, LKC => LK4
59 : #include "pm_val2int@routines.inc.F90"
60 0 : end procedure
61 : #endif
62 :
63 : #if LK3_ENABLED
64 66 : module procedure getIntDef_LK3
65 : use pm_kind, only: IKC => IK, LKC => LK3
66 : #include "pm_val2int@routines.inc.F90"
67 66 : end procedure
68 : #endif
69 :
70 : #if LK2_ENABLED
71 0 : module procedure getIntDef_LK2
72 : use pm_kind, only: IKC => IK, LKC => LK2
73 : #include "pm_val2int@routines.inc.F90"
74 0 : end procedure
75 : #endif
76 :
77 : #if LK1_ENABLED
78 0 : module procedure getIntDef_LK1
79 : use pm_kind, only: IKC => IK, LKC => LK1
80 : #include "pm_val2int@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 getIntDef_SK5
92 : use pm_kind, only: IKC => IK, SKC => SK5
93 : #include "pm_val2int@routines.inc.F90"
94 : end procedure
95 : #endif
96 :
97 : #if SK4_ENABLED
98 : module procedure getIntDef_SK4
99 : use pm_kind, only: IKC => IK, SKC => SK4
100 : #include "pm_val2int@routines.inc.F90"
101 : end procedure
102 : #endif
103 :
104 : #if SK3_ENABLED
105 : module procedure getIntDef_SK3
106 : use pm_kind, only: IKC => IK, SKC => SK3
107 : #include "pm_val2int@routines.inc.F90"
108 : end procedure
109 : #endif
110 :
111 : #if SK2_ENABLED
112 : module procedure getIntDef_SK2
113 : use pm_kind, only: IKC => IK, SKC => SK2
114 : #include "pm_val2int@routines.inc.F90"
115 : end procedure
116 : #endif
117 :
118 : #if SK1_ENABLED
119 15 : module procedure getIntDef_SK1
120 : use pm_kind, only: IKC => IK, SKC => SK1
121 : #include "pm_val2int@routines.inc.F90"
122 15 : end procedure
123 : #endif
124 :
125 : #undef SK_ENABLED
126 :
127 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
128 :
129 : #undef Def_ENABLED
130 :
131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134 :
135 : #undef getInt_ENABLED
136 :
137 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138 :
139 : #define setInt_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 IK5_ENABLED && LK5_ENABLED
156 0 : module procedure setIntDef_IK5_LK5
157 : use pm_kind, only: IKC => IK5, LKC => LK5
158 : #include "pm_val2int@routines.inc.F90"
159 0 : end procedure
160 : #endif
161 :
162 : #if IK5_ENABLED && LK4_ENABLED
163 0 : module procedure setIntDef_IK5_LK4
164 : use pm_kind, only: IKC => IK5, LKC => LK4
165 : #include "pm_val2int@routines.inc.F90"
166 0 : end procedure
167 : #endif
168 :
169 : #if IK5_ENABLED && LK3_ENABLED
170 0 : module procedure setIntDef_IK5_LK3
171 : use pm_kind, only: IKC => IK5, LKC => LK3
172 : #include "pm_val2int@routines.inc.F90"
173 0 : end procedure
174 : #endif
175 :
176 : #if IK5_ENABLED && LK2_ENABLED
177 0 : module procedure setIntDef_IK5_LK2
178 : use pm_kind, only: IKC => IK5, LKC => LK2
179 : #include "pm_val2int@routines.inc.F90"
180 0 : end procedure
181 : #endif
182 :
183 : #if IK5_ENABLED && LK1_ENABLED
184 0 : module procedure setIntDef_IK5_LK1
185 : use pm_kind, only: IKC => IK5, LKC => LK1
186 : #include "pm_val2int@routines.inc.F90"
187 0 : end procedure
188 : #endif
189 :
190 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191 :
192 : #if IK4_ENABLED && LK5_ENABLED
193 0 : module procedure setIntDef_IK4_LK5
194 : use pm_kind, only: IKC => IK4, LKC => LK5
195 : #include "pm_val2int@routines.inc.F90"
196 0 : end procedure
197 : #endif
198 :
199 : #if IK4_ENABLED && LK4_ENABLED
200 0 : module procedure setIntDef_IK4_LK4
201 : use pm_kind, only: IKC => IK4, LKC => LK4
202 : #include "pm_val2int@routines.inc.F90"
203 0 : end procedure
204 : #endif
205 :
206 : #if IK4_ENABLED && LK3_ENABLED
207 0 : module procedure setIntDef_IK4_LK3
208 : use pm_kind, only: IKC => IK4, LKC => LK3
209 : #include "pm_val2int@routines.inc.F90"
210 0 : end procedure
211 : #endif
212 :
213 : #if IK4_ENABLED && LK2_ENABLED
214 0 : module procedure setIntDef_IK4_LK2
215 : use pm_kind, only: IKC => IK4, LKC => LK2
216 : #include "pm_val2int@routines.inc.F90"
217 0 : end procedure
218 : #endif
219 :
220 : #if IK4_ENABLED && LK1_ENABLED
221 0 : module procedure setIntDef_IK4_LK1
222 : use pm_kind, only: IKC => IK4, LKC => LK1
223 : #include "pm_val2int@routines.inc.F90"
224 0 : end procedure
225 : #endif
226 :
227 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228 :
229 : #if IK3_ENABLED && LK5_ENABLED
230 0 : module procedure setIntDef_IK3_LK5
231 : use pm_kind, only: IKC => IK3, LKC => LK5
232 : #include "pm_val2int@routines.inc.F90"
233 0 : end procedure
234 : #endif
235 :
236 : #if IK3_ENABLED && LK4_ENABLED
237 0 : module procedure setIntDef_IK3_LK4
238 : use pm_kind, only: IKC => IK3, LKC => LK4
239 : #include "pm_val2int@routines.inc.F90"
240 0 : end procedure
241 : #endif
242 :
243 : #if IK3_ENABLED && LK3_ENABLED
244 5 : module procedure setIntDef_IK3_LK3
245 : use pm_kind, only: IKC => IK3, LKC => LK3
246 : #include "pm_val2int@routines.inc.F90"
247 5 : end procedure
248 : #endif
249 :
250 : #if IK3_ENABLED && LK2_ENABLED
251 0 : module procedure setIntDef_IK3_LK2
252 : use pm_kind, only: IKC => IK3, LKC => LK2
253 : #include "pm_val2int@routines.inc.F90"
254 0 : end procedure
255 : #endif
256 :
257 : #if IK3_ENABLED && LK1_ENABLED
258 0 : module procedure setIntDef_IK3_LK1
259 : use pm_kind, only: IKC => IK3, LKC => LK1
260 : #include "pm_val2int@routines.inc.F90"
261 0 : end procedure
262 : #endif
263 :
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 :
266 : #if IK2_ENABLED && LK5_ENABLED
267 0 : module procedure setIntDef_IK2_LK5
268 : use pm_kind, only: IKC => IK2, LKC => LK5
269 : #include "pm_val2int@routines.inc.F90"
270 0 : end procedure
271 : #endif
272 :
273 : #if IK2_ENABLED && LK4_ENABLED
274 0 : module procedure setIntDef_IK2_LK4
275 : use pm_kind, only: IKC => IK2, LKC => LK4
276 : #include "pm_val2int@routines.inc.F90"
277 0 : end procedure
278 : #endif
279 :
280 : #if IK2_ENABLED && LK3_ENABLED
281 0 : module procedure setIntDef_IK2_LK3
282 : use pm_kind, only: IKC => IK2, LKC => LK3
283 : #include "pm_val2int@routines.inc.F90"
284 0 : end procedure
285 : #endif
286 :
287 : #if IK2_ENABLED && LK2_ENABLED
288 0 : module procedure setIntDef_IK2_LK2
289 : use pm_kind, only: IKC => IK2, LKC => LK2
290 : #include "pm_val2int@routines.inc.F90"
291 0 : end procedure
292 : #endif
293 :
294 : #if IK2_ENABLED && LK1_ENABLED
295 0 : module procedure setIntDef_IK2_LK1
296 : use pm_kind, only: IKC => IK2, LKC => LK1
297 : #include "pm_val2int@routines.inc.F90"
298 0 : end procedure
299 : #endif
300 :
301 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302 :
303 : #if IK1_ENABLED && LK5_ENABLED
304 0 : module procedure setIntDef_IK1_LK5
305 : use pm_kind, only: IKC => IK1, LKC => LK5
306 : #include "pm_val2int@routines.inc.F90"
307 0 : end procedure
308 : #endif
309 :
310 : #if IK1_ENABLED && LK4_ENABLED
311 0 : module procedure setIntDef_IK1_LK4
312 : use pm_kind, only: IKC => IK1, LKC => LK4
313 : #include "pm_val2int@routines.inc.F90"
314 0 : end procedure
315 : #endif
316 :
317 : #if IK1_ENABLED && LK3_ENABLED
318 0 : module procedure setIntDef_IK1_LK3
319 : use pm_kind, only: IKC => IK1, LKC => LK3
320 : #include "pm_val2int@routines.inc.F90"
321 0 : end procedure
322 : #endif
323 :
324 : #if IK1_ENABLED && LK2_ENABLED
325 0 : module procedure setIntDef_IK1_LK2
326 : use pm_kind, only: IKC => IK1, LKC => LK2
327 : #include "pm_val2int@routines.inc.F90"
328 0 : end procedure
329 : #endif
330 :
331 : #if IK1_ENABLED && LK1_ENABLED
332 0 : module procedure setIntDef_IK1_LK1
333 : use pm_kind, only: IKC => IK1, LKC => LK1
334 : #include "pm_val2int@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 IK5_ENABLED && SK5_ENABLED
351 : module procedure setIntDef_IK5_SK5
352 : use pm_kind, only: IKC => IK5, SKC => SK5
353 : #include "pm_val2int@routines.inc.F90"
354 : end procedure
355 : #endif
356 :
357 : #if IK5_ENABLED && SK4_ENABLED
358 : module procedure setIntDef_IK5_SK4
359 : use pm_kind, only: IKC => IK5, SKC => SK4
360 : #include "pm_val2int@routines.inc.F90"
361 : end procedure
362 : #endif
363 :
364 : #if IK5_ENABLED && SK3_ENABLED
365 : module procedure setIntDef_IK5_SK3
366 : use pm_kind, only: IKC => IK5, SKC => SK3
367 : #include "pm_val2int@routines.inc.F90"
368 : end procedure
369 : #endif
370 :
371 : #if IK5_ENABLED && SK2_ENABLED
372 : module procedure setIntDef_IK5_SK2
373 : use pm_kind, only: IKC => IK5, SKC => SK2
374 : #include "pm_val2int@routines.inc.F90"
375 : end procedure
376 : #endif
377 :
378 : #if IK5_ENABLED && SK1_ENABLED
379 0 : module procedure setIntDef_IK5_SK1
380 : use pm_kind, only: IKC => IK5, SKC => SK1
381 : #include "pm_val2int@routines.inc.F90"
382 0 : end procedure
383 : #endif
384 :
385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 :
387 : #if IK4_ENABLED && SK5_ENABLED
388 : module procedure setIntDef_IK4_SK5
389 : use pm_kind, only: IKC => IK4, SKC => SK5
390 : #include "pm_val2int@routines.inc.F90"
391 : end procedure
392 : #endif
393 :
394 : #if IK4_ENABLED && SK4_ENABLED
395 : module procedure setIntDef_IK4_SK4
396 : use pm_kind, only: IKC => IK4, SKC => SK4
397 : #include "pm_val2int@routines.inc.F90"
398 : end procedure
399 : #endif
400 :
401 : #if IK4_ENABLED && SK3_ENABLED
402 : module procedure setIntDef_IK4_SK3
403 : use pm_kind, only: IKC => IK4, SKC => SK3
404 : #include "pm_val2int@routines.inc.F90"
405 : end procedure
406 : #endif
407 :
408 : #if IK4_ENABLED && SK2_ENABLED
409 : module procedure setIntDef_IK4_SK2
410 : use pm_kind, only: IKC => IK4, SKC => SK2
411 : #include "pm_val2int@routines.inc.F90"
412 : end procedure
413 : #endif
414 :
415 : #if IK4_ENABLED && SK1_ENABLED
416 0 : module procedure setIntDef_IK4_SK1
417 : use pm_kind, only: IKC => IK4, SKC => SK1
418 : #include "pm_val2int@routines.inc.F90"
419 0 : end procedure
420 : #endif
421 :
422 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
423 :
424 : #if IK3_ENABLED && SK5_ENABLED
425 : module procedure setIntDef_IK3_SK5
426 : use pm_kind, only: IKC => IK3, SKC => SK5
427 : #include "pm_val2int@routines.inc.F90"
428 : end procedure
429 : #endif
430 :
431 : #if IK3_ENABLED && SK4_ENABLED
432 : module procedure setIntDef_IK3_SK4
433 : use pm_kind, only: IKC => IK3, SKC => SK4
434 : #include "pm_val2int@routines.inc.F90"
435 : end procedure
436 : #endif
437 :
438 : #if IK3_ENABLED && SK3_ENABLED
439 : module procedure setIntDef_IK3_SK3
440 : use pm_kind, only: IKC => IK3, SKC => SK3
441 : #include "pm_val2int@routines.inc.F90"
442 : end procedure
443 : #endif
444 :
445 : #if IK3_ENABLED && SK2_ENABLED
446 : module procedure setIntDef_IK3_SK2
447 : use pm_kind, only: IKC => IK3, SKC => SK2
448 : #include "pm_val2int@routines.inc.F90"
449 : end procedure
450 : #endif
451 :
452 : #if IK3_ENABLED && SK1_ENABLED
453 8 : module procedure setIntDef_IK3_SK1
454 : use pm_kind, only: IKC => IK3, SKC => SK1
455 : #include "pm_val2int@routines.inc.F90"
456 8 : end procedure
457 : #endif
458 :
459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460 :
461 : #if IK2_ENABLED && SK5_ENABLED
462 : module procedure setIntDef_IK2_SK5
463 : use pm_kind, only: IKC => IK2, SKC => SK5
464 : #include "pm_val2int@routines.inc.F90"
465 : end procedure
466 : #endif
467 :
468 : #if IK2_ENABLED && SK4_ENABLED
469 : module procedure setIntDef_IK2_SK4
470 : use pm_kind, only: IKC => IK2, SKC => SK4
471 : #include "pm_val2int@routines.inc.F90"
472 : end procedure
473 : #endif
474 :
475 : #if IK2_ENABLED && SK3_ENABLED
476 : module procedure setIntDef_IK2_SK3
477 : use pm_kind, only: IKC => IK2, SKC => SK3
478 : #include "pm_val2int@routines.inc.F90"
479 : end procedure
480 : #endif
481 :
482 : #if IK2_ENABLED && SK2_ENABLED
483 : module procedure setIntDef_IK2_SK2
484 : use pm_kind, only: IKC => IK2, SKC => SK2
485 : #include "pm_val2int@routines.inc.F90"
486 : end procedure
487 : #endif
488 :
489 : #if IK2_ENABLED && SK1_ENABLED
490 0 : module procedure setIntDef_IK2_SK1
491 : use pm_kind, only: IKC => IK2, SKC => SK1
492 : #include "pm_val2int@routines.inc.F90"
493 0 : end procedure
494 : #endif
495 :
496 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
497 :
498 : #if IK1_ENABLED && SK5_ENABLED
499 : module procedure setIntDef_IK1_SK5
500 : use pm_kind, only: IKC => IK1, SKC => SK5
501 : #include "pm_val2int@routines.inc.F90"
502 : end procedure
503 : #endif
504 :
505 : #if IK1_ENABLED && SK4_ENABLED
506 : module procedure setIntDef_IK1_SK4
507 : use pm_kind, only: IKC => IK1, SKC => SK4
508 : #include "pm_val2int@routines.inc.F90"
509 : end procedure
510 : #endif
511 :
512 : #if IK1_ENABLED && SK3_ENABLED
513 : module procedure setIntDef_IK1_SK3
514 : use pm_kind, only: IKC => IK1, SKC => SK3
515 : #include "pm_val2int@routines.inc.F90"
516 : end procedure
517 : #endif
518 :
519 : #if IK1_ENABLED && SK2_ENABLED
520 : module procedure setIntDef_IK1_SK2
521 : use pm_kind, only: IKC => IK1, SKC => SK2
522 : #include "pm_val2int@routines.inc.F90"
523 : end procedure
524 : #endif
525 :
526 : #if IK1_ENABLED && SK1_ENABLED
527 0 : module procedure setIntDef_IK1_SK1
528 : use pm_kind, only: IKC => IK1, SKC => SK1
529 : #include "pm_val2int@routines.inc.F90"
530 0 : 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 : #define Err_ENABLED 1
548 :
549 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
551 :
552 : #define SK_ENABLED 1
553 :
554 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
555 :
556 : #if IK5_ENABLED && SK5_ENABLED
557 : module procedure setIntErr_IK5_SK5
558 : use pm_kind, only: IKC => IK5, SKC => SK5
559 : #include "pm_val2int@routines.inc.F90"
560 : end procedure
561 : #endif
562 :
563 : #if IK5_ENABLED && SK4_ENABLED
564 : module procedure setIntErr_IK5_SK4
565 : use pm_kind, only: IKC => IK5, SKC => SK4
566 : #include "pm_val2int@routines.inc.F90"
567 : end procedure
568 : #endif
569 :
570 : #if IK5_ENABLED && SK3_ENABLED
571 : module procedure setIntErr_IK5_SK3
572 : use pm_kind, only: IKC => IK5, SKC => SK3
573 : #include "pm_val2int@routines.inc.F90"
574 : end procedure
575 : #endif
576 :
577 : #if IK5_ENABLED && SK2_ENABLED
578 : module procedure setIntErr_IK5_SK2
579 : use pm_kind, only: IKC => IK5, SKC => SK2
580 : #include "pm_val2int@routines.inc.F90"
581 : end procedure
582 : #endif
583 :
584 : #if IK5_ENABLED && SK1_ENABLED
585 0 : module procedure setIntErr_IK5_SK1
586 : use pm_kind, only: IKC => IK5, SKC => SK1
587 : #include "pm_val2int@routines.inc.F90"
588 0 : end procedure
589 : #endif
590 :
591 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
592 :
593 : #if IK4_ENABLED && SK5_ENABLED
594 : module procedure setIntErr_IK4_SK5
595 : use pm_kind, only: IKC => IK4, SKC => SK5
596 : #include "pm_val2int@routines.inc.F90"
597 : end procedure
598 : #endif
599 :
600 : #if IK4_ENABLED && SK4_ENABLED
601 : module procedure setIntErr_IK4_SK4
602 : use pm_kind, only: IKC => IK4, SKC => SK4
603 : #include "pm_val2int@routines.inc.F90"
604 : end procedure
605 : #endif
606 :
607 : #if IK4_ENABLED && SK3_ENABLED
608 : module procedure setIntErr_IK4_SK3
609 : use pm_kind, only: IKC => IK4, SKC => SK3
610 : #include "pm_val2int@routines.inc.F90"
611 : end procedure
612 : #endif
613 :
614 : #if IK4_ENABLED && SK2_ENABLED
615 : module procedure setIntErr_IK4_SK2
616 : use pm_kind, only: IKC => IK4, SKC => SK2
617 : #include "pm_val2int@routines.inc.F90"
618 : end procedure
619 : #endif
620 :
621 : #if IK4_ENABLED && SK1_ENABLED
622 0 : module procedure setIntErr_IK4_SK1
623 : use pm_kind, only: IKC => IK4, SKC => SK1
624 : #include "pm_val2int@routines.inc.F90"
625 0 : end procedure
626 : #endif
627 :
628 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
629 :
630 : #if IK3_ENABLED && SK5_ENABLED
631 : module procedure setIntErr_IK3_SK5
632 : use pm_kind, only: IKC => IK3, SKC => SK5
633 : #include "pm_val2int@routines.inc.F90"
634 : end procedure
635 : #endif
636 :
637 : #if IK3_ENABLED && SK4_ENABLED
638 : module procedure setIntErr_IK3_SK4
639 : use pm_kind, only: IKC => IK3, SKC => SK4
640 : #include "pm_val2int@routines.inc.F90"
641 : end procedure
642 : #endif
643 :
644 : #if IK3_ENABLED && SK3_ENABLED
645 : module procedure setIntErr_IK3_SK3
646 : use pm_kind, only: IKC => IK3, SKC => SK3
647 : #include "pm_val2int@routines.inc.F90"
648 : end procedure
649 : #endif
650 :
651 : #if IK3_ENABLED && SK2_ENABLED
652 : module procedure setIntErr_IK3_SK2
653 : use pm_kind, only: IKC => IK3, SKC => SK2
654 : #include "pm_val2int@routines.inc.F90"
655 : end procedure
656 : #endif
657 :
658 : #if IK3_ENABLED && SK1_ENABLED
659 7 : module procedure setIntErr_IK3_SK1
660 : use pm_kind, only: IKC => IK3, SKC => SK1
661 : #include "pm_val2int@routines.inc.F90"
662 7 : end procedure
663 : #endif
664 :
665 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
666 :
667 : #if IK2_ENABLED && SK5_ENABLED
668 : module procedure setIntErr_IK2_SK5
669 : use pm_kind, only: IKC => IK2, SKC => SK5
670 : #include "pm_val2int@routines.inc.F90"
671 : end procedure
672 : #endif
673 :
674 : #if IK2_ENABLED && SK4_ENABLED
675 : module procedure setIntErr_IK2_SK4
676 : use pm_kind, only: IKC => IK2, SKC => SK4
677 : #include "pm_val2int@routines.inc.F90"
678 : end procedure
679 : #endif
680 :
681 : #if IK2_ENABLED && SK3_ENABLED
682 : module procedure setIntErr_IK2_SK3
683 : use pm_kind, only: IKC => IK2, SKC => SK3
684 : #include "pm_val2int@routines.inc.F90"
685 : end procedure
686 : #endif
687 :
688 : #if IK2_ENABLED && SK2_ENABLED
689 : module procedure setIntErr_IK2_SK2
690 : use pm_kind, only: IKC => IK2, SKC => SK2
691 : #include "pm_val2int@routines.inc.F90"
692 : end procedure
693 : #endif
694 :
695 : #if IK2_ENABLED && SK1_ENABLED
696 0 : module procedure setIntErr_IK2_SK1
697 : use pm_kind, only: IKC => IK2, SKC => SK1
698 : #include "pm_val2int@routines.inc.F90"
699 0 : end procedure
700 : #endif
701 :
702 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
703 :
704 : #if IK1_ENABLED && SK5_ENABLED
705 : module procedure setIntErr_IK1_SK5
706 : use pm_kind, only: IKC => IK1, SKC => SK5
707 : #include "pm_val2int@routines.inc.F90"
708 : end procedure
709 : #endif
710 :
711 : #if IK1_ENABLED && SK4_ENABLED
712 : module procedure setIntErr_IK1_SK4
713 : use pm_kind, only: IKC => IK1, SKC => SK4
714 : #include "pm_val2int@routines.inc.F90"
715 : end procedure
716 : #endif
717 :
718 : #if IK1_ENABLED && SK3_ENABLED
719 : module procedure setIntErr_IK1_SK3
720 : use pm_kind, only: IKC => IK1, SKC => SK3
721 : #include "pm_val2int@routines.inc.F90"
722 : end procedure
723 : #endif
724 :
725 : #if IK1_ENABLED && SK2_ENABLED
726 : module procedure setIntErr_IK1_SK2
727 : use pm_kind, only: IKC => IK1, SKC => SK2
728 : #include "pm_val2int@routines.inc.F90"
729 : end procedure
730 : #endif
731 :
732 : #if IK1_ENABLED && SK1_ENABLED
733 0 : module procedure setIntErr_IK1_SK1
734 : use pm_kind, only: IKC => IK1, SKC => SK1
735 : #include "pm_val2int@routines.inc.F90"
736 0 : end procedure
737 : #endif
738 :
739 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
740 :
741 : #undef SK_ENABLED
742 :
743 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
744 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
745 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
746 :
747 : #undef Err_ENABLED
748 :
749 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
750 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
751 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752 :
753 : #undef setInt_ENABLED
754 :
755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 :
757 : end submodule routines
|