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 [pm_matrixInv](@ref pm_matrixInv).
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_matrixInv) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : use pm_matrixLUP, only: setMatLUP
40 : !use pm_matrixInit, only: setMatInit
41 : use pm_matrixCopy, only: setMatCopy, rdpack
42 : use pm_matrixCopy, only: getMatCopy, lfpack, dia
43 : implicit none
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : contains
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define getMatInv_ENABLED 1
52 :
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define IMP_ENABLED 1
58 :
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 :
63 : #define Def_ENABLED 1
64 :
65 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 :
67 : #define CK_ENABLED 1
68 :
69 : #if CK5_ENABLED
70 : module procedure getMatInvDef_IMP_CK5
71 : use pm_kind, only: TKC => CK5
72 : #include "pm_matrixInv@routines.inc.F90"
73 : end procedure
74 : #endif
75 :
76 : #if CK4_ENABLED
77 20 : module procedure getMatInvDef_IMP_CK4
78 : use pm_kind, only: TKC => CK4
79 : #include "pm_matrixInv@routines.inc.F90"
80 20 : end procedure
81 : #endif
82 :
83 : #if CK3_ENABLED
84 0 : module procedure getMatInvDef_IMP_CK3
85 : use pm_kind, only: TKC => CK3
86 : #include "pm_matrixInv@routines.inc.F90"
87 0 : end procedure
88 : #endif
89 :
90 : #if CK2_ENABLED
91 0 : module procedure getMatInvDef_IMP_CK2
92 : use pm_kind, only: TKC => CK2
93 : #define DISPATCH_ENABLED 1
94 : #include "pm_matrixInv@routines.inc.F90"
95 : #undef DISPATCH_ENABLED
96 0 : end procedure
97 : #endif
98 :
99 : #if CK1_ENABLED
100 5 : module procedure getMatInvDef_IMP_CK1
101 : use pm_kind, only: TKC => CK1
102 : #define DISPATCH_ENABLED 1
103 : #include "pm_matrixInv@routines.inc.F90"
104 : #undef DISPATCH_ENABLED
105 5 : end procedure
106 : #endif
107 :
108 : #undef CK_ENABLED
109 :
110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111 :
112 : #define RK_ENABLED 1
113 :
114 : #if RK5_ENABLED
115 : module procedure getMatInvDef_IMP_RK5
116 : use pm_kind, only: TKC => RK5
117 : #include "pm_matrixInv@routines.inc.F90"
118 : end procedure
119 : #endif
120 :
121 : #if RK4_ENABLED
122 20 : module procedure getMatInvDef_IMP_RK4
123 : use pm_kind, only: TKC => RK4
124 : #include "pm_matrixInv@routines.inc.F90"
125 20 : end procedure
126 : #endif
127 :
128 : #if RK3_ENABLED
129 0 : module procedure getMatInvDef_IMP_RK3
130 : use pm_kind, only: TKC => RK3
131 : #include "pm_matrixInv@routines.inc.F90"
132 0 : end procedure
133 : #endif
134 :
135 : #if RK2_ENABLED
136 0 : module procedure getMatInvDef_IMP_RK2
137 : use pm_kind, only: TKC => RK2
138 : #define DISPATCH_ENABLED 1
139 : #include "pm_matrixInv@routines.inc.F90"
140 : #undef DISPATCH_ENABLED
141 0 : end procedure
142 : #endif
143 :
144 : #if RK1_ENABLED
145 109 : module procedure getMatInvDef_IMP_RK1
146 : use pm_kind, only: TKC => RK1
147 : #define DISPATCH_ENABLED 1
148 : #include "pm_matrixInv@routines.inc.F90"
149 : #undef DISPATCH_ENABLED
150 109 : end procedure
151 : #endif
152 :
153 : #undef RK_ENABLED
154 :
155 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156 :
157 : #undef Def_ENABLED
158 :
159 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162 :
163 : #define Det_ENABLED 1
164 :
165 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166 :
167 : #define CK_ENABLED 1
168 :
169 : #if CK5_ENABLED
170 : module procedure getMatInvDet_IMP_CK5
171 : use pm_kind, only: TKC => CK5
172 : #include "pm_matrixInv@routines.inc.F90"
173 : end procedure
174 : #endif
175 :
176 : #if CK4_ENABLED
177 0 : module procedure getMatInvDet_IMP_CK4
178 : use pm_kind, only: TKC => CK4
179 : #include "pm_matrixInv@routines.inc.F90"
180 0 : end procedure
181 : #endif
182 :
183 : #if CK3_ENABLED
184 0 : module procedure getMatInvDet_IMP_CK3
185 : use pm_kind, only: TKC => CK3
186 : #include "pm_matrixInv@routines.inc.F90"
187 0 : end procedure
188 : #endif
189 :
190 : #if CK2_ENABLED
191 0 : module procedure getMatInvDet_IMP_CK2
192 : use pm_kind, only: TKC => CK2
193 : #define DISPATCH_ENABLED 1
194 : #include "pm_matrixInv@routines.inc.F90"
195 : #undef DISPATCH_ENABLED
196 0 : end procedure
197 : #endif
198 :
199 : #if CK1_ENABLED
200 1 : module procedure getMatInvDet_IMP_CK1
201 : use pm_kind, only: TKC => CK1
202 : #define DISPATCH_ENABLED 1
203 : #include "pm_matrixInv@routines.inc.F90"
204 : #undef DISPATCH_ENABLED
205 1 : end procedure
206 : #endif
207 :
208 : #undef CK_ENABLED
209 :
210 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
211 :
212 : #define RK_ENABLED 1
213 :
214 : #if RK5_ENABLED
215 : module procedure getMatInvDet_IMP_RK5
216 : use pm_kind, only: TKC => RK5
217 : #include "pm_matrixInv@routines.inc.F90"
218 : end procedure
219 : #endif
220 :
221 : #if RK4_ENABLED
222 0 : module procedure getMatInvDet_IMP_RK4
223 : use pm_kind, only: TKC => RK4
224 : #include "pm_matrixInv@routines.inc.F90"
225 0 : end procedure
226 : #endif
227 :
228 : #if RK3_ENABLED
229 0 : module procedure getMatInvDet_IMP_RK3
230 : use pm_kind, only: TKC => RK3
231 : #include "pm_matrixInv@routines.inc.F90"
232 0 : end procedure
233 : #endif
234 :
235 : #if RK2_ENABLED
236 0 : module procedure getMatInvDet_IMP_RK2
237 : use pm_kind, only: TKC => RK2
238 : #define DISPATCH_ENABLED 1
239 : #include "pm_matrixInv@routines.inc.F90"
240 : #undef DISPATCH_ENABLED
241 0 : end procedure
242 : #endif
243 :
244 : #if RK1_ENABLED
245 1 : module procedure getMatInvDet_IMP_RK1
246 : use pm_kind, only: TKC => RK1
247 : #define DISPATCH_ENABLED 1
248 : #include "pm_matrixInv@routines.inc.F90"
249 : #undef DISPATCH_ENABLED
250 1 : end procedure
251 : #endif
252 :
253 : #undef RK_ENABLED
254 :
255 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256 :
257 : #undef Det_ENABLED
258 :
259 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262 :
263 : #define Inf_ENABLED 1
264 :
265 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 :
267 : #define CK_ENABLED 1
268 :
269 : #if CK5_ENABLED
270 : module procedure getMatInvInf_IMP_CK5
271 : use pm_kind, only: TKC => CK5
272 : #include "pm_matrixInv@routines.inc.F90"
273 : end procedure
274 : #endif
275 :
276 : #if CK4_ENABLED
277 0 : module procedure getMatInvInf_IMP_CK4
278 : use pm_kind, only: TKC => CK4
279 : #include "pm_matrixInv@routines.inc.F90"
280 : end procedure
281 : #endif
282 :
283 : #if CK3_ENABLED
284 0 : module procedure getMatInvInf_IMP_CK3
285 : use pm_kind, only: TKC => CK3
286 : #include "pm_matrixInv@routines.inc.F90"
287 : end procedure
288 : #endif
289 :
290 : #if CK2_ENABLED
291 0 : module procedure getMatInvInf_IMP_CK2
292 : use pm_kind, only: TKC => CK2
293 : #define DISPATCH_ENABLED 1
294 : #include "pm_matrixInv@routines.inc.F90"
295 : #undef DISPATCH_ENABLED
296 : end procedure
297 : #endif
298 :
299 : #if CK1_ENABLED
300 1 : module procedure getMatInvInf_IMP_CK1
301 : use pm_kind, only: TKC => CK1
302 : #define DISPATCH_ENABLED 1
303 : #include "pm_matrixInv@routines.inc.F90"
304 : #undef DISPATCH_ENABLED
305 : end procedure
306 : #endif
307 :
308 : #undef CK_ENABLED
309 :
310 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311 :
312 : #define RK_ENABLED 1
313 :
314 : #if RK5_ENABLED
315 : module procedure getMatInvInf_IMP_RK5
316 : use pm_kind, only: TKC => RK5
317 : #include "pm_matrixInv@routines.inc.F90"
318 : end procedure
319 : #endif
320 :
321 : #if RK4_ENABLED
322 0 : module procedure getMatInvInf_IMP_RK4
323 : use pm_kind, only: TKC => RK4
324 : #include "pm_matrixInv@routines.inc.F90"
325 : end procedure
326 : #endif
327 :
328 : #if RK3_ENABLED
329 0 : module procedure getMatInvInf_IMP_RK3
330 : use pm_kind, only: TKC => RK3
331 : #include "pm_matrixInv@routines.inc.F90"
332 : end procedure
333 : #endif
334 :
335 : #if RK2_ENABLED
336 0 : module procedure getMatInvInf_IMP_RK2
337 : use pm_kind, only: TKC => RK2
338 : #define DISPATCH_ENABLED 1
339 : #include "pm_matrixInv@routines.inc.F90"
340 : #undef DISPATCH_ENABLED
341 : end procedure
342 : #endif
343 :
344 : #if RK1_ENABLED
345 1 : module procedure getMatInvInf_IMP_RK1
346 : use pm_kind, only: TKC => RK1
347 : #define DISPATCH_ENABLED 1
348 : #include "pm_matrixInv@routines.inc.F90"
349 : #undef DISPATCH_ENABLED
350 : end procedure
351 : #endif
352 :
353 : #undef RK_ENABLED
354 :
355 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
356 :
357 : #undef Inf_ENABLED
358 :
359 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
362 :
363 : #define CUD_ENABLED 1
364 :
365 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
366 :
367 : #define CK_ENABLED 1
368 :
369 : #if CK5_ENABLED
370 : module procedure getMatInvCUD_IMP_CK5
371 : use pm_kind, only: TKC => CK5
372 : #include "pm_matrixInv@routines.inc.F90"
373 : end procedure
374 : #endif
375 :
376 : #if CK4_ENABLED
377 0 : module procedure getMatInvCUD_IMP_CK4
378 : use pm_kind, only: TKC => CK4
379 : #include "pm_matrixInv@routines.inc.F90"
380 0 : end procedure
381 : #endif
382 :
383 : #if CK3_ENABLED
384 0 : module procedure getMatInvCUD_IMP_CK3
385 : use pm_kind, only: TKC => CK3
386 : #include "pm_matrixInv@routines.inc.F90"
387 0 : end procedure
388 : #endif
389 :
390 : #if CK2_ENABLED
391 0 : module procedure getMatInvCUD_IMP_CK2
392 : use pm_kind, only: TKC => CK2
393 : #define DISPATCH_ENABLED 1
394 : #include "pm_matrixInv@routines.inc.F90"
395 : #undef DISPATCH_ENABLED
396 0 : end procedure
397 : #endif
398 :
399 : #if CK1_ENABLED
400 10 : module procedure getMatInvCUD_IMP_CK1
401 : use pm_kind, only: TKC => CK1
402 : #define DISPATCH_ENABLED 1
403 : #include "pm_matrixInv@routines.inc.F90"
404 : #undef DISPATCH_ENABLED
405 10 : end procedure
406 : #endif
407 :
408 : #undef CK_ENABLED
409 :
410 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
411 :
412 : #define RK_ENABLED 1
413 :
414 : #if RK5_ENABLED
415 : module procedure getMatInvCUD_IMP_RK5
416 : use pm_kind, only: TKC => RK5
417 : #include "pm_matrixInv@routines.inc.F90"
418 : end procedure
419 : #endif
420 :
421 : #if RK4_ENABLED
422 0 : module procedure getMatInvCUD_IMP_RK4
423 : use pm_kind, only: TKC => RK4
424 : #include "pm_matrixInv@routines.inc.F90"
425 0 : end procedure
426 : #endif
427 :
428 : #if RK3_ENABLED
429 0 : module procedure getMatInvCUD_IMP_RK3
430 : use pm_kind, only: TKC => RK3
431 : #include "pm_matrixInv@routines.inc.F90"
432 0 : end procedure
433 : #endif
434 :
435 : #if RK2_ENABLED
436 0 : module procedure getMatInvCUD_IMP_RK2
437 : use pm_kind, only: TKC => RK2
438 : #define DISPATCH_ENABLED 1
439 : #include "pm_matrixInv@routines.inc.F90"
440 : #undef DISPATCH_ENABLED
441 0 : end procedure
442 : #endif
443 :
444 : #if RK1_ENABLED
445 30 : module procedure getMatInvCUD_IMP_RK1
446 : use pm_kind, only: TKC => RK1
447 : #define DISPATCH_ENABLED 1
448 : #include "pm_matrixInv@routines.inc.F90"
449 : #undef DISPATCH_ENABLED
450 30 : end procedure
451 : #endif
452 :
453 : #undef RK_ENABLED
454 :
455 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
456 :
457 : #undef CUD_ENABLED
458 :
459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
461 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
462 :
463 : #define CLD_ENABLED 1
464 :
465 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
466 :
467 : #define CK_ENABLED 1
468 :
469 : #if CK5_ENABLED
470 : module procedure getMatInvCLD_IMP_CK5
471 : use pm_kind, only: TKC => CK5
472 : #include "pm_matrixInv@routines.inc.F90"
473 : end procedure
474 : #endif
475 :
476 : #if CK4_ENABLED
477 0 : module procedure getMatInvCLD_IMP_CK4
478 : use pm_kind, only: TKC => CK4
479 : #include "pm_matrixInv@routines.inc.F90"
480 0 : end procedure
481 : #endif
482 :
483 : #if CK3_ENABLED
484 0 : module procedure getMatInvCLD_IMP_CK3
485 : use pm_kind, only: TKC => CK3
486 : #include "pm_matrixInv@routines.inc.F90"
487 0 : end procedure
488 : #endif
489 :
490 : #if CK2_ENABLED
491 0 : module procedure getMatInvCLD_IMP_CK2
492 : use pm_kind, only: TKC => CK2
493 : #define DISPATCH_ENABLED 1
494 : #include "pm_matrixInv@routines.inc.F90"
495 : #undef DISPATCH_ENABLED
496 0 : end procedure
497 : #endif
498 :
499 : #if CK1_ENABLED
500 10 : module procedure getMatInvCLD_IMP_CK1
501 : use pm_kind, only: TKC => CK1
502 : #define DISPATCH_ENABLED 1
503 : #include "pm_matrixInv@routines.inc.F90"
504 : #undef DISPATCH_ENABLED
505 10 : end procedure
506 : #endif
507 :
508 : #undef CK_ENABLED
509 :
510 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
511 :
512 : #define RK_ENABLED 1
513 :
514 : #if RK5_ENABLED
515 : module procedure getMatInvCLD_IMP_RK5
516 : use pm_kind, only: TKC => RK5
517 : #include "pm_matrixInv@routines.inc.F90"
518 : end procedure
519 : #endif
520 :
521 : #if RK4_ENABLED
522 0 : module procedure getMatInvCLD_IMP_RK4
523 : use pm_kind, only: TKC => RK4
524 : #include "pm_matrixInv@routines.inc.F90"
525 0 : end procedure
526 : #endif
527 :
528 : #if RK3_ENABLED
529 0 : module procedure getMatInvCLD_IMP_RK3
530 : use pm_kind, only: TKC => RK3
531 : #include "pm_matrixInv@routines.inc.F90"
532 0 : end procedure
533 : #endif
534 :
535 : #if RK2_ENABLED
536 0 : module procedure getMatInvCLD_IMP_RK2
537 : use pm_kind, only: TKC => RK2
538 : #define DISPATCH_ENABLED 1
539 : #include "pm_matrixInv@routines.inc.F90"
540 : #undef DISPATCH_ENABLED
541 0 : end procedure
542 : #endif
543 :
544 : #if RK1_ENABLED
545 10 : module procedure getMatInvCLD_IMP_RK1
546 : use pm_kind, only: TKC => RK1
547 : #define DISPATCH_ENABLED 1
548 : #include "pm_matrixInv@routines.inc.F90"
549 : #undef DISPATCH_ENABLED
550 10 : end procedure
551 : #endif
552 :
553 : #undef RK_ENABLED
554 :
555 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
556 :
557 : #undef CLD_ENABLED
558 :
559 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
560 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
561 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
562 :
563 : #define CUU_ENABLED 1
564 :
565 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
566 :
567 : #define CK_ENABLED 1
568 :
569 : #if CK5_ENABLED
570 : module procedure getMatInvCUU_IMP_CK5
571 : use pm_kind, only: TKC => CK5
572 : #include "pm_matrixInv@routines.inc.F90"
573 : end procedure
574 : #endif
575 :
576 : #if CK4_ENABLED
577 0 : module procedure getMatInvCUU_IMP_CK4
578 : use pm_kind, only: TKC => CK4
579 : #include "pm_matrixInv@routines.inc.F90"
580 0 : end procedure
581 : #endif
582 :
583 : #if CK3_ENABLED
584 0 : module procedure getMatInvCUU_IMP_CK3
585 : use pm_kind, only: TKC => CK3
586 : #include "pm_matrixInv@routines.inc.F90"
587 0 : end procedure
588 : #endif
589 :
590 : #if CK2_ENABLED
591 0 : module procedure getMatInvCUU_IMP_CK2
592 : use pm_kind, only: TKC => CK2
593 : #define DISPATCH_ENABLED 1
594 : #include "pm_matrixInv@routines.inc.F90"
595 : #undef DISPATCH_ENABLED
596 0 : end procedure
597 : #endif
598 :
599 : #if CK1_ENABLED
600 10 : module procedure getMatInvCUU_IMP_CK1
601 : use pm_kind, only: TKC => CK1
602 : #define DISPATCH_ENABLED 1
603 : #include "pm_matrixInv@routines.inc.F90"
604 : #undef DISPATCH_ENABLED
605 10 : end procedure
606 : #endif
607 :
608 : #undef CK_ENABLED
609 :
610 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611 :
612 : #define RK_ENABLED 1
613 :
614 : #if RK5_ENABLED
615 : module procedure getMatInvCUU_IMP_RK5
616 : use pm_kind, only: TKC => RK5
617 : #include "pm_matrixInv@routines.inc.F90"
618 : end procedure
619 : #endif
620 :
621 : #if RK4_ENABLED
622 0 : module procedure getMatInvCUU_IMP_RK4
623 : use pm_kind, only: TKC => RK4
624 : #include "pm_matrixInv@routines.inc.F90"
625 0 : end procedure
626 : #endif
627 :
628 : #if RK3_ENABLED
629 0 : module procedure getMatInvCUU_IMP_RK3
630 : use pm_kind, only: TKC => RK3
631 : #include "pm_matrixInv@routines.inc.F90"
632 0 : end procedure
633 : #endif
634 :
635 : #if RK2_ENABLED
636 0 : module procedure getMatInvCUU_IMP_RK2
637 : use pm_kind, only: TKC => RK2
638 : #define DISPATCH_ENABLED 1
639 : #include "pm_matrixInv@routines.inc.F90"
640 : #undef DISPATCH_ENABLED
641 0 : end procedure
642 : #endif
643 :
644 : #if RK1_ENABLED
645 10 : module procedure getMatInvCUU_IMP_RK1
646 : use pm_kind, only: TKC => RK1
647 : #define DISPATCH_ENABLED 1
648 : #include "pm_matrixInv@routines.inc.F90"
649 : #undef DISPATCH_ENABLED
650 10 : end procedure
651 : #endif
652 :
653 : #undef RK_ENABLED
654 :
655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
656 :
657 : #undef CUU_ENABLED
658 :
659 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
660 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
661 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
662 :
663 : #define CLU_ENABLED 1
664 :
665 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
666 :
667 : #define CK_ENABLED 1
668 :
669 : #if CK5_ENABLED
670 : module procedure getMatInvCLU_IMP_CK5
671 : use pm_kind, only: TKC => CK5
672 : #include "pm_matrixInv@routines.inc.F90"
673 : end procedure
674 : #endif
675 :
676 : #if CK4_ENABLED
677 0 : module procedure getMatInvCLU_IMP_CK4
678 : use pm_kind, only: TKC => CK4
679 : #include "pm_matrixInv@routines.inc.F90"
680 0 : end procedure
681 : #endif
682 :
683 : #if CK3_ENABLED
684 0 : module procedure getMatInvCLU_IMP_CK3
685 : use pm_kind, only: TKC => CK3
686 : #include "pm_matrixInv@routines.inc.F90"
687 0 : end procedure
688 : #endif
689 :
690 : #if CK2_ENABLED
691 0 : module procedure getMatInvCLU_IMP_CK2
692 : use pm_kind, only: TKC => CK2
693 : #define DISPATCH_ENABLED 1
694 : #include "pm_matrixInv@routines.inc.F90"
695 : #undef DISPATCH_ENABLED
696 0 : end procedure
697 : #endif
698 :
699 : #if CK1_ENABLED
700 10 : module procedure getMatInvCLU_IMP_CK1
701 : use pm_kind, only: TKC => CK1
702 : #define DISPATCH_ENABLED 1
703 : #include "pm_matrixInv@routines.inc.F90"
704 : #undef DISPATCH_ENABLED
705 10 : end procedure
706 : #endif
707 :
708 : #undef CK_ENABLED
709 :
710 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
711 :
712 : #define RK_ENABLED 1
713 :
714 : #if RK5_ENABLED
715 : module procedure getMatInvCLU_IMP_RK5
716 : use pm_kind, only: TKC => RK5
717 : #include "pm_matrixInv@routines.inc.F90"
718 : end procedure
719 : #endif
720 :
721 : #if RK4_ENABLED
722 0 : module procedure getMatInvCLU_IMP_RK4
723 : use pm_kind, only: TKC => RK4
724 : #include "pm_matrixInv@routines.inc.F90"
725 0 : end procedure
726 : #endif
727 :
728 : #if RK3_ENABLED
729 0 : module procedure getMatInvCLU_IMP_RK3
730 : use pm_kind, only: TKC => RK3
731 : #include "pm_matrixInv@routines.inc.F90"
732 0 : end procedure
733 : #endif
734 :
735 : #if RK2_ENABLED
736 0 : module procedure getMatInvCLU_IMP_RK2
737 : use pm_kind, only: TKC => RK2
738 : #define DISPATCH_ENABLED 1
739 : #include "pm_matrixInv@routines.inc.F90"
740 : #undef DISPATCH_ENABLED
741 0 : end procedure
742 : #endif
743 :
744 : #if RK1_ENABLED
745 10 : module procedure getMatInvCLU_IMP_RK1
746 : use pm_kind, only: TKC => RK1
747 : #define DISPATCH_ENABLED 1
748 : #include "pm_matrixInv@routines.inc.F90"
749 : #undef DISPATCH_ENABLED
750 10 : end procedure
751 : #endif
752 :
753 : #undef RK_ENABLED
754 :
755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 :
757 : #undef CLU_ENABLED
758 :
759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
761 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
762 :
763 : #define LUP_ENABLED 1
764 :
765 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
766 :
767 : #define CK_ENABLED 1
768 :
769 : #if CK5_ENABLED
770 : module procedure getMatInvLUP_IMP_CK5
771 : use pm_kind, only: TKC => CK5
772 : #include "pm_matrixInv@routines.inc.F90"
773 : end procedure
774 : #endif
775 :
776 : #if CK4_ENABLED
777 0 : module procedure getMatInvLUP_IMP_CK4
778 : use pm_kind, only: TKC => CK4
779 : #include "pm_matrixInv@routines.inc.F90"
780 0 : end procedure
781 : #endif
782 :
783 : #if CK3_ENABLED
784 0 : module procedure getMatInvLUP_IMP_CK3
785 : use pm_kind, only: TKC => CK3
786 : #include "pm_matrixInv@routines.inc.F90"
787 0 : end procedure
788 : #endif
789 :
790 : #if CK2_ENABLED
791 0 : module procedure getMatInvLUP_IMP_CK2
792 : use pm_kind, only: TKC => CK2
793 : #define DISPATCH_ENABLED 1
794 : #include "pm_matrixInv@routines.inc.F90"
795 : #undef DISPATCH_ENABLED
796 0 : end procedure
797 : #endif
798 :
799 : #if CK1_ENABLED
800 1 : module procedure getMatInvLUP_IMP_CK1
801 : use pm_kind, only: TKC => CK1
802 : #define DISPATCH_ENABLED 1
803 : #include "pm_matrixInv@routines.inc.F90"
804 : #undef DISPATCH_ENABLED
805 1 : end procedure
806 : #endif
807 :
808 : #undef CK_ENABLED
809 :
810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
811 :
812 : #define RK_ENABLED 1
813 :
814 : #if RK5_ENABLED
815 : module procedure getMatInvLUP_IMP_RK5
816 : use pm_kind, only: TKC => RK5
817 : #include "pm_matrixInv@routines.inc.F90"
818 : end procedure
819 : #endif
820 :
821 : #if RK4_ENABLED
822 0 : module procedure getMatInvLUP_IMP_RK4
823 : use pm_kind, only: TKC => RK4
824 : #include "pm_matrixInv@routines.inc.F90"
825 0 : end procedure
826 : #endif
827 :
828 : #if RK3_ENABLED
829 0 : module procedure getMatInvLUP_IMP_RK3
830 : use pm_kind, only: TKC => RK3
831 : #include "pm_matrixInv@routines.inc.F90"
832 0 : end procedure
833 : #endif
834 :
835 : #if RK2_ENABLED
836 0 : module procedure getMatInvLUP_IMP_RK2
837 : use pm_kind, only: TKC => RK2
838 : #define DISPATCH_ENABLED 1
839 : #include "pm_matrixInv@routines.inc.F90"
840 : #undef DISPATCH_ENABLED
841 0 : end procedure
842 : #endif
843 :
844 : #if RK1_ENABLED
845 10 : module procedure getMatInvLUP_IMP_RK1
846 : use pm_kind, only: TKC => RK1
847 : #define DISPATCH_ENABLED 1
848 : #include "pm_matrixInv@routines.inc.F90"
849 : #undef DISPATCH_ENABLED
850 10 : end procedure
851 : #endif
852 :
853 : #undef RK_ENABLED
854 :
855 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
856 :
857 : #undef LUP_ENABLED
858 :
859 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
860 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
861 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
862 :
863 : #define CCU_ENABLED 1
864 :
865 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
866 :
867 : #define CK_ENABLED 1
868 :
869 : #if CK5_ENABLED
870 : module procedure getMatInvCCU_IMP_CK5
871 : use pm_kind, only: TKC => CK5
872 : #include "pm_matrixInv@routines.inc.F90"
873 : end procedure
874 : #endif
875 :
876 : #if CK4_ENABLED
877 0 : module procedure getMatInvCCU_IMP_CK4
878 : use pm_kind, only: TKC => CK4
879 : #include "pm_matrixInv@routines.inc.F90"
880 0 : end procedure
881 : #endif
882 :
883 : #if CK3_ENABLED
884 0 : module procedure getMatInvCCU_IMP_CK3
885 : use pm_kind, only: TKC => CK3
886 : #include "pm_matrixInv@routines.inc.F90"
887 0 : end procedure
888 : #endif
889 :
890 : #if CK2_ENABLED
891 0 : module procedure getMatInvCCU_IMP_CK2
892 : use pm_kind, only: TKC => CK2
893 : #define DISPATCH_ENABLED 1
894 : #include "pm_matrixInv@routines.inc.F90"
895 : #undef DISPATCH_ENABLED
896 0 : end procedure
897 : #endif
898 :
899 : #if CK1_ENABLED
900 1 : module procedure getMatInvCCU_IMP_CK1
901 : use pm_kind, only: TKC => CK1
902 : #define DISPATCH_ENABLED 1
903 : #include "pm_matrixInv@routines.inc.F90"
904 : #undef DISPATCH_ENABLED
905 1 : end procedure
906 : #endif
907 :
908 : #undef CK_ENABLED
909 :
910 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
911 :
912 : #define RK_ENABLED 1
913 :
914 : #if RK5_ENABLED
915 : module procedure getMatInvCCU_IMP_RK5
916 : use pm_kind, only: TKC => RK5
917 : #include "pm_matrixInv@routines.inc.F90"
918 : end procedure
919 : #endif
920 :
921 : #if RK4_ENABLED
922 0 : module procedure getMatInvCCU_IMP_RK4
923 : use pm_kind, only: TKC => RK4
924 : #include "pm_matrixInv@routines.inc.F90"
925 0 : end procedure
926 : #endif
927 :
928 : #if RK3_ENABLED
929 0 : module procedure getMatInvCCU_IMP_RK3
930 : use pm_kind, only: TKC => RK3
931 : #include "pm_matrixInv@routines.inc.F90"
932 0 : end procedure
933 : #endif
934 :
935 : #if RK2_ENABLED
936 0 : module procedure getMatInvCCU_IMP_RK2
937 : use pm_kind, only: TKC => RK2
938 : #define DISPATCH_ENABLED 1
939 : #include "pm_matrixInv@routines.inc.F90"
940 : #undef DISPATCH_ENABLED
941 0 : end procedure
942 : #endif
943 :
944 : #if RK1_ENABLED
945 10 : module procedure getMatInvCCU_IMP_RK1
946 : use pm_kind, only: TKC => RK1
947 : #define DISPATCH_ENABLED 1
948 : #include "pm_matrixInv@routines.inc.F90"
949 : #undef DISPATCH_ENABLED
950 10 : end procedure
951 : #endif
952 :
953 : #undef RK_ENABLED
954 :
955 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
956 :
957 : #undef CCU_ENABLED
958 :
959 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
961 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
962 :
963 : #define CCL_ENABLED 1
964 :
965 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
966 :
967 : #define CK_ENABLED 1
968 :
969 : #if CK5_ENABLED
970 : module procedure getMatInvCCL_IMP_CK5
971 : use pm_kind, only: TKC => CK5
972 : #include "pm_matrixInv@routines.inc.F90"
973 : end procedure
974 : #endif
975 :
976 : #if CK4_ENABLED
977 0 : module procedure getMatInvCCL_IMP_CK4
978 : use pm_kind, only: TKC => CK4
979 : #include "pm_matrixInv@routines.inc.F90"
980 0 : end procedure
981 : #endif
982 :
983 : #if CK3_ENABLED
984 0 : module procedure getMatInvCCL_IMP_CK3
985 : use pm_kind, only: TKC => CK3
986 : #include "pm_matrixInv@routines.inc.F90"
987 0 : end procedure
988 : #endif
989 :
990 : #if CK2_ENABLED
991 0 : module procedure getMatInvCCL_IMP_CK2
992 : use pm_kind, only: TKC => CK2
993 : #define DISPATCH_ENABLED 1
994 : #include "pm_matrixInv@routines.inc.F90"
995 : #undef DISPATCH_ENABLED
996 0 : end procedure
997 : #endif
998 :
999 : #if CK1_ENABLED
1000 1 : module procedure getMatInvCCL_IMP_CK1
1001 : use pm_kind, only: TKC => CK1
1002 : #define DISPATCH_ENABLED 1
1003 : #include "pm_matrixInv@routines.inc.F90"
1004 : #undef DISPATCH_ENABLED
1005 1 : end procedure
1006 : #endif
1007 :
1008 : #undef CK_ENABLED
1009 :
1010 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1011 :
1012 : #define RK_ENABLED 1
1013 :
1014 : #if RK5_ENABLED
1015 : module procedure getMatInvCCL_IMP_RK5
1016 : use pm_kind, only: TKC => RK5
1017 : #include "pm_matrixInv@routines.inc.F90"
1018 : end procedure
1019 : #endif
1020 :
1021 : #if RK4_ENABLED
1022 0 : module procedure getMatInvCCL_IMP_RK4
1023 : use pm_kind, only: TKC => RK4
1024 : #include "pm_matrixInv@routines.inc.F90"
1025 0 : end procedure
1026 : #endif
1027 :
1028 : #if RK3_ENABLED
1029 0 : module procedure getMatInvCCL_IMP_RK3
1030 : use pm_kind, only: TKC => RK3
1031 : #include "pm_matrixInv@routines.inc.F90"
1032 0 : end procedure
1033 : #endif
1034 :
1035 : #if RK2_ENABLED
1036 0 : module procedure getMatInvCCL_IMP_RK2
1037 : use pm_kind, only: TKC => RK2
1038 : #define DISPATCH_ENABLED 1
1039 : #include "pm_matrixInv@routines.inc.F90"
1040 : #undef DISPATCH_ENABLED
1041 0 : end procedure
1042 : #endif
1043 :
1044 : #if RK1_ENABLED
1045 10 : module procedure getMatInvCCL_IMP_RK1
1046 : use pm_kind, only: TKC => RK1
1047 : #define DISPATCH_ENABLED 1
1048 : #include "pm_matrixInv@routines.inc.F90"
1049 : #undef DISPATCH_ENABLED
1050 10 : end procedure
1051 : #endif
1052 :
1053 : #undef RK_ENABLED
1054 :
1055 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1056 :
1057 : #undef CCL_ENABLED
1058 :
1059 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1060 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1062 :
1063 : #undef IMP_ENABLED
1064 :
1065 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1066 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1067 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1068 :
1069 : #undef getMatInv_ENABLED
1070 :
1071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1072 :
1073 : #define setMatInv_ENABLED 1
1074 :
1075 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1076 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1077 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1078 :
1079 : #define IMP_ENABLED 1
1080 :
1081 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1082 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1083 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1084 :
1085 : #define FUL_ENABLED 1
1086 :
1087 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1088 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1089 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1090 :
1091 : #define CUD_ENABLED 1
1092 :
1093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1094 :
1095 : #define CK_ENABLED 1
1096 :
1097 : #if CK5_ENABLED
1098 : module procedure setMatInvCUD_IMP_CK5
1099 : use pm_kind, only: TKC => CK5
1100 : #include "pm_matrixInv@routines.inc.F90"
1101 : end procedure
1102 : #endif
1103 :
1104 : #if CK4_ENABLED
1105 0 : module procedure setMatInvCUD_IMP_CK4
1106 : use pm_kind, only: TKC => CK4
1107 : #include "pm_matrixInv@routines.inc.F90"
1108 0 : end procedure
1109 : #endif
1110 :
1111 : #if CK3_ENABLED
1112 0 : module procedure setMatInvCUD_IMP_CK3
1113 : use pm_kind, only: TKC => CK3
1114 : #include "pm_matrixInv@routines.inc.F90"
1115 0 : end procedure
1116 : #endif
1117 :
1118 : #if CK2_ENABLED
1119 0 : module procedure setMatInvCUD_IMP_CK2
1120 : use pm_kind, only: TKC => CK2
1121 : #define DISPATCH_ENABLED 1
1122 : #include "pm_matrixInv@routines.inc.F90"
1123 : #undef DISPATCH_ENABLED
1124 0 : end procedure
1125 : #endif
1126 :
1127 : #if CK1_ENABLED
1128 20 : module procedure setMatInvCUD_IMP_CK1
1129 : use pm_kind, only: TKC => CK1
1130 : #define DISPATCH_ENABLED 1
1131 : #include "pm_matrixInv@routines.inc.F90"
1132 : #undef DISPATCH_ENABLED
1133 20 : end procedure
1134 : #endif
1135 :
1136 : #undef CK_ENABLED
1137 :
1138 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1139 :
1140 : #define RK_ENABLED 1
1141 :
1142 : #if RK5_ENABLED
1143 : module procedure setMatInvCUD_IMP_RK5
1144 : use pm_kind, only: TKC => RK5
1145 : #include "pm_matrixInv@routines.inc.F90"
1146 : end procedure
1147 : #endif
1148 :
1149 : #if RK4_ENABLED
1150 0 : module procedure setMatInvCUD_IMP_RK4
1151 : use pm_kind, only: TKC => RK4
1152 : #include "pm_matrixInv@routines.inc.F90"
1153 0 : end procedure
1154 : #endif
1155 :
1156 : #if RK3_ENABLED
1157 0 : module procedure setMatInvCUD_IMP_RK3
1158 : use pm_kind, only: TKC => RK3
1159 : #include "pm_matrixInv@routines.inc.F90"
1160 0 : end procedure
1161 : #endif
1162 :
1163 : #if RK2_ENABLED
1164 0 : module procedure setMatInvCUD_IMP_RK2
1165 : use pm_kind, only: TKC => RK2
1166 : #define DISPATCH_ENABLED 1
1167 : #include "pm_matrixInv@routines.inc.F90"
1168 : #undef DISPATCH_ENABLED
1169 0 : end procedure
1170 : #endif
1171 :
1172 : #if RK1_ENABLED
1173 40 : module procedure setMatInvCUD_IMP_RK1
1174 : use pm_kind, only: TKC => RK1
1175 : #define DISPATCH_ENABLED 1
1176 : #include "pm_matrixInv@routines.inc.F90"
1177 : #undef DISPATCH_ENABLED
1178 40 : end procedure
1179 : #endif
1180 :
1181 : #undef RK_ENABLED
1182 :
1183 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1184 :
1185 : #undef CUD_ENABLED
1186 :
1187 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1188 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1190 :
1191 : #define CLD_ENABLED 1
1192 :
1193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1194 :
1195 : #define CK_ENABLED 1
1196 :
1197 : #if CK5_ENABLED
1198 : module procedure setMatInvCLD_IMP_CK5
1199 : use pm_kind, only: TKC => CK5
1200 : #include "pm_matrixInv@routines.inc.F90"
1201 : end procedure
1202 : #endif
1203 :
1204 : #if CK4_ENABLED
1205 0 : module procedure setMatInvCLD_IMP_CK4
1206 : use pm_kind, only: TKC => CK4
1207 : #include "pm_matrixInv@routines.inc.F90"
1208 0 : end procedure
1209 : #endif
1210 :
1211 : #if CK3_ENABLED
1212 0 : module procedure setMatInvCLD_IMP_CK3
1213 : use pm_kind, only: TKC => CK3
1214 : #include "pm_matrixInv@routines.inc.F90"
1215 0 : end procedure
1216 : #endif
1217 :
1218 : #if CK2_ENABLED
1219 0 : module procedure setMatInvCLD_IMP_CK2
1220 : use pm_kind, only: TKC => CK2
1221 : #define DISPATCH_ENABLED 1
1222 : #include "pm_matrixInv@routines.inc.F90"
1223 : #undef DISPATCH_ENABLED
1224 0 : end procedure
1225 : #endif
1226 :
1227 : #if CK1_ENABLED
1228 20 : module procedure setMatInvCLD_IMP_CK1
1229 : use pm_kind, only: TKC => CK1
1230 : #define DISPATCH_ENABLED 1
1231 : #include "pm_matrixInv@routines.inc.F90"
1232 : #undef DISPATCH_ENABLED
1233 20 : end procedure
1234 : #endif
1235 :
1236 : #undef CK_ENABLED
1237 :
1238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239 :
1240 : #define RK_ENABLED 1
1241 :
1242 : #if RK5_ENABLED
1243 : module procedure setMatInvCLD_IMP_RK5
1244 : use pm_kind, only: TKC => RK5
1245 : #include "pm_matrixInv@routines.inc.F90"
1246 : end procedure
1247 : #endif
1248 :
1249 : #if RK4_ENABLED
1250 0 : module procedure setMatInvCLD_IMP_RK4
1251 : use pm_kind, only: TKC => RK4
1252 : #include "pm_matrixInv@routines.inc.F90"
1253 0 : end procedure
1254 : #endif
1255 :
1256 : #if RK3_ENABLED
1257 0 : module procedure setMatInvCLD_IMP_RK3
1258 : use pm_kind, only: TKC => RK3
1259 : #include "pm_matrixInv@routines.inc.F90"
1260 0 : end procedure
1261 : #endif
1262 :
1263 : #if RK2_ENABLED
1264 0 : module procedure setMatInvCLD_IMP_RK2
1265 : use pm_kind, only: TKC => RK2
1266 : #define DISPATCH_ENABLED 1
1267 : #include "pm_matrixInv@routines.inc.F90"
1268 : #undef DISPATCH_ENABLED
1269 0 : end procedure
1270 : #endif
1271 :
1272 : #if RK1_ENABLED
1273 20 : module procedure setMatInvCLD_IMP_RK1
1274 : use pm_kind, only: TKC => RK1
1275 : #define DISPATCH_ENABLED 1
1276 : #include "pm_matrixInv@routines.inc.F90"
1277 : #undef DISPATCH_ENABLED
1278 20 : end procedure
1279 : #endif
1280 :
1281 : #undef RK_ENABLED
1282 :
1283 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1284 :
1285 : #undef CLD_ENABLED
1286 :
1287 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1288 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1289 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1290 :
1291 : #define CUU_ENABLED 1
1292 :
1293 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1294 :
1295 : #define CK_ENABLED 1
1296 :
1297 : #if CK5_ENABLED
1298 : module procedure setMatInvCUU_IMP_CK5
1299 : use pm_kind, only: TKC => CK5
1300 : #include "pm_matrixInv@routines.inc.F90"
1301 : end procedure
1302 : #endif
1303 :
1304 : #if CK4_ENABLED
1305 0 : module procedure setMatInvCUU_IMP_CK4
1306 : use pm_kind, only: TKC => CK4
1307 : #include "pm_matrixInv@routines.inc.F90"
1308 0 : end procedure
1309 : #endif
1310 :
1311 : #if CK3_ENABLED
1312 0 : module procedure setMatInvCUU_IMP_CK3
1313 : use pm_kind, only: TKC => CK3
1314 : #include "pm_matrixInv@routines.inc.F90"
1315 0 : end procedure
1316 : #endif
1317 :
1318 : #if CK2_ENABLED
1319 0 : module procedure setMatInvCUU_IMP_CK2
1320 : use pm_kind, only: TKC => CK2
1321 : #define DISPATCH_ENABLED 1
1322 : #include "pm_matrixInv@routines.inc.F90"
1323 : #undef DISPATCH_ENABLED
1324 0 : end procedure
1325 : #endif
1326 :
1327 : #if CK1_ENABLED
1328 20 : module procedure setMatInvCUU_IMP_CK1
1329 : use pm_kind, only: TKC => CK1
1330 : #define DISPATCH_ENABLED 1
1331 : #include "pm_matrixInv@routines.inc.F90"
1332 : #undef DISPATCH_ENABLED
1333 20 : end procedure
1334 : #endif
1335 :
1336 : #undef CK_ENABLED
1337 :
1338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1339 :
1340 : #define RK_ENABLED 1
1341 :
1342 : #if RK5_ENABLED
1343 : module procedure setMatInvCUU_IMP_RK5
1344 : use pm_kind, only: TKC => RK5
1345 : #include "pm_matrixInv@routines.inc.F90"
1346 : end procedure
1347 : #endif
1348 :
1349 : #if RK4_ENABLED
1350 0 : module procedure setMatInvCUU_IMP_RK4
1351 : use pm_kind, only: TKC => RK4
1352 : #include "pm_matrixInv@routines.inc.F90"
1353 0 : end procedure
1354 : #endif
1355 :
1356 : #if RK3_ENABLED
1357 0 : module procedure setMatInvCUU_IMP_RK3
1358 : use pm_kind, only: TKC => RK3
1359 : #include "pm_matrixInv@routines.inc.F90"
1360 0 : end procedure
1361 : #endif
1362 :
1363 : #if RK2_ENABLED
1364 0 : module procedure setMatInvCUU_IMP_RK2
1365 : use pm_kind, only: TKC => RK2
1366 : #define DISPATCH_ENABLED 1
1367 : #include "pm_matrixInv@routines.inc.F90"
1368 : #undef DISPATCH_ENABLED
1369 0 : end procedure
1370 : #endif
1371 :
1372 : #if RK1_ENABLED
1373 20 : module procedure setMatInvCUU_IMP_RK1
1374 : use pm_kind, only: TKC => RK1
1375 : #define DISPATCH_ENABLED 1
1376 : #include "pm_matrixInv@routines.inc.F90"
1377 : #undef DISPATCH_ENABLED
1378 20 : end procedure
1379 : #endif
1380 :
1381 : #undef RK_ENABLED
1382 :
1383 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1384 :
1385 : #undef CUU_ENABLED
1386 :
1387 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1390 :
1391 : #define CLU_ENABLED 1
1392 :
1393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1394 :
1395 : #define CK_ENABLED 1
1396 :
1397 : #if CK5_ENABLED
1398 : module procedure setMatInvCLU_IMP_CK5
1399 : use pm_kind, only: TKC => CK5
1400 : #include "pm_matrixInv@routines.inc.F90"
1401 : end procedure
1402 : #endif
1403 :
1404 : #if CK4_ENABLED
1405 0 : module procedure setMatInvCLU_IMP_CK4
1406 : use pm_kind, only: TKC => CK4
1407 : #include "pm_matrixInv@routines.inc.F90"
1408 0 : end procedure
1409 : #endif
1410 :
1411 : #if CK3_ENABLED
1412 0 : module procedure setMatInvCLU_IMP_CK3
1413 : use pm_kind, only: TKC => CK3
1414 : #include "pm_matrixInv@routines.inc.F90"
1415 0 : end procedure
1416 : #endif
1417 :
1418 : #if CK2_ENABLED
1419 0 : module procedure setMatInvCLU_IMP_CK2
1420 : use pm_kind, only: TKC => CK2
1421 : #define DISPATCH_ENABLED 1
1422 : #include "pm_matrixInv@routines.inc.F90"
1423 : #undef DISPATCH_ENABLED
1424 0 : end procedure
1425 : #endif
1426 :
1427 : #if CK1_ENABLED
1428 20 : module procedure setMatInvCLU_IMP_CK1
1429 : use pm_kind, only: TKC => CK1
1430 : #define DISPATCH_ENABLED 1
1431 : #include "pm_matrixInv@routines.inc.F90"
1432 : #undef DISPATCH_ENABLED
1433 20 : end procedure
1434 : #endif
1435 :
1436 : #undef CK_ENABLED
1437 :
1438 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1439 :
1440 : #define RK_ENABLED 1
1441 :
1442 : #if RK5_ENABLED
1443 : module procedure setMatInvCLU_IMP_RK5
1444 : use pm_kind, only: TKC => RK5
1445 : #include "pm_matrixInv@routines.inc.F90"
1446 : end procedure
1447 : #endif
1448 :
1449 : #if RK4_ENABLED
1450 0 : module procedure setMatInvCLU_IMP_RK4
1451 : use pm_kind, only: TKC => RK4
1452 : #include "pm_matrixInv@routines.inc.F90"
1453 0 : end procedure
1454 : #endif
1455 :
1456 : #if RK3_ENABLED
1457 0 : module procedure setMatInvCLU_IMP_RK3
1458 : use pm_kind, only: TKC => RK3
1459 : #include "pm_matrixInv@routines.inc.F90"
1460 0 : end procedure
1461 : #endif
1462 :
1463 : #if RK2_ENABLED
1464 0 : module procedure setMatInvCLU_IMP_RK2
1465 : use pm_kind, only: TKC => RK2
1466 : #define DISPATCH_ENABLED 1
1467 : #include "pm_matrixInv@routines.inc.F90"
1468 : #undef DISPATCH_ENABLED
1469 0 : end procedure
1470 : #endif
1471 :
1472 : #if RK1_ENABLED
1473 20 : module procedure setMatInvCLU_IMP_RK1
1474 : use pm_kind, only: TKC => RK1
1475 : #define DISPATCH_ENABLED 1
1476 : #include "pm_matrixInv@routines.inc.F90"
1477 : #undef DISPATCH_ENABLED
1478 20 : end procedure
1479 : #endif
1480 :
1481 : #undef RK_ENABLED
1482 :
1483 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1484 :
1485 : #undef CLU_ENABLED
1486 :
1487 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1488 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1489 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1490 :
1491 : #define LUP_ENABLED 1
1492 :
1493 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1494 :
1495 : #define CK_ENABLED 1
1496 :
1497 : #if CK5_ENABLED
1498 : module procedure setMatInvLUP_IMP_CK5
1499 : use pm_kind, only: TKC => CK5
1500 : #include "pm_matrixInv@routines.inc.F90"
1501 : end procedure
1502 : #endif
1503 :
1504 : #if CK4_ENABLED
1505 20 : module procedure setMatInvLUP_IMP_CK4
1506 : use pm_kind, only: TKC => CK4
1507 : #include "pm_matrixInv@routines.inc.F90"
1508 20 : end procedure
1509 : #endif
1510 :
1511 : #if CK3_ENABLED
1512 0 : module procedure setMatInvLUP_IMP_CK3
1513 : use pm_kind, only: TKC => CK3
1514 : #include "pm_matrixInv@routines.inc.F90"
1515 0 : end procedure
1516 : #endif
1517 :
1518 : #if CK2_ENABLED
1519 0 : module procedure setMatInvLUP_IMP_CK2
1520 : use pm_kind, only: TKC => CK2
1521 : #define DISPATCH_ENABLED 1
1522 : #include "pm_matrixInv@routines.inc.F90"
1523 : #undef DISPATCH_ENABLED
1524 0 : end procedure
1525 : #endif
1526 :
1527 : #if CK1_ENABLED
1528 9 : module procedure setMatInvLUP_IMP_CK1
1529 : use pm_kind, only: TKC => CK1
1530 : #define DISPATCH_ENABLED 1
1531 : #include "pm_matrixInv@routines.inc.F90"
1532 : #undef DISPATCH_ENABLED
1533 9 : end procedure
1534 : #endif
1535 :
1536 : #undef CK_ENABLED
1537 :
1538 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1539 :
1540 : #define RK_ENABLED 1
1541 :
1542 : #if RK5_ENABLED
1543 : module procedure setMatInvLUP_IMP_RK5
1544 : use pm_kind, only: TKC => RK5
1545 : #include "pm_matrixInv@routines.inc.F90"
1546 : end procedure
1547 : #endif
1548 :
1549 : #if RK4_ENABLED
1550 20 : module procedure setMatInvLUP_IMP_RK4
1551 : use pm_kind, only: TKC => RK4
1552 : #include "pm_matrixInv@routines.inc.F90"
1553 20 : end procedure
1554 : #endif
1555 :
1556 : #if RK3_ENABLED
1557 0 : module procedure setMatInvLUP_IMP_RK3
1558 : use pm_kind, only: TKC => RK3
1559 : #include "pm_matrixInv@routines.inc.F90"
1560 0 : end procedure
1561 : #endif
1562 :
1563 : #if RK2_ENABLED
1564 0 : module procedure setMatInvLUP_IMP_RK2
1565 : use pm_kind, only: TKC => RK2
1566 : #define DISPATCH_ENABLED 1
1567 : #include "pm_matrixInv@routines.inc.F90"
1568 : #undef DISPATCH_ENABLED
1569 0 : end procedure
1570 : #endif
1571 :
1572 : #if RK1_ENABLED
1573 131 : module procedure setMatInvLUP_IMP_RK1
1574 : use pm_kind, only: TKC => RK1
1575 : #define DISPATCH_ENABLED 1
1576 : #include "pm_matrixInv@routines.inc.F90"
1577 : #undef DISPATCH_ENABLED
1578 131 : end procedure
1579 : #endif
1580 :
1581 : #undef RK_ENABLED
1582 :
1583 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1584 :
1585 : #undef LUP_ENABLED
1586 :
1587 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1588 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1590 :
1591 : #define CCU_ENABLED 1
1592 :
1593 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1594 :
1595 : #define CK_ENABLED 1
1596 :
1597 : #if CK5_ENABLED
1598 : module procedure setMatInvCCU_FUL_IMP_CK5
1599 : use pm_kind, only: TKC => CK5
1600 : #include "pm_matrixInv@routines.inc.F90"
1601 : end procedure
1602 : #endif
1603 :
1604 : #if CK4_ENABLED
1605 0 : module procedure setMatInvCCU_FUL_IMP_CK4
1606 : use pm_kind, only: TKC => CK4
1607 : #include "pm_matrixInv@routines.inc.F90"
1608 0 : end procedure
1609 : #endif
1610 :
1611 : #if CK3_ENABLED
1612 0 : module procedure setMatInvCCU_FUL_IMP_CK3
1613 : use pm_kind, only: TKC => CK3
1614 : #include "pm_matrixInv@routines.inc.F90"
1615 0 : end procedure
1616 : #endif
1617 :
1618 : #if CK2_ENABLED
1619 0 : module procedure setMatInvCCU_FUL_IMP_CK2
1620 : use pm_kind, only: TKC => CK2
1621 : #define DISPATCH_ENABLED 1
1622 : #include "pm_matrixInv@routines.inc.F90"
1623 : #undef DISPATCH_ENABLED
1624 0 : end procedure
1625 : #endif
1626 :
1627 : #if CK1_ENABLED
1628 2 : module procedure setMatInvCCU_FUL_IMP_CK1
1629 : use pm_kind, only: TKC => CK1
1630 : #define DISPATCH_ENABLED 1
1631 : #include "pm_matrixInv@routines.inc.F90"
1632 : #undef DISPATCH_ENABLED
1633 2 : end procedure
1634 : #endif
1635 :
1636 : #undef CK_ENABLED
1637 :
1638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1639 :
1640 : #define RK_ENABLED 1
1641 :
1642 : #if RK5_ENABLED
1643 : module procedure setMatInvCCU_FUL_IMP_RK5
1644 : use pm_kind, only: TKC => RK5
1645 : #include "pm_matrixInv@routines.inc.F90"
1646 : end procedure
1647 : #endif
1648 :
1649 : #if RK4_ENABLED
1650 0 : module procedure setMatInvCCU_FUL_IMP_RK4
1651 : use pm_kind, only: TKC => RK4
1652 : #include "pm_matrixInv@routines.inc.F90"
1653 0 : end procedure
1654 : #endif
1655 :
1656 : #if RK3_ENABLED
1657 0 : module procedure setMatInvCCU_FUL_IMP_RK3
1658 : use pm_kind, only: TKC => RK3
1659 : #include "pm_matrixInv@routines.inc.F90"
1660 0 : end procedure
1661 : #endif
1662 :
1663 : #if RK2_ENABLED
1664 8 : module procedure setMatInvCCU_FUL_IMP_RK2
1665 : use pm_kind, only: TKC => RK2
1666 : #define DISPATCH_ENABLED 1
1667 : #include "pm_matrixInv@routines.inc.F90"
1668 : #undef DISPATCH_ENABLED
1669 8 : end procedure
1670 : #endif
1671 :
1672 : #if RK1_ENABLED
1673 11 : module procedure setMatInvCCU_FUL_IMP_RK1
1674 : use pm_kind, only: TKC => RK1
1675 : #define DISPATCH_ENABLED 1
1676 : #include "pm_matrixInv@routines.inc.F90"
1677 : #undef DISPATCH_ENABLED
1678 11 : end procedure
1679 : #endif
1680 :
1681 : #undef RK_ENABLED
1682 :
1683 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1684 :
1685 : #undef CCU_ENABLED
1686 :
1687 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1688 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1689 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1690 :
1691 : #define CCL_ENABLED 1
1692 :
1693 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1694 :
1695 : #define CK_ENABLED 1
1696 :
1697 : #if CK5_ENABLED
1698 : module procedure setMatInvCCL_FUL_IMP_CK5
1699 : use pm_kind, only: TKC => CK5
1700 : #include "pm_matrixInv@routines.inc.F90"
1701 : end procedure
1702 : #endif
1703 :
1704 : #if CK4_ENABLED
1705 0 : module procedure setMatInvCCL_FUL_IMP_CK4
1706 : use pm_kind, only: TKC => CK4
1707 : #include "pm_matrixInv@routines.inc.F90"
1708 0 : end procedure
1709 : #endif
1710 :
1711 : #if CK3_ENABLED
1712 0 : module procedure setMatInvCCL_FUL_IMP_CK3
1713 : use pm_kind, only: TKC => CK3
1714 : #include "pm_matrixInv@routines.inc.F90"
1715 0 : end procedure
1716 : #endif
1717 :
1718 : #if CK2_ENABLED
1719 0 : module procedure setMatInvCCL_FUL_IMP_CK2
1720 : use pm_kind, only: TKC => CK2
1721 : #define DISPATCH_ENABLED 1
1722 : #include "pm_matrixInv@routines.inc.F90"
1723 : #undef DISPATCH_ENABLED
1724 0 : end procedure
1725 : #endif
1726 :
1727 : #if CK1_ENABLED
1728 2 : module procedure setMatInvCCL_FUL_IMP_CK1
1729 : use pm_kind, only: TKC => CK1
1730 : #define DISPATCH_ENABLED 1
1731 : #include "pm_matrixInv@routines.inc.F90"
1732 : #undef DISPATCH_ENABLED
1733 2 : end procedure
1734 : #endif
1735 :
1736 : #undef CK_ENABLED
1737 :
1738 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1739 :
1740 : #define RK_ENABLED 1
1741 :
1742 : #if RK5_ENABLED
1743 : module procedure setMatInvCCL_FUL_IMP_RK5
1744 : use pm_kind, only: TKC => RK5
1745 : #include "pm_matrixInv@routines.inc.F90"
1746 : end procedure
1747 : #endif
1748 :
1749 : #if RK4_ENABLED
1750 0 : module procedure setMatInvCCL_FUL_IMP_RK4
1751 : use pm_kind, only: TKC => RK4
1752 : #include "pm_matrixInv@routines.inc.F90"
1753 0 : end procedure
1754 : #endif
1755 :
1756 : #if RK3_ENABLED
1757 0 : module procedure setMatInvCCL_FUL_IMP_RK3
1758 : use pm_kind, only: TKC => RK3
1759 : #include "pm_matrixInv@routines.inc.F90"
1760 0 : end procedure
1761 : #endif
1762 :
1763 : #if RK2_ENABLED
1764 0 : module procedure setMatInvCCL_FUL_IMP_RK2
1765 : use pm_kind, only: TKC => RK2
1766 : #define DISPATCH_ENABLED 1
1767 : #include "pm_matrixInv@routines.inc.F90"
1768 : #undef DISPATCH_ENABLED
1769 0 : end procedure
1770 : #endif
1771 :
1772 : #if RK1_ENABLED
1773 20 : module procedure setMatInvCCL_FUL_IMP_RK1
1774 : use pm_kind, only: TKC => RK1
1775 : #define DISPATCH_ENABLED 1
1776 : #include "pm_matrixInv@routines.inc.F90"
1777 : #undef DISPATCH_ENABLED
1778 20 : end procedure
1779 : #endif
1780 :
1781 : #undef RK_ENABLED
1782 :
1783 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1784 :
1785 : #undef CCL_ENABLED
1786 :
1787 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1789 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1790 :
1791 : #undef FUL_ENABLED
1792 :
1793 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1794 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1795 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1796 :
1797 : #undef IMP_ENABLED
1798 :
1799 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1800 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1801 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1802 :
1803 : #undef setMatInv_ENABLED
1804 :
1805 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1806 :
1807 : #define setMatInv_ENABLED 1
1808 :
1809 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1811 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1812 :
1813 : #define IMP_ENABLED 1
1814 :
1815 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1816 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1817 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1818 :
1819 : #define UXD_ENABLED 1
1820 :
1821 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1822 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1823 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1824 :
1825 : #define CCU_ENABLED 1
1826 :
1827 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1828 :
1829 : #define CK_ENABLED 1
1830 :
1831 : #if CK5_ENABLED
1832 : module procedure setMatInvCCU_UXD_IMP_CK5
1833 : use pm_kind, only: TKC => CK5
1834 : #include "pm_matrixInv@routines.inc.F90"
1835 : end procedure
1836 : #endif
1837 :
1838 : #if CK4_ENABLED
1839 0 : module procedure setMatInvCCU_UXD_IMP_CK4
1840 : use pm_kind, only: TKC => CK4
1841 : #include "pm_matrixInv@routines.inc.F90"
1842 0 : end procedure
1843 : #endif
1844 :
1845 : #if CK3_ENABLED
1846 0 : module procedure setMatInvCCU_UXD_IMP_CK3
1847 : use pm_kind, only: TKC => CK3
1848 : #include "pm_matrixInv@routines.inc.F90"
1849 0 : end procedure
1850 : #endif
1851 :
1852 : #if CK2_ENABLED
1853 0 : module procedure setMatInvCCU_UXD_IMP_CK2
1854 : use pm_kind, only: TKC => CK2
1855 : #define DISPATCH_ENABLED 1
1856 : #include "pm_matrixInv@routines.inc.F90"
1857 : #undef DISPATCH_ENABLED
1858 0 : end procedure
1859 : #endif
1860 :
1861 : #if CK1_ENABLED
1862 11 : module procedure setMatInvCCU_UXD_IMP_CK1
1863 : use pm_kind, only: TKC => CK1
1864 : #define DISPATCH_ENABLED 1
1865 : #include "pm_matrixInv@routines.inc.F90"
1866 : #undef DISPATCH_ENABLED
1867 11 : end procedure
1868 : #endif
1869 :
1870 : #undef CK_ENABLED
1871 :
1872 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1873 :
1874 : #define RK_ENABLED 1
1875 :
1876 : #if RK5_ENABLED
1877 : module procedure setMatInvCCU_UXD_IMP_RK5
1878 : use pm_kind, only: TKC => RK5
1879 : #include "pm_matrixInv@routines.inc.F90"
1880 : end procedure
1881 : #endif
1882 :
1883 : #if RK4_ENABLED
1884 0 : module procedure setMatInvCCU_UXD_IMP_RK4
1885 : use pm_kind, only: TKC => RK4
1886 : #include "pm_matrixInv@routines.inc.F90"
1887 0 : end procedure
1888 : #endif
1889 :
1890 : #if RK3_ENABLED
1891 0 : module procedure setMatInvCCU_UXD_IMP_RK3
1892 : use pm_kind, only: TKC => RK3
1893 : #include "pm_matrixInv@routines.inc.F90"
1894 0 : end procedure
1895 : #endif
1896 :
1897 : #if RK2_ENABLED
1898 0 : module procedure setMatInvCCU_UXD_IMP_RK2
1899 : use pm_kind, only: TKC => RK2
1900 : #define DISPATCH_ENABLED 1
1901 : #include "pm_matrixInv@routines.inc.F90"
1902 : #undef DISPATCH_ENABLED
1903 0 : end procedure
1904 : #endif
1905 :
1906 : #if RK1_ENABLED
1907 10 : module procedure setMatInvCCU_UXD_IMP_RK1
1908 : use pm_kind, only: TKC => RK1
1909 : #define DISPATCH_ENABLED 1
1910 : #include "pm_matrixInv@routines.inc.F90"
1911 : #undef DISPATCH_ENABLED
1912 10 : end procedure
1913 : #endif
1914 :
1915 : #undef RK_ENABLED
1916 :
1917 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1918 :
1919 : #undef CCU_ENABLED
1920 :
1921 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1922 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1923 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1924 :
1925 : #define CCL_ENABLED 1
1926 :
1927 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1928 :
1929 : #define CK_ENABLED 1
1930 :
1931 : #if CK5_ENABLED
1932 : module procedure setMatInvCCL_UXD_IMP_CK5
1933 : use pm_kind, only: TKC => CK5
1934 : #include "pm_matrixInv@routines.inc.F90"
1935 : end procedure
1936 : #endif
1937 :
1938 : #if CK4_ENABLED
1939 0 : module procedure setMatInvCCL_UXD_IMP_CK4
1940 : use pm_kind, only: TKC => CK4
1941 : #include "pm_matrixInv@routines.inc.F90"
1942 0 : end procedure
1943 : #endif
1944 :
1945 : #if CK3_ENABLED
1946 0 : module procedure setMatInvCCL_UXD_IMP_CK3
1947 : use pm_kind, only: TKC => CK3
1948 : #include "pm_matrixInv@routines.inc.F90"
1949 0 : end procedure
1950 : #endif
1951 :
1952 : #if CK2_ENABLED
1953 0 : module procedure setMatInvCCL_UXD_IMP_CK2
1954 : use pm_kind, only: TKC => CK2
1955 : #define DISPATCH_ENABLED 1
1956 : #include "pm_matrixInv@routines.inc.F90"
1957 : #undef DISPATCH_ENABLED
1958 0 : end procedure
1959 : #endif
1960 :
1961 : #if CK1_ENABLED
1962 1 : module procedure setMatInvCCL_UXD_IMP_CK1
1963 : use pm_kind, only: TKC => CK1
1964 : #define DISPATCH_ENABLED 1
1965 : #include "pm_matrixInv@routines.inc.F90"
1966 : #undef DISPATCH_ENABLED
1967 1 : end procedure
1968 : #endif
1969 :
1970 : #undef CK_ENABLED
1971 :
1972 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1973 :
1974 : #define RK_ENABLED 1
1975 :
1976 : #if RK5_ENABLED
1977 : module procedure setMatInvCCL_UXD_IMP_RK5
1978 : use pm_kind, only: TKC => RK5
1979 : #include "pm_matrixInv@routines.inc.F90"
1980 : end procedure
1981 : #endif
1982 :
1983 : #if RK4_ENABLED
1984 0 : module procedure setMatInvCCL_UXD_IMP_RK4
1985 : use pm_kind, only: TKC => RK4
1986 : #include "pm_matrixInv@routines.inc.F90"
1987 0 : end procedure
1988 : #endif
1989 :
1990 : #if RK3_ENABLED
1991 0 : module procedure setMatInvCCL_UXD_IMP_RK3
1992 : use pm_kind, only: TKC => RK3
1993 : #include "pm_matrixInv@routines.inc.F90"
1994 0 : end procedure
1995 : #endif
1996 :
1997 : #if RK2_ENABLED
1998 0 : module procedure setMatInvCCL_UXD_IMP_RK2
1999 : use pm_kind, only: TKC => RK2
2000 : #define DISPATCH_ENABLED 1
2001 : #include "pm_matrixInv@routines.inc.F90"
2002 : #undef DISPATCH_ENABLED
2003 0 : end procedure
2004 : #endif
2005 :
2006 : #if RK1_ENABLED
2007 10 : module procedure setMatInvCCL_UXD_IMP_RK1
2008 : use pm_kind, only: TKC => RK1
2009 : #define DISPATCH_ENABLED 1
2010 : #include "pm_matrixInv@routines.inc.F90"
2011 : #undef DISPATCH_ENABLED
2012 10 : end procedure
2013 : #endif
2014 :
2015 : #undef RK_ENABLED
2016 :
2017 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2018 :
2019 : #undef CCL_ENABLED
2020 :
2021 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2022 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2023 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2024 :
2025 : #undef UXD_ENABLED
2026 :
2027 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2028 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2029 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2030 :
2031 : #undef IMP_ENABLED
2032 :
2033 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2034 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2035 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2036 :
2037 : #undef setMatInv_ENABLED
2038 :
2039 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2040 :
2041 : #define setMatInv_ENABLED 1
2042 :
2043 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2044 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2045 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2046 :
2047 : #define IMP_ENABLED 1
2048 :
2049 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2050 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2051 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2052 :
2053 : #define XLD_ENABLED 1
2054 :
2055 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2058 :
2059 : #define CCU_ENABLED 1
2060 :
2061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2062 :
2063 : #define CK_ENABLED 1
2064 :
2065 : #if CK5_ENABLED
2066 : module procedure setMatInvCCU_XLD_IMP_CK5
2067 : use pm_kind, only: TKC => CK5
2068 : #include "pm_matrixInv@routines.inc.F90"
2069 : end procedure
2070 : #endif
2071 :
2072 : #if CK4_ENABLED
2073 0 : module procedure setMatInvCCU_XLD_IMP_CK4
2074 : use pm_kind, only: TKC => CK4
2075 : #include "pm_matrixInv@routines.inc.F90"
2076 0 : end procedure
2077 : #endif
2078 :
2079 : #if CK3_ENABLED
2080 0 : module procedure setMatInvCCU_XLD_IMP_CK3
2081 : use pm_kind, only: TKC => CK3
2082 : #include "pm_matrixInv@routines.inc.F90"
2083 0 : end procedure
2084 : #endif
2085 :
2086 : #if CK2_ENABLED
2087 0 : module procedure setMatInvCCU_XLD_IMP_CK2
2088 : use pm_kind, only: TKC => CK2
2089 : #define DISPATCH_ENABLED 1
2090 : #include "pm_matrixInv@routines.inc.F90"
2091 : #undef DISPATCH_ENABLED
2092 0 : end procedure
2093 : #endif
2094 :
2095 : #if CK1_ENABLED
2096 11 : module procedure setMatInvCCU_XLD_IMP_CK1
2097 : use pm_kind, only: TKC => CK1
2098 : #define DISPATCH_ENABLED 1
2099 : #include "pm_matrixInv@routines.inc.F90"
2100 : #undef DISPATCH_ENABLED
2101 11 : end procedure
2102 : #endif
2103 :
2104 : #undef CK_ENABLED
2105 :
2106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2107 :
2108 : #define RK_ENABLED 1
2109 :
2110 : #if RK5_ENABLED
2111 : module procedure setMatInvCCU_XLD_IMP_RK5
2112 : use pm_kind, only: TKC => RK5
2113 : #include "pm_matrixInv@routines.inc.F90"
2114 : end procedure
2115 : #endif
2116 :
2117 : #if RK4_ENABLED
2118 0 : module procedure setMatInvCCU_XLD_IMP_RK4
2119 : use pm_kind, only: TKC => RK4
2120 : #include "pm_matrixInv@routines.inc.F90"
2121 0 : end procedure
2122 : #endif
2123 :
2124 : #if RK3_ENABLED
2125 0 : module procedure setMatInvCCU_XLD_IMP_RK3
2126 : use pm_kind, only: TKC => RK3
2127 : #include "pm_matrixInv@routines.inc.F90"
2128 0 : end procedure
2129 : #endif
2130 :
2131 : #if RK2_ENABLED
2132 0 : module procedure setMatInvCCU_XLD_IMP_RK2
2133 : use pm_kind, only: TKC => RK2
2134 : #define DISPATCH_ENABLED 1
2135 : #include "pm_matrixInv@routines.inc.F90"
2136 : #undef DISPATCH_ENABLED
2137 0 : end procedure
2138 : #endif
2139 :
2140 : #if RK1_ENABLED
2141 10 : module procedure setMatInvCCU_XLD_IMP_RK1
2142 : use pm_kind, only: TKC => RK1
2143 : #define DISPATCH_ENABLED 1
2144 : #include "pm_matrixInv@routines.inc.F90"
2145 : #undef DISPATCH_ENABLED
2146 10 : end procedure
2147 : #endif
2148 :
2149 : #undef RK_ENABLED
2150 :
2151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2152 :
2153 : #undef CCU_ENABLED
2154 :
2155 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2156 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2158 :
2159 : #define CCL_ENABLED 1
2160 :
2161 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2162 :
2163 : #define CK_ENABLED 1
2164 :
2165 : #if CK5_ENABLED
2166 : module procedure setMatInvCCL_XLD_IMP_CK5
2167 : use pm_kind, only: TKC => CK5
2168 : #include "pm_matrixInv@routines.inc.F90"
2169 : end procedure
2170 : #endif
2171 :
2172 : #if CK4_ENABLED
2173 0 : module procedure setMatInvCCL_XLD_IMP_CK4
2174 : use pm_kind, only: TKC => CK4
2175 : #include "pm_matrixInv@routines.inc.F90"
2176 0 : end procedure
2177 : #endif
2178 :
2179 : #if CK3_ENABLED
2180 0 : module procedure setMatInvCCL_XLD_IMP_CK3
2181 : use pm_kind, only: TKC => CK3
2182 : #include "pm_matrixInv@routines.inc.F90"
2183 0 : end procedure
2184 : #endif
2185 :
2186 : #if CK2_ENABLED
2187 0 : module procedure setMatInvCCL_XLD_IMP_CK2
2188 : use pm_kind, only: TKC => CK2
2189 : #define DISPATCH_ENABLED 1
2190 : #include "pm_matrixInv@routines.inc.F90"
2191 : #undef DISPATCH_ENABLED
2192 0 : end procedure
2193 : #endif
2194 :
2195 : #if CK1_ENABLED
2196 1 : module procedure setMatInvCCL_XLD_IMP_CK1
2197 : use pm_kind, only: TKC => CK1
2198 : #define DISPATCH_ENABLED 1
2199 : #include "pm_matrixInv@routines.inc.F90"
2200 : #undef DISPATCH_ENABLED
2201 1 : end procedure
2202 : #endif
2203 :
2204 : #undef CK_ENABLED
2205 :
2206 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2207 :
2208 : #define RK_ENABLED 1
2209 :
2210 : #if RK5_ENABLED
2211 : module procedure setMatInvCCL_XLD_IMP_RK5
2212 : use pm_kind, only: TKC => RK5
2213 : #include "pm_matrixInv@routines.inc.F90"
2214 : end procedure
2215 : #endif
2216 :
2217 : #if RK4_ENABLED
2218 0 : module procedure setMatInvCCL_XLD_IMP_RK4
2219 : use pm_kind, only: TKC => RK4
2220 : #include "pm_matrixInv@routines.inc.F90"
2221 0 : end procedure
2222 : #endif
2223 :
2224 : #if RK3_ENABLED
2225 0 : module procedure setMatInvCCL_XLD_IMP_RK3
2226 : use pm_kind, only: TKC => RK3
2227 : #include "pm_matrixInv@routines.inc.F90"
2228 0 : end procedure
2229 : #endif
2230 :
2231 : #if RK2_ENABLED
2232 0 : module procedure setMatInvCCL_XLD_IMP_RK2
2233 : use pm_kind, only: TKC => RK2
2234 : #define DISPATCH_ENABLED 1
2235 : #include "pm_matrixInv@routines.inc.F90"
2236 : #undef DISPATCH_ENABLED
2237 0 : end procedure
2238 : #endif
2239 :
2240 : #if RK1_ENABLED
2241 10 : module procedure setMatInvCCL_XLD_IMP_RK1
2242 : use pm_kind, only: TKC => RK1
2243 : #define DISPATCH_ENABLED 1
2244 : #include "pm_matrixInv@routines.inc.F90"
2245 : #undef DISPATCH_ENABLED
2246 10 : end procedure
2247 : #endif
2248 :
2249 : #undef RK_ENABLED
2250 :
2251 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2252 :
2253 : #undef CCL_ENABLED
2254 :
2255 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2258 :
2259 : #undef XLD_ENABLED
2260 :
2261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2263 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2264 :
2265 : #undef IMP_ENABLED
2266 :
2267 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2268 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2269 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2270 :
2271 : #undef setMatInv_ENABLED
2272 :
2273 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2274 :
2275 : #undef CHECK_ASSERTION
2276 :
2277 : end submodule routines
|