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_matrixTrace](@ref pm_matrixTrace).
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_matrixTrace) 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_kind, only: RKD
40 : use pm_mathSqrt, only: getSqrt
41 : implicit none
42 :
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : contains
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : #define getMatTrace_ENABLED 1
50 :
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 :
55 : #define DEF_ENABLED 1
56 :
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 :
61 : #define XXX_ENABLED 1
62 :
63 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 :
67 : #define IK_ENABLED 1
68 :
69 : #if IK5_ENABLED
70 0 : module procedure getMatTrace_DEF_XXX_IK5
71 : use pm_kind, only: IKC => IK5
72 : #include "pm_matrixTrace@routines.inc.F90"
73 0 : end procedure
74 : #endif
75 :
76 : #if IK4_ENABLED
77 0 : module procedure getMatTrace_DEF_XXX_IK4
78 : use pm_kind, only: IKC => IK4
79 : #include "pm_matrixTrace@routines.inc.F90"
80 0 : end procedure
81 : #endif
82 :
83 : #if IK3_ENABLED
84 15 : module procedure getMatTrace_DEF_XXX_IK3
85 : use pm_kind, only: IKC => IK3
86 : #include "pm_matrixTrace@routines.inc.F90"
87 15 : end procedure
88 : #endif
89 :
90 : #if IK2_ENABLED
91 0 : module procedure getMatTrace_DEF_XXX_IK2
92 : use pm_kind, only: IKC => IK2
93 : #include "pm_matrixTrace@routines.inc.F90"
94 0 : end procedure
95 : #endif
96 :
97 : #if IK1_ENABLED
98 0 : module procedure getMatTrace_DEF_XXX_IK1
99 : use pm_kind, only: IKC => IK1
100 : #include "pm_matrixTrace@routines.inc.F90"
101 0 : end procedure
102 : #endif
103 :
104 : #undef IK_ENABLED
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 :
108 : #define CK_ENABLED 1
109 :
110 : #if CK5_ENABLED
111 : module procedure getMatTrace_DEF_XXX_CK5
112 : use pm_kind, only: CKC => CK5
113 : #include "pm_matrixTrace@routines.inc.F90"
114 : end procedure
115 : #endif
116 :
117 : #if CK4_ENABLED
118 0 : module procedure getMatTrace_DEF_XXX_CK4
119 : use pm_kind, only: CKC => CK4
120 : #include "pm_matrixTrace@routines.inc.F90"
121 0 : end procedure
122 : #endif
123 :
124 : #if CK3_ENABLED
125 0 : module procedure getMatTrace_DEF_XXX_CK3
126 : use pm_kind, only: CKC => CK3
127 : #include "pm_matrixTrace@routines.inc.F90"
128 0 : end procedure
129 : #endif
130 :
131 : #if CK2_ENABLED
132 0 : module procedure getMatTrace_DEF_XXX_CK2
133 : use pm_kind, only: CKC => CK2
134 : #include "pm_matrixTrace@routines.inc.F90"
135 0 : end procedure
136 : #endif
137 :
138 : #if CK1_ENABLED
139 0 : module procedure getMatTrace_DEF_XXX_CK1
140 : use pm_kind, only: CKC => CK1
141 : #include "pm_matrixTrace@routines.inc.F90"
142 0 : end procedure
143 : #endif
144 :
145 : #undef CK_ENABLED
146 :
147 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 :
149 : #define RK_ENABLED 1
150 :
151 : #if RK5_ENABLED
152 : module procedure getMatTrace_DEF_XXX_RK5
153 : use pm_kind, only: RKC => RK5
154 : #include "pm_matrixTrace@routines.inc.F90"
155 : end procedure
156 : #endif
157 :
158 : #if RK4_ENABLED
159 0 : module procedure getMatTrace_DEF_XXX_RK4
160 : use pm_kind, only: RKC => RK4
161 : #include "pm_matrixTrace@routines.inc.F90"
162 0 : end procedure
163 : #endif
164 :
165 : #if RK3_ENABLED
166 0 : module procedure getMatTrace_DEF_XXX_RK3
167 : use pm_kind, only: RKC => RK3
168 : #include "pm_matrixTrace@routines.inc.F90"
169 0 : end procedure
170 : #endif
171 :
172 : #if RK2_ENABLED
173 0 : module procedure getMatTrace_DEF_XXX_RK2
174 : use pm_kind, only: RKC => RK2
175 : #include "pm_matrixTrace@routines.inc.F90"
176 0 : end procedure
177 : #endif
178 :
179 : #if RK1_ENABLED
180 0 : module procedure getMatTrace_DEF_XXX_RK1
181 : use pm_kind, only: RKC => RK1
182 : #include "pm_matrixTrace@routines.inc.F90"
183 0 : end procedure
184 : #endif
185 :
186 : #undef RK_ENABLED
187 :
188 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
189 :
190 : #undef XXX_ENABLED
191 :
192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
194 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195 :
196 : #undef DEF_ENABLED
197 :
198 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
199 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
200 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201 :
202 : #define RDP_ENABLED 1
203 :
204 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
205 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207 :
208 : #define XXX_ENABLED 1
209 :
210 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213 :
214 : #define IK_ENABLED 1
215 :
216 : #if IK5_ENABLED
217 0 : module procedure getMatTrace_RDP_XXX_IK5
218 : use pm_kind, only: IKC => IK5
219 : #include "pm_matrixTrace@routines.inc.F90"
220 0 : end procedure
221 : #endif
222 :
223 : #if IK4_ENABLED
224 0 : module procedure getMatTrace_RDP_XXX_IK4
225 : use pm_kind, only: IKC => IK4
226 : #include "pm_matrixTrace@routines.inc.F90"
227 0 : end procedure
228 : #endif
229 :
230 : #if IK3_ENABLED
231 0 : module procedure getMatTrace_RDP_XXX_IK3
232 : use pm_kind, only: IKC => IK3
233 : #include "pm_matrixTrace@routines.inc.F90"
234 0 : end procedure
235 : #endif
236 :
237 : #if IK2_ENABLED
238 0 : module procedure getMatTrace_RDP_XXX_IK2
239 : use pm_kind, only: IKC => IK2
240 : #include "pm_matrixTrace@routines.inc.F90"
241 0 : end procedure
242 : #endif
243 :
244 : #if IK1_ENABLED
245 0 : module procedure getMatTrace_RDP_XXX_IK1
246 : use pm_kind, only: IKC => IK1
247 : #include "pm_matrixTrace@routines.inc.F90"
248 0 : end procedure
249 : #endif
250 :
251 : #undef IK_ENABLED
252 :
253 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
254 :
255 : #define CK_ENABLED 1
256 :
257 : #if CK5_ENABLED
258 : module procedure getMatTrace_RDP_XXX_CK5
259 : use pm_kind, only: CKC => CK5
260 : #include "pm_matrixTrace@routines.inc.F90"
261 : end procedure
262 : #endif
263 :
264 : #if CK4_ENABLED
265 0 : module procedure getMatTrace_RDP_XXX_CK4
266 : use pm_kind, only: CKC => CK4
267 : #include "pm_matrixTrace@routines.inc.F90"
268 0 : end procedure
269 : #endif
270 :
271 : #if CK3_ENABLED
272 0 : module procedure getMatTrace_RDP_XXX_CK3
273 : use pm_kind, only: CKC => CK3
274 : #include "pm_matrixTrace@routines.inc.F90"
275 0 : end procedure
276 : #endif
277 :
278 : #if CK2_ENABLED
279 0 : module procedure getMatTrace_RDP_XXX_CK2
280 : use pm_kind, only: CKC => CK2
281 : #include "pm_matrixTrace@routines.inc.F90"
282 0 : end procedure
283 : #endif
284 :
285 : #if CK1_ENABLED
286 0 : module procedure getMatTrace_RDP_XXX_CK1
287 : use pm_kind, only: CKC => CK1
288 : #include "pm_matrixTrace@routines.inc.F90"
289 0 : end procedure
290 : #endif
291 :
292 : #undef CK_ENABLED
293 :
294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295 :
296 : #define RK_ENABLED 1
297 :
298 : #if RK5_ENABLED
299 : module procedure getMatTrace_RDP_XXX_RK5
300 : use pm_kind, only: RKC => RK5
301 : #include "pm_matrixTrace@routines.inc.F90"
302 : end procedure
303 : #endif
304 :
305 : #if RK4_ENABLED
306 0 : module procedure getMatTrace_RDP_XXX_RK4
307 : use pm_kind, only: RKC => RK4
308 : #include "pm_matrixTrace@routines.inc.F90"
309 0 : end procedure
310 : #endif
311 :
312 : #if RK3_ENABLED
313 0 : module procedure getMatTrace_RDP_XXX_RK3
314 : use pm_kind, only: RKC => RK3
315 : #include "pm_matrixTrace@routines.inc.F90"
316 0 : end procedure
317 : #endif
318 :
319 : #if RK2_ENABLED
320 0 : module procedure getMatTrace_RDP_XXX_RK2
321 : use pm_kind, only: RKC => RK2
322 : #include "pm_matrixTrace@routines.inc.F90"
323 0 : end procedure
324 : #endif
325 :
326 : #if RK1_ENABLED
327 0 : module procedure getMatTrace_RDP_XXX_RK1
328 : use pm_kind, only: RKC => RK1
329 : #include "pm_matrixTrace@routines.inc.F90"
330 0 : end procedure
331 : #endif
332 :
333 : #undef RK_ENABLED
334 :
335 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
336 :
337 : #undef XXX_ENABLED
338 :
339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342 :
343 : #undef RDP_ENABLED
344 :
345 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
346 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
348 :
349 : #define RFP_ENABLED 1
350 :
351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
354 :
355 : #define UXD_ENABLED 1
356 :
357 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
358 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
360 :
361 : #define IK_ENABLED 1
362 :
363 : #if IK5_ENABLED
364 0 : module procedure getMatTrace_RFP_UXD_IK5
365 : use pm_kind, only: IKC => IK5
366 : #include "pm_matrixTrace@routines.inc.F90"
367 0 : end procedure
368 : #endif
369 :
370 : #if IK4_ENABLED
371 0 : module procedure getMatTrace_RFP_UXD_IK4
372 : use pm_kind, only: IKC => IK4
373 : #include "pm_matrixTrace@routines.inc.F90"
374 0 : end procedure
375 : #endif
376 :
377 : #if IK3_ENABLED
378 0 : module procedure getMatTrace_RFP_UXD_IK3
379 : use pm_kind, only: IKC => IK3
380 : #include "pm_matrixTrace@routines.inc.F90"
381 0 : end procedure
382 : #endif
383 :
384 : #if IK2_ENABLED
385 0 : module procedure getMatTrace_RFP_UXD_IK2
386 : use pm_kind, only: IKC => IK2
387 : #include "pm_matrixTrace@routines.inc.F90"
388 0 : end procedure
389 : #endif
390 :
391 : #if IK1_ENABLED
392 0 : module procedure getMatTrace_RFP_UXD_IK1
393 : use pm_kind, only: IKC => IK1
394 : #include "pm_matrixTrace@routines.inc.F90"
395 0 : end procedure
396 : #endif
397 :
398 : #undef IK_ENABLED
399 :
400 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 :
402 : #define CK_ENABLED 1
403 :
404 : #if CK5_ENABLED
405 : module procedure getMatTrace_RFP_UXD_CK5
406 : use pm_kind, only: CKC => CK5
407 : #include "pm_matrixTrace@routines.inc.F90"
408 : end procedure
409 : #endif
410 :
411 : #if CK4_ENABLED
412 0 : module procedure getMatTrace_RFP_UXD_CK4
413 : use pm_kind, only: CKC => CK4
414 : #include "pm_matrixTrace@routines.inc.F90"
415 0 : end procedure
416 : #endif
417 :
418 : #if CK3_ENABLED
419 0 : module procedure getMatTrace_RFP_UXD_CK3
420 : use pm_kind, only: CKC => CK3
421 : #include "pm_matrixTrace@routines.inc.F90"
422 0 : end procedure
423 : #endif
424 :
425 : #if CK2_ENABLED
426 0 : module procedure getMatTrace_RFP_UXD_CK2
427 : use pm_kind, only: CKC => CK2
428 : #include "pm_matrixTrace@routines.inc.F90"
429 0 : end procedure
430 : #endif
431 :
432 : #if CK1_ENABLED
433 0 : module procedure getMatTrace_RFP_UXD_CK1
434 : use pm_kind, only: CKC => CK1
435 : #include "pm_matrixTrace@routines.inc.F90"
436 0 : end procedure
437 : #endif
438 :
439 : #undef CK_ENABLED
440 :
441 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
442 :
443 : #define RK_ENABLED 1
444 :
445 : #if RK5_ENABLED
446 : module procedure getMatTrace_RFP_UXD_RK5
447 : use pm_kind, only: RKC => RK5
448 : #include "pm_matrixTrace@routines.inc.F90"
449 : end procedure
450 : #endif
451 :
452 : #if RK4_ENABLED
453 0 : module procedure getMatTrace_RFP_UXD_RK4
454 : use pm_kind, only: RKC => RK4
455 : #include "pm_matrixTrace@routines.inc.F90"
456 0 : end procedure
457 : #endif
458 :
459 : #if RK3_ENABLED
460 0 : module procedure getMatTrace_RFP_UXD_RK3
461 : use pm_kind, only: RKC => RK3
462 : #include "pm_matrixTrace@routines.inc.F90"
463 0 : end procedure
464 : #endif
465 :
466 : #if RK2_ENABLED
467 0 : module procedure getMatTrace_RFP_UXD_RK2
468 : use pm_kind, only: RKC => RK2
469 : #include "pm_matrixTrace@routines.inc.F90"
470 0 : end procedure
471 : #endif
472 :
473 : #if RK1_ENABLED
474 0 : module procedure getMatTrace_RFP_UXD_RK1
475 : use pm_kind, only: RKC => RK1
476 : #include "pm_matrixTrace@routines.inc.F90"
477 0 : end procedure
478 : #endif
479 :
480 : #undef RK_ENABLED
481 :
482 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483 :
484 : #undef UXD_ENABLED
485 :
486 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
487 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
488 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
489 :
490 : #define XLD_ENABLED 1
491 :
492 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
493 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
494 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
495 :
496 : #define IK_ENABLED 1
497 :
498 : #if IK5_ENABLED
499 0 : module procedure getMatTrace_RFP_XLD_IK5
500 : use pm_kind, only: IKC => IK5
501 : #include "pm_matrixTrace@routines.inc.F90"
502 0 : end procedure
503 : #endif
504 :
505 : #if IK4_ENABLED
506 0 : module procedure getMatTrace_RFP_XLD_IK4
507 : use pm_kind, only: IKC => IK4
508 : #include "pm_matrixTrace@routines.inc.F90"
509 0 : end procedure
510 : #endif
511 :
512 : #if IK3_ENABLED
513 0 : module procedure getMatTrace_RFP_XLD_IK3
514 : use pm_kind, only: IKC => IK3
515 : #include "pm_matrixTrace@routines.inc.F90"
516 0 : end procedure
517 : #endif
518 :
519 : #if IK2_ENABLED
520 0 : module procedure getMatTrace_RFP_XLD_IK2
521 : use pm_kind, only: IKC => IK2
522 : #include "pm_matrixTrace@routines.inc.F90"
523 0 : end procedure
524 : #endif
525 :
526 : #if IK1_ENABLED
527 0 : module procedure getMatTrace_RFP_XLD_IK1
528 : use pm_kind, only: IKC => IK1
529 : #include "pm_matrixTrace@routines.inc.F90"
530 0 : end procedure
531 : #endif
532 :
533 : #undef IK_ENABLED
534 :
535 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
536 :
537 : #define CK_ENABLED 1
538 :
539 : #if CK5_ENABLED
540 : module procedure getMatTrace_RFP_XLD_CK5
541 : use pm_kind, only: CKC => CK5
542 : #include "pm_matrixTrace@routines.inc.F90"
543 : end procedure
544 : #endif
545 :
546 : #if CK4_ENABLED
547 0 : module procedure getMatTrace_RFP_XLD_CK4
548 : use pm_kind, only: CKC => CK4
549 : #include "pm_matrixTrace@routines.inc.F90"
550 0 : end procedure
551 : #endif
552 :
553 : #if CK3_ENABLED
554 0 : module procedure getMatTrace_RFP_XLD_CK3
555 : use pm_kind, only: CKC => CK3
556 : #include "pm_matrixTrace@routines.inc.F90"
557 0 : end procedure
558 : #endif
559 :
560 : #if CK2_ENABLED
561 0 : module procedure getMatTrace_RFP_XLD_CK2
562 : use pm_kind, only: CKC => CK2
563 : #include "pm_matrixTrace@routines.inc.F90"
564 0 : end procedure
565 : #endif
566 :
567 : #if CK1_ENABLED
568 0 : module procedure getMatTrace_RFP_XLD_CK1
569 : use pm_kind, only: CKC => CK1
570 : #include "pm_matrixTrace@routines.inc.F90"
571 0 : end procedure
572 : #endif
573 :
574 : #undef CK_ENABLED
575 :
576 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
577 :
578 : #define RK_ENABLED 1
579 :
580 : #if RK5_ENABLED
581 : module procedure getMatTrace_RFP_XLD_RK5
582 : use pm_kind, only: RKC => RK5
583 : #include "pm_matrixTrace@routines.inc.F90"
584 : end procedure
585 : #endif
586 :
587 : #if RK4_ENABLED
588 0 : module procedure getMatTrace_RFP_XLD_RK4
589 : use pm_kind, only: RKC => RK4
590 : #include "pm_matrixTrace@routines.inc.F90"
591 0 : end procedure
592 : #endif
593 :
594 : #if RK3_ENABLED
595 0 : module procedure getMatTrace_RFP_XLD_RK3
596 : use pm_kind, only: RKC => RK3
597 : #include "pm_matrixTrace@routines.inc.F90"
598 0 : end procedure
599 : #endif
600 :
601 : #if RK2_ENABLED
602 0 : module procedure getMatTrace_RFP_XLD_RK2
603 : use pm_kind, only: RKC => RK2
604 : #include "pm_matrixTrace@routines.inc.F90"
605 0 : end procedure
606 : #endif
607 :
608 : #if RK1_ENABLED
609 0 : module procedure getMatTrace_RFP_XLD_RK1
610 : use pm_kind, only: RKC => RK1
611 : #include "pm_matrixTrace@routines.inc.F90"
612 0 : end procedure
613 : #endif
614 :
615 : #undef RK_ENABLED
616 :
617 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
618 :
619 : #undef XLD_ENABLED
620 :
621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
622 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
624 :
625 : #undef RFP_ENABLED
626 :
627 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
628 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
629 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630 :
631 : #define LFP_ENABLED 1
632 :
633 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
635 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
636 :
637 : #define UXD_ENABLED 1
638 :
639 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
640 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
641 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
642 :
643 : #define IK_ENABLED 1
644 :
645 : #if IK5_ENABLED
646 0 : module procedure getMatTrace_LFP_UXD_IK5
647 : use pm_kind, only: IKC => IK5
648 : #include "pm_matrixTrace@routines.inc.F90"
649 0 : end procedure
650 : #endif
651 :
652 : #if IK4_ENABLED
653 0 : module procedure getMatTrace_LFP_UXD_IK4
654 : use pm_kind, only: IKC => IK4
655 : #include "pm_matrixTrace@routines.inc.F90"
656 0 : end procedure
657 : #endif
658 :
659 : #if IK3_ENABLED
660 0 : module procedure getMatTrace_LFP_UXD_IK3
661 : use pm_kind, only: IKC => IK3
662 : #include "pm_matrixTrace@routines.inc.F90"
663 0 : end procedure
664 : #endif
665 :
666 : #if IK2_ENABLED
667 0 : module procedure getMatTrace_LFP_UXD_IK2
668 : use pm_kind, only: IKC => IK2
669 : #include "pm_matrixTrace@routines.inc.F90"
670 0 : end procedure
671 : #endif
672 :
673 : #if IK1_ENABLED
674 0 : module procedure getMatTrace_LFP_UXD_IK1
675 : use pm_kind, only: IKC => IK1
676 : #include "pm_matrixTrace@routines.inc.F90"
677 0 : end procedure
678 : #endif
679 :
680 : #undef IK_ENABLED
681 :
682 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683 :
684 : #define CK_ENABLED 1
685 :
686 : #if CK5_ENABLED
687 : module procedure getMatTrace_LFP_UXD_CK5
688 : use pm_kind, only: CKC => CK5
689 : #include "pm_matrixTrace@routines.inc.F90"
690 : end procedure
691 : #endif
692 :
693 : #if CK4_ENABLED
694 0 : module procedure getMatTrace_LFP_UXD_CK4
695 : use pm_kind, only: CKC => CK4
696 : #include "pm_matrixTrace@routines.inc.F90"
697 0 : end procedure
698 : #endif
699 :
700 : #if CK3_ENABLED
701 0 : module procedure getMatTrace_LFP_UXD_CK3
702 : use pm_kind, only: CKC => CK3
703 : #include "pm_matrixTrace@routines.inc.F90"
704 0 : end procedure
705 : #endif
706 :
707 : #if CK2_ENABLED
708 0 : module procedure getMatTrace_LFP_UXD_CK2
709 : use pm_kind, only: CKC => CK2
710 : #include "pm_matrixTrace@routines.inc.F90"
711 0 : end procedure
712 : #endif
713 :
714 : #if CK1_ENABLED
715 0 : module procedure getMatTrace_LFP_UXD_CK1
716 : use pm_kind, only: CKC => CK1
717 : #include "pm_matrixTrace@routines.inc.F90"
718 0 : end procedure
719 : #endif
720 :
721 : #undef CK_ENABLED
722 :
723 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
724 :
725 : #define RK_ENABLED 1
726 :
727 : #if RK5_ENABLED
728 : module procedure getMatTrace_LFP_UXD_RK5
729 : use pm_kind, only: RKC => RK5
730 : #include "pm_matrixTrace@routines.inc.F90"
731 : end procedure
732 : #endif
733 :
734 : #if RK4_ENABLED
735 0 : module procedure getMatTrace_LFP_UXD_RK4
736 : use pm_kind, only: RKC => RK4
737 : #include "pm_matrixTrace@routines.inc.F90"
738 0 : end procedure
739 : #endif
740 :
741 : #if RK3_ENABLED
742 0 : module procedure getMatTrace_LFP_UXD_RK3
743 : use pm_kind, only: RKC => RK3
744 : #include "pm_matrixTrace@routines.inc.F90"
745 0 : end procedure
746 : #endif
747 :
748 : #if RK2_ENABLED
749 0 : module procedure getMatTrace_LFP_UXD_RK2
750 : use pm_kind, only: RKC => RK2
751 : #include "pm_matrixTrace@routines.inc.F90"
752 0 : end procedure
753 : #endif
754 :
755 : #if RK1_ENABLED
756 0 : module procedure getMatTrace_LFP_UXD_RK1
757 : use pm_kind, only: RKC => RK1
758 : #include "pm_matrixTrace@routines.inc.F90"
759 0 : end procedure
760 : #endif
761 :
762 : #undef RK_ENABLED
763 :
764 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
765 :
766 : #undef UXD_ENABLED
767 :
768 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
769 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
770 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
771 :
772 : #define XLD_ENABLED 1
773 :
774 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
775 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
776 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
777 :
778 : #define IK_ENABLED 1
779 :
780 : #if IK5_ENABLED
781 0 : module procedure getMatTrace_LFP_XLD_IK5
782 : use pm_kind, only: IKC => IK5
783 : #include "pm_matrixTrace@routines.inc.F90"
784 0 : end procedure
785 : #endif
786 :
787 : #if IK4_ENABLED
788 0 : module procedure getMatTrace_LFP_XLD_IK4
789 : use pm_kind, only: IKC => IK4
790 : #include "pm_matrixTrace@routines.inc.F90"
791 0 : end procedure
792 : #endif
793 :
794 : #if IK3_ENABLED
795 5 : module procedure getMatTrace_LFP_XLD_IK3
796 : use pm_kind, only: IKC => IK3
797 : #include "pm_matrixTrace@routines.inc.F90"
798 5 : end procedure
799 : #endif
800 :
801 : #if IK2_ENABLED
802 0 : module procedure getMatTrace_LFP_XLD_IK2
803 : use pm_kind, only: IKC => IK2
804 : #include "pm_matrixTrace@routines.inc.F90"
805 0 : end procedure
806 : #endif
807 :
808 : #if IK1_ENABLED
809 0 : module procedure getMatTrace_LFP_XLD_IK1
810 : use pm_kind, only: IKC => IK1
811 : #include "pm_matrixTrace@routines.inc.F90"
812 0 : end procedure
813 : #endif
814 :
815 : #undef IK_ENABLED
816 :
817 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
818 :
819 : #define CK_ENABLED 1
820 :
821 : #if CK5_ENABLED
822 : module procedure getMatTrace_LFP_XLD_CK5
823 : use pm_kind, only: CKC => CK5
824 : #include "pm_matrixTrace@routines.inc.F90"
825 : end procedure
826 : #endif
827 :
828 : #if CK4_ENABLED
829 0 : module procedure getMatTrace_LFP_XLD_CK4
830 : use pm_kind, only: CKC => CK4
831 : #include "pm_matrixTrace@routines.inc.F90"
832 0 : end procedure
833 : #endif
834 :
835 : #if CK3_ENABLED
836 0 : module procedure getMatTrace_LFP_XLD_CK3
837 : use pm_kind, only: CKC => CK3
838 : #include "pm_matrixTrace@routines.inc.F90"
839 0 : end procedure
840 : #endif
841 :
842 : #if CK2_ENABLED
843 0 : module procedure getMatTrace_LFP_XLD_CK2
844 : use pm_kind, only: CKC => CK2
845 : #include "pm_matrixTrace@routines.inc.F90"
846 0 : end procedure
847 : #endif
848 :
849 : #if CK1_ENABLED
850 0 : module procedure getMatTrace_LFP_XLD_CK1
851 : use pm_kind, only: CKC => CK1
852 : #include "pm_matrixTrace@routines.inc.F90"
853 0 : end procedure
854 : #endif
855 :
856 : #undef CK_ENABLED
857 :
858 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
859 :
860 : #define RK_ENABLED 1
861 :
862 : #if RK5_ENABLED
863 : module procedure getMatTrace_LFP_XLD_RK5
864 : use pm_kind, only: RKC => RK5
865 : #include "pm_matrixTrace@routines.inc.F90"
866 : end procedure
867 : #endif
868 :
869 : #if RK4_ENABLED
870 0 : module procedure getMatTrace_LFP_XLD_RK4
871 : use pm_kind, only: RKC => RK4
872 : #include "pm_matrixTrace@routines.inc.F90"
873 0 : end procedure
874 : #endif
875 :
876 : #if RK3_ENABLED
877 0 : module procedure getMatTrace_LFP_XLD_RK3
878 : use pm_kind, only: RKC => RK3
879 : #include "pm_matrixTrace@routines.inc.F90"
880 0 : end procedure
881 : #endif
882 :
883 : #if RK2_ENABLED
884 0 : module procedure getMatTrace_LFP_XLD_RK2
885 : use pm_kind, only: RKC => RK2
886 : #include "pm_matrixTrace@routines.inc.F90"
887 0 : end procedure
888 : #endif
889 :
890 : #if RK1_ENABLED
891 0 : module procedure getMatTrace_LFP_XLD_RK1
892 : use pm_kind, only: RKC => RK1
893 : #include "pm_matrixTrace@routines.inc.F90"
894 0 : end procedure
895 : #endif
896 :
897 : #undef RK_ENABLED
898 :
899 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
900 :
901 : #undef XLD_ENABLED
902 :
903 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
904 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
905 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906 :
907 : #undef LFP_ENABLED
908 :
909 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
910 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
911 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
912 :
913 : #undef getMatTrace_ENABLED
914 :
915 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
916 :
917 : #define getMatMulTrace_ENABLED 1
918 :
919 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
920 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
921 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
922 :
923 : #define DEF_ENABLED 1
924 :
925 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
926 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
927 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
928 :
929 : #define XXX_ENABLED 1
930 :
931 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
932 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
933 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
934 :
935 : #define IK_ENABLED 1
936 :
937 : #if IK5_ENABLED
938 0 : module procedure getMatMulTrace_DEF_XXX_IK5
939 : use pm_kind, only: IKC => IK5
940 : #include "pm_matrixTrace@routines.inc.F90"
941 0 : end procedure
942 : #endif
943 :
944 : #if IK4_ENABLED
945 0 : module procedure getMatMulTrace_DEF_XXX_IK4
946 : use pm_kind, only: IKC => IK4
947 : #include "pm_matrixTrace@routines.inc.F90"
948 0 : end procedure
949 : #endif
950 :
951 : #if IK3_ENABLED
952 15 : module procedure getMatMulTrace_DEF_XXX_IK3
953 : use pm_kind, only: IKC => IK3
954 : #include "pm_matrixTrace@routines.inc.F90"
955 15 : end procedure
956 : #endif
957 :
958 : #if IK2_ENABLED
959 0 : module procedure getMatMulTrace_DEF_XXX_IK2
960 : use pm_kind, only: IKC => IK2
961 : #include "pm_matrixTrace@routines.inc.F90"
962 0 : end procedure
963 : #endif
964 :
965 : #if IK1_ENABLED
966 0 : module procedure getMatMulTrace_DEF_XXX_IK1
967 : use pm_kind, only: IKC => IK1
968 : #include "pm_matrixTrace@routines.inc.F90"
969 0 : end procedure
970 : #endif
971 :
972 : #undef IK_ENABLED
973 :
974 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
975 :
976 : #define CK_ENABLED 1
977 :
978 : #if CK5_ENABLED
979 : module procedure getMatMulTrace_DEF_XXX_CK5
980 : use pm_kind, only: CKC => CK5
981 : #include "pm_matrixTrace@routines.inc.F90"
982 : end procedure
983 : #endif
984 :
985 : #if CK4_ENABLED
986 0 : module procedure getMatMulTrace_DEF_XXX_CK4
987 : use pm_kind, only: CKC => CK4
988 : #include "pm_matrixTrace@routines.inc.F90"
989 0 : end procedure
990 : #endif
991 :
992 : #if CK3_ENABLED
993 0 : module procedure getMatMulTrace_DEF_XXX_CK3
994 : use pm_kind, only: CKC => CK3
995 : #include "pm_matrixTrace@routines.inc.F90"
996 0 : end procedure
997 : #endif
998 :
999 : #if CK2_ENABLED
1000 0 : module procedure getMatMulTrace_DEF_XXX_CK2
1001 : use pm_kind, only: CKC => CK2
1002 : #include "pm_matrixTrace@routines.inc.F90"
1003 0 : end procedure
1004 : #endif
1005 :
1006 : #if CK1_ENABLED
1007 18 : module procedure getMatMulTrace_DEF_XXX_CK1
1008 : use pm_kind, only: CKC => CK1
1009 : #include "pm_matrixTrace@routines.inc.F90"
1010 18 : end procedure
1011 : #endif
1012 :
1013 : #undef CK_ENABLED
1014 :
1015 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1016 :
1017 : #define RK_ENABLED 1
1018 :
1019 : #if RK5_ENABLED
1020 : module procedure getMatMulTrace_DEF_XXX_RK5
1021 : use pm_kind, only: RKC => RK5
1022 : #include "pm_matrixTrace@routines.inc.F90"
1023 : end procedure
1024 : #endif
1025 :
1026 : #if RK4_ENABLED
1027 0 : module procedure getMatMulTrace_DEF_XXX_RK4
1028 : use pm_kind, only: RKC => RK4
1029 : #include "pm_matrixTrace@routines.inc.F90"
1030 0 : end procedure
1031 : #endif
1032 :
1033 : #if RK3_ENABLED
1034 0 : module procedure getMatMulTrace_DEF_XXX_RK3
1035 : use pm_kind, only: RKC => RK3
1036 : #include "pm_matrixTrace@routines.inc.F90"
1037 0 : end procedure
1038 : #endif
1039 :
1040 : #if RK2_ENABLED
1041 0 : module procedure getMatMulTrace_DEF_XXX_RK2
1042 : use pm_kind, only: RKC => RK2
1043 : #include "pm_matrixTrace@routines.inc.F90"
1044 0 : end procedure
1045 : #endif
1046 :
1047 : #if RK1_ENABLED
1048 90 : module procedure getMatMulTrace_DEF_XXX_RK1
1049 : use pm_kind, only: RKC => RK1
1050 : #include "pm_matrixTrace@routines.inc.F90"
1051 90 : end procedure
1052 : #endif
1053 :
1054 : #undef RK_ENABLED
1055 :
1056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1057 :
1058 : #undef XXX_ENABLED
1059 :
1060 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1062 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1063 :
1064 : #undef DEF_ENABLED
1065 :
1066 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1067 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1068 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1069 :
1070 : #define RDP_ENABLED 1
1071 :
1072 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1073 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1074 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1075 :
1076 : #define XXX_ENABLED 1
1077 :
1078 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1079 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1080 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1081 :
1082 : #define IK_ENABLED 1
1083 :
1084 : #if IK5_ENABLED
1085 0 : module procedure getMatMulTrace_RDP_XXX_IK5
1086 : use pm_kind, only: IKC => IK5
1087 : #include "pm_matrixTrace@routines.inc.F90"
1088 0 : end procedure
1089 : #endif
1090 :
1091 : #if IK4_ENABLED
1092 0 : module procedure getMatMulTrace_RDP_XXX_IK4
1093 : use pm_kind, only: IKC => IK4
1094 : #include "pm_matrixTrace@routines.inc.F90"
1095 0 : end procedure
1096 : #endif
1097 :
1098 : #if IK3_ENABLED
1099 0 : module procedure getMatMulTrace_RDP_XXX_IK3
1100 : use pm_kind, only: IKC => IK3
1101 : #include "pm_matrixTrace@routines.inc.F90"
1102 0 : end procedure
1103 : #endif
1104 :
1105 : #if IK2_ENABLED
1106 0 : module procedure getMatMulTrace_RDP_XXX_IK2
1107 : use pm_kind, only: IKC => IK2
1108 : #include "pm_matrixTrace@routines.inc.F90"
1109 0 : end procedure
1110 : #endif
1111 :
1112 : #if IK1_ENABLED
1113 0 : module procedure getMatMulTrace_RDP_XXX_IK1
1114 : use pm_kind, only: IKC => IK1
1115 : #include "pm_matrixTrace@routines.inc.F90"
1116 0 : end procedure
1117 : #endif
1118 :
1119 : #undef IK_ENABLED
1120 :
1121 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1122 :
1123 : #define CK_ENABLED 1
1124 :
1125 : #if CK5_ENABLED
1126 : module procedure getMatMulTrace_RDP_XXX_CK5
1127 : use pm_kind, only: CKC => CK5
1128 : #include "pm_matrixTrace@routines.inc.F90"
1129 : end procedure
1130 : #endif
1131 :
1132 : #if CK4_ENABLED
1133 0 : module procedure getMatMulTrace_RDP_XXX_CK4
1134 : use pm_kind, only: CKC => CK4
1135 : #include "pm_matrixTrace@routines.inc.F90"
1136 0 : end procedure
1137 : #endif
1138 :
1139 : #if CK3_ENABLED
1140 0 : module procedure getMatMulTrace_RDP_XXX_CK3
1141 : use pm_kind, only: CKC => CK3
1142 : #include "pm_matrixTrace@routines.inc.F90"
1143 0 : end procedure
1144 : #endif
1145 :
1146 : #if CK2_ENABLED
1147 0 : module procedure getMatMulTrace_RDP_XXX_CK2
1148 : use pm_kind, only: CKC => CK2
1149 : #include "pm_matrixTrace@routines.inc.F90"
1150 0 : end procedure
1151 : #endif
1152 :
1153 : #if CK1_ENABLED
1154 0 : module procedure getMatMulTrace_RDP_XXX_CK1
1155 : use pm_kind, only: CKC => CK1
1156 : #include "pm_matrixTrace@routines.inc.F90"
1157 0 : end procedure
1158 : #endif
1159 :
1160 : #undef CK_ENABLED
1161 :
1162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1163 :
1164 : #define RK_ENABLED 1
1165 :
1166 : #if RK5_ENABLED
1167 : module procedure getMatMulTrace_RDP_XXX_RK5
1168 : use pm_kind, only: RKC => RK5
1169 : #include "pm_matrixTrace@routines.inc.F90"
1170 : end procedure
1171 : #endif
1172 :
1173 : #if RK4_ENABLED
1174 0 : module procedure getMatMulTrace_RDP_XXX_RK4
1175 : use pm_kind, only: RKC => RK4
1176 : #include "pm_matrixTrace@routines.inc.F90"
1177 0 : end procedure
1178 : #endif
1179 :
1180 : #if RK3_ENABLED
1181 0 : module procedure getMatMulTrace_RDP_XXX_RK3
1182 : use pm_kind, only: RKC => RK3
1183 : #include "pm_matrixTrace@routines.inc.F90"
1184 0 : end procedure
1185 : #endif
1186 :
1187 : #if RK2_ENABLED
1188 0 : module procedure getMatMulTrace_RDP_XXX_RK2
1189 : use pm_kind, only: RKC => RK2
1190 : #include "pm_matrixTrace@routines.inc.F90"
1191 0 : end procedure
1192 : #endif
1193 :
1194 : #if RK1_ENABLED
1195 0 : module procedure getMatMulTrace_RDP_XXX_RK1
1196 : use pm_kind, only: RKC => RK1
1197 : #include "pm_matrixTrace@routines.inc.F90"
1198 0 : end procedure
1199 : #endif
1200 :
1201 : #undef RK_ENABLED
1202 :
1203 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1204 :
1205 : #undef XXX_ENABLED
1206 :
1207 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1208 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1209 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1210 :
1211 : #undef RDP_ENABLED
1212 :
1213 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1215 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1216 :
1217 : #define RFP_ENABLED 1
1218 :
1219 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1220 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1222 :
1223 : #define UXD_ENABLED 1
1224 :
1225 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1226 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1227 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1228 :
1229 : #define IK_ENABLED 1
1230 :
1231 : #if IK5_ENABLED
1232 0 : module procedure getMatMulTrace_RFP_UXD_IK5
1233 : use pm_kind, only: IKC => IK5
1234 : #include "pm_matrixTrace@routines.inc.F90"
1235 0 : end procedure
1236 : #endif
1237 :
1238 : #if IK4_ENABLED
1239 0 : module procedure getMatMulTrace_RFP_UXD_IK4
1240 : use pm_kind, only: IKC => IK4
1241 : #include "pm_matrixTrace@routines.inc.F90"
1242 0 : end procedure
1243 : #endif
1244 :
1245 : #if IK3_ENABLED
1246 0 : module procedure getMatMulTrace_RFP_UXD_IK3
1247 : use pm_kind, only: IKC => IK3
1248 : #include "pm_matrixTrace@routines.inc.F90"
1249 0 : end procedure
1250 : #endif
1251 :
1252 : #if IK2_ENABLED
1253 0 : module procedure getMatMulTrace_RFP_UXD_IK2
1254 : use pm_kind, only: IKC => IK2
1255 : #include "pm_matrixTrace@routines.inc.F90"
1256 0 : end procedure
1257 : #endif
1258 :
1259 : #if IK1_ENABLED
1260 0 : module procedure getMatMulTrace_RFP_UXD_IK1
1261 : use pm_kind, only: IKC => IK1
1262 : #include "pm_matrixTrace@routines.inc.F90"
1263 0 : end procedure
1264 : #endif
1265 :
1266 : #undef IK_ENABLED
1267 :
1268 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1269 :
1270 : #define CK_ENABLED 1
1271 :
1272 : #if CK5_ENABLED
1273 : module procedure getMatMulTrace_RFP_UXD_CK5
1274 : use pm_kind, only: CKC => CK5
1275 : #include "pm_matrixTrace@routines.inc.F90"
1276 : end procedure
1277 : #endif
1278 :
1279 : #if CK4_ENABLED
1280 0 : module procedure getMatMulTrace_RFP_UXD_CK4
1281 : use pm_kind, only: CKC => CK4
1282 : #include "pm_matrixTrace@routines.inc.F90"
1283 0 : end procedure
1284 : #endif
1285 :
1286 : #if CK3_ENABLED
1287 0 : module procedure getMatMulTrace_RFP_UXD_CK3
1288 : use pm_kind, only: CKC => CK3
1289 : #include "pm_matrixTrace@routines.inc.F90"
1290 0 : end procedure
1291 : #endif
1292 :
1293 : #if CK2_ENABLED
1294 0 : module procedure getMatMulTrace_RFP_UXD_CK2
1295 : use pm_kind, only: CKC => CK2
1296 : #include "pm_matrixTrace@routines.inc.F90"
1297 0 : end procedure
1298 : #endif
1299 :
1300 : #if CK1_ENABLED
1301 0 : module procedure getMatMulTrace_RFP_UXD_CK1
1302 : use pm_kind, only: CKC => CK1
1303 : #include "pm_matrixTrace@routines.inc.F90"
1304 0 : end procedure
1305 : #endif
1306 :
1307 : #undef CK_ENABLED
1308 :
1309 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1310 :
1311 : #define RK_ENABLED 1
1312 :
1313 : #if RK5_ENABLED
1314 : module procedure getMatMulTrace_RFP_UXD_RK5
1315 : use pm_kind, only: RKC => RK5
1316 : #include "pm_matrixTrace@routines.inc.F90"
1317 : end procedure
1318 : #endif
1319 :
1320 : #if RK4_ENABLED
1321 0 : module procedure getMatMulTrace_RFP_UXD_RK4
1322 : use pm_kind, only: RKC => RK4
1323 : #include "pm_matrixTrace@routines.inc.F90"
1324 0 : end procedure
1325 : #endif
1326 :
1327 : #if RK3_ENABLED
1328 0 : module procedure getMatMulTrace_RFP_UXD_RK3
1329 : use pm_kind, only: RKC => RK3
1330 : #include "pm_matrixTrace@routines.inc.F90"
1331 0 : end procedure
1332 : #endif
1333 :
1334 : #if RK2_ENABLED
1335 0 : module procedure getMatMulTrace_RFP_UXD_RK2
1336 : use pm_kind, only: RKC => RK2
1337 : #include "pm_matrixTrace@routines.inc.F90"
1338 0 : end procedure
1339 : #endif
1340 :
1341 : #if RK1_ENABLED
1342 0 : module procedure getMatMulTrace_RFP_UXD_RK1
1343 : use pm_kind, only: RKC => RK1
1344 : #include "pm_matrixTrace@routines.inc.F90"
1345 0 : end procedure
1346 : #endif
1347 :
1348 : #undef RK_ENABLED
1349 :
1350 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1351 :
1352 : #undef UXD_ENABLED
1353 :
1354 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1355 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1357 :
1358 : #define XLD_ENABLED 1
1359 :
1360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1361 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1363 :
1364 : #define IK_ENABLED 1
1365 :
1366 : #if IK5_ENABLED
1367 0 : module procedure getMatMulTrace_RFP_XLD_IK5
1368 : use pm_kind, only: IKC => IK5
1369 : #include "pm_matrixTrace@routines.inc.F90"
1370 0 : end procedure
1371 : #endif
1372 :
1373 : #if IK4_ENABLED
1374 0 : module procedure getMatMulTrace_RFP_XLD_IK4
1375 : use pm_kind, only: IKC => IK4
1376 : #include "pm_matrixTrace@routines.inc.F90"
1377 0 : end procedure
1378 : #endif
1379 :
1380 : #if IK3_ENABLED
1381 0 : module procedure getMatMulTrace_RFP_XLD_IK3
1382 : use pm_kind, only: IKC => IK3
1383 : #include "pm_matrixTrace@routines.inc.F90"
1384 0 : end procedure
1385 : #endif
1386 :
1387 : #if IK2_ENABLED
1388 0 : module procedure getMatMulTrace_RFP_XLD_IK2
1389 : use pm_kind, only: IKC => IK2
1390 : #include "pm_matrixTrace@routines.inc.F90"
1391 0 : end procedure
1392 : #endif
1393 :
1394 : #if IK1_ENABLED
1395 0 : module procedure getMatMulTrace_RFP_XLD_IK1
1396 : use pm_kind, only: IKC => IK1
1397 : #include "pm_matrixTrace@routines.inc.F90"
1398 0 : end procedure
1399 : #endif
1400 :
1401 : #undef IK_ENABLED
1402 :
1403 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1404 :
1405 : #define CK_ENABLED 1
1406 :
1407 : #if CK5_ENABLED
1408 : module procedure getMatMulTrace_RFP_XLD_CK5
1409 : use pm_kind, only: CKC => CK5
1410 : #include "pm_matrixTrace@routines.inc.F90"
1411 : end procedure
1412 : #endif
1413 :
1414 : #if CK4_ENABLED
1415 0 : module procedure getMatMulTrace_RFP_XLD_CK4
1416 : use pm_kind, only: CKC => CK4
1417 : #include "pm_matrixTrace@routines.inc.F90"
1418 0 : end procedure
1419 : #endif
1420 :
1421 : #if CK3_ENABLED
1422 0 : module procedure getMatMulTrace_RFP_XLD_CK3
1423 : use pm_kind, only: CKC => CK3
1424 : #include "pm_matrixTrace@routines.inc.F90"
1425 0 : end procedure
1426 : #endif
1427 :
1428 : #if CK2_ENABLED
1429 0 : module procedure getMatMulTrace_RFP_XLD_CK2
1430 : use pm_kind, only: CKC => CK2
1431 : #include "pm_matrixTrace@routines.inc.F90"
1432 0 : end procedure
1433 : #endif
1434 :
1435 : #if CK1_ENABLED
1436 0 : module procedure getMatMulTrace_RFP_XLD_CK1
1437 : use pm_kind, only: CKC => CK1
1438 : #include "pm_matrixTrace@routines.inc.F90"
1439 0 : end procedure
1440 : #endif
1441 :
1442 : #undef CK_ENABLED
1443 :
1444 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1445 :
1446 : #define RK_ENABLED 1
1447 :
1448 : #if RK5_ENABLED
1449 : module procedure getMatMulTrace_RFP_XLD_RK5
1450 : use pm_kind, only: RKC => RK5
1451 : #include "pm_matrixTrace@routines.inc.F90"
1452 : end procedure
1453 : #endif
1454 :
1455 : #if RK4_ENABLED
1456 0 : module procedure getMatMulTrace_RFP_XLD_RK4
1457 : use pm_kind, only: RKC => RK4
1458 : #include "pm_matrixTrace@routines.inc.F90"
1459 0 : end procedure
1460 : #endif
1461 :
1462 : #if RK3_ENABLED
1463 0 : module procedure getMatMulTrace_RFP_XLD_RK3
1464 : use pm_kind, only: RKC => RK3
1465 : #include "pm_matrixTrace@routines.inc.F90"
1466 0 : end procedure
1467 : #endif
1468 :
1469 : #if RK2_ENABLED
1470 0 : module procedure getMatMulTrace_RFP_XLD_RK2
1471 : use pm_kind, only: RKC => RK2
1472 : #include "pm_matrixTrace@routines.inc.F90"
1473 0 : end procedure
1474 : #endif
1475 :
1476 : #if RK1_ENABLED
1477 0 : module procedure getMatMulTrace_RFP_XLD_RK1
1478 : use pm_kind, only: RKC => RK1
1479 : #include "pm_matrixTrace@routines.inc.F90"
1480 0 : end procedure
1481 : #endif
1482 :
1483 : #undef RK_ENABLED
1484 :
1485 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1486 :
1487 : #undef XLD_ENABLED
1488 :
1489 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1490 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1491 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1492 :
1493 : #undef RFP_ENABLED
1494 :
1495 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1496 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1497 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1498 :
1499 : #define LFP_ENABLED 1
1500 :
1501 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1502 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1503 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1504 :
1505 : #define UXD_ENABLED 1
1506 :
1507 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1508 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1509 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1510 :
1511 : #define IK_ENABLED 1
1512 :
1513 : #if IK5_ENABLED
1514 0 : module procedure getMatMulTrace_LFP_UXD_IK5
1515 : use pm_kind, only: IKC => IK5
1516 : #include "pm_matrixTrace@routines.inc.F90"
1517 0 : end procedure
1518 : #endif
1519 :
1520 : #if IK4_ENABLED
1521 0 : module procedure getMatMulTrace_LFP_UXD_IK4
1522 : use pm_kind, only: IKC => IK4
1523 : #include "pm_matrixTrace@routines.inc.F90"
1524 0 : end procedure
1525 : #endif
1526 :
1527 : #if IK3_ENABLED
1528 0 : module procedure getMatMulTrace_LFP_UXD_IK3
1529 : use pm_kind, only: IKC => IK3
1530 : #include "pm_matrixTrace@routines.inc.F90"
1531 0 : end procedure
1532 : #endif
1533 :
1534 : #if IK2_ENABLED
1535 0 : module procedure getMatMulTrace_LFP_UXD_IK2
1536 : use pm_kind, only: IKC => IK2
1537 : #include "pm_matrixTrace@routines.inc.F90"
1538 0 : end procedure
1539 : #endif
1540 :
1541 : #if IK1_ENABLED
1542 0 : module procedure getMatMulTrace_LFP_UXD_IK1
1543 : use pm_kind, only: IKC => IK1
1544 : #include "pm_matrixTrace@routines.inc.F90"
1545 0 : end procedure
1546 : #endif
1547 :
1548 : #undef IK_ENABLED
1549 :
1550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1551 :
1552 : #define CK_ENABLED 1
1553 :
1554 : #if CK5_ENABLED
1555 : module procedure getMatMulTrace_LFP_UXD_CK5
1556 : use pm_kind, only: CKC => CK5
1557 : #include "pm_matrixTrace@routines.inc.F90"
1558 : end procedure
1559 : #endif
1560 :
1561 : #if CK4_ENABLED
1562 0 : module procedure getMatMulTrace_LFP_UXD_CK4
1563 : use pm_kind, only: CKC => CK4
1564 : #include "pm_matrixTrace@routines.inc.F90"
1565 0 : end procedure
1566 : #endif
1567 :
1568 : #if CK3_ENABLED
1569 0 : module procedure getMatMulTrace_LFP_UXD_CK3
1570 : use pm_kind, only: CKC => CK3
1571 : #include "pm_matrixTrace@routines.inc.F90"
1572 0 : end procedure
1573 : #endif
1574 :
1575 : #if CK2_ENABLED
1576 0 : module procedure getMatMulTrace_LFP_UXD_CK2
1577 : use pm_kind, only: CKC => CK2
1578 : #include "pm_matrixTrace@routines.inc.F90"
1579 0 : end procedure
1580 : #endif
1581 :
1582 : #if CK1_ENABLED
1583 0 : module procedure getMatMulTrace_LFP_UXD_CK1
1584 : use pm_kind, only: CKC => CK1
1585 : #include "pm_matrixTrace@routines.inc.F90"
1586 0 : end procedure
1587 : #endif
1588 :
1589 : #undef CK_ENABLED
1590 :
1591 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1592 :
1593 : #define RK_ENABLED 1
1594 :
1595 : #if RK5_ENABLED
1596 : module procedure getMatMulTrace_LFP_UXD_RK5
1597 : use pm_kind, only: RKC => RK5
1598 : #include "pm_matrixTrace@routines.inc.F90"
1599 : end procedure
1600 : #endif
1601 :
1602 : #if RK4_ENABLED
1603 0 : module procedure getMatMulTrace_LFP_UXD_RK4
1604 : use pm_kind, only: RKC => RK4
1605 : #include "pm_matrixTrace@routines.inc.F90"
1606 0 : end procedure
1607 : #endif
1608 :
1609 : #if RK3_ENABLED
1610 0 : module procedure getMatMulTrace_LFP_UXD_RK3
1611 : use pm_kind, only: RKC => RK3
1612 : #include "pm_matrixTrace@routines.inc.F90"
1613 0 : end procedure
1614 : #endif
1615 :
1616 : #if RK2_ENABLED
1617 0 : module procedure getMatMulTrace_LFP_UXD_RK2
1618 : use pm_kind, only: RKC => RK2
1619 : #include "pm_matrixTrace@routines.inc.F90"
1620 0 : end procedure
1621 : #endif
1622 :
1623 : #if RK1_ENABLED
1624 0 : module procedure getMatMulTrace_LFP_UXD_RK1
1625 : use pm_kind, only: RKC => RK1
1626 : #include "pm_matrixTrace@routines.inc.F90"
1627 0 : end procedure
1628 : #endif
1629 :
1630 : #undef RK_ENABLED
1631 :
1632 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1633 :
1634 : #undef UXD_ENABLED
1635 :
1636 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1637 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1639 :
1640 : #define XLD_ENABLED 1
1641 :
1642 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1643 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1644 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1645 :
1646 : #define IK_ENABLED 1
1647 :
1648 : #if IK5_ENABLED
1649 0 : module procedure getMatMulTrace_LFP_XLD_IK5
1650 : use pm_kind, only: IKC => IK5
1651 : #include "pm_matrixTrace@routines.inc.F90"
1652 0 : end procedure
1653 : #endif
1654 :
1655 : #if IK4_ENABLED
1656 0 : module procedure getMatMulTrace_LFP_XLD_IK4
1657 : use pm_kind, only: IKC => IK4
1658 : #include "pm_matrixTrace@routines.inc.F90"
1659 0 : end procedure
1660 : #endif
1661 :
1662 : #if IK3_ENABLED
1663 5 : module procedure getMatMulTrace_LFP_XLD_IK3
1664 : use pm_kind, only: IKC => IK3
1665 : #include "pm_matrixTrace@routines.inc.F90"
1666 5 : end procedure
1667 : #endif
1668 :
1669 : #if IK2_ENABLED
1670 0 : module procedure getMatMulTrace_LFP_XLD_IK2
1671 : use pm_kind, only: IKC => IK2
1672 : #include "pm_matrixTrace@routines.inc.F90"
1673 0 : end procedure
1674 : #endif
1675 :
1676 : #if IK1_ENABLED
1677 0 : module procedure getMatMulTrace_LFP_XLD_IK1
1678 : use pm_kind, only: IKC => IK1
1679 : #include "pm_matrixTrace@routines.inc.F90"
1680 0 : end procedure
1681 : #endif
1682 :
1683 : #undef IK_ENABLED
1684 :
1685 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1686 :
1687 : #define CK_ENABLED 1
1688 :
1689 : #if CK5_ENABLED
1690 : module procedure getMatMulTrace_LFP_XLD_CK5
1691 : use pm_kind, only: CKC => CK5
1692 : #include "pm_matrixTrace@routines.inc.F90"
1693 : end procedure
1694 : #endif
1695 :
1696 : #if CK4_ENABLED
1697 0 : module procedure getMatMulTrace_LFP_XLD_CK4
1698 : use pm_kind, only: CKC => CK4
1699 : #include "pm_matrixTrace@routines.inc.F90"
1700 0 : end procedure
1701 : #endif
1702 :
1703 : #if CK3_ENABLED
1704 0 : module procedure getMatMulTrace_LFP_XLD_CK3
1705 : use pm_kind, only: CKC => CK3
1706 : #include "pm_matrixTrace@routines.inc.F90"
1707 0 : end procedure
1708 : #endif
1709 :
1710 : #if CK2_ENABLED
1711 0 : module procedure getMatMulTrace_LFP_XLD_CK2
1712 : use pm_kind, only: CKC => CK2
1713 : #include "pm_matrixTrace@routines.inc.F90"
1714 0 : end procedure
1715 : #endif
1716 :
1717 : #if CK1_ENABLED
1718 0 : module procedure getMatMulTrace_LFP_XLD_CK1
1719 : use pm_kind, only: CKC => CK1
1720 : #include "pm_matrixTrace@routines.inc.F90"
1721 0 : end procedure
1722 : #endif
1723 :
1724 : #undef CK_ENABLED
1725 :
1726 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1727 :
1728 : #define RK_ENABLED 1
1729 :
1730 : #if RK5_ENABLED
1731 : module procedure getMatMulTrace_LFP_XLD_RK5
1732 : use pm_kind, only: RKC => RK5
1733 : #include "pm_matrixTrace@routines.inc.F90"
1734 : end procedure
1735 : #endif
1736 :
1737 : #if RK4_ENABLED
1738 0 : module procedure getMatMulTrace_LFP_XLD_RK4
1739 : use pm_kind, only: RKC => RK4
1740 : #include "pm_matrixTrace@routines.inc.F90"
1741 0 : end procedure
1742 : #endif
1743 :
1744 : #if RK3_ENABLED
1745 0 : module procedure getMatMulTrace_LFP_XLD_RK3
1746 : use pm_kind, only: RKC => RK3
1747 : #include "pm_matrixTrace@routines.inc.F90"
1748 0 : end procedure
1749 : #endif
1750 :
1751 : #if RK2_ENABLED
1752 0 : module procedure getMatMulTrace_LFP_XLD_RK2
1753 : use pm_kind, only: RKC => RK2
1754 : #include "pm_matrixTrace@routines.inc.F90"
1755 0 : end procedure
1756 : #endif
1757 :
1758 : #if RK1_ENABLED
1759 0 : module procedure getMatMulTrace_LFP_XLD_RK1
1760 : use pm_kind, only: RKC => RK1
1761 : #include "pm_matrixTrace@routines.inc.F90"
1762 0 : end procedure
1763 : #endif
1764 :
1765 : #undef RK_ENABLED
1766 :
1767 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1768 :
1769 : #undef XLD_ENABLED
1770 :
1771 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1772 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1773 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1774 :
1775 : #undef LFP_ENABLED
1776 :
1777 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1778 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1779 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1780 :
1781 : #undef getMatMulTrace_ENABLED
1782 :
1783 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1784 :
1785 : #define getMatMulTraceLog_ENABLED 1
1786 :
1787 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1789 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1790 :
1791 : #define DEF_ENABLED 1
1792 :
1793 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1794 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1795 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1796 :
1797 : #define XXX_ENABLED 1
1798 :
1799 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1800 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1801 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1802 :
1803 : #define IK_ENABLED 1
1804 :
1805 : #if IK5_ENABLED
1806 0 : module procedure getMatMulTraceLog_DEF_XXX_IK5
1807 : use pm_kind, only: IKC => IK5
1808 : #include "pm_matrixTrace@routines.inc.F90"
1809 0 : end procedure
1810 : #endif
1811 :
1812 : #if IK4_ENABLED
1813 0 : module procedure getMatMulTraceLog_DEF_XXX_IK4
1814 : use pm_kind, only: IKC => IK4
1815 : #include "pm_matrixTrace@routines.inc.F90"
1816 0 : end procedure
1817 : #endif
1818 :
1819 : #if IK3_ENABLED
1820 15 : module procedure getMatMulTraceLog_DEF_XXX_IK3
1821 : use pm_kind, only: IKC => IK3
1822 : #include "pm_matrixTrace@routines.inc.F90"
1823 15 : end procedure
1824 : #endif
1825 :
1826 : #if IK2_ENABLED
1827 0 : module procedure getMatMulTraceLog_DEF_XXX_IK2
1828 : use pm_kind, only: IKC => IK2
1829 : #include "pm_matrixTrace@routines.inc.F90"
1830 0 : end procedure
1831 : #endif
1832 :
1833 : #if IK1_ENABLED
1834 0 : module procedure getMatMulTraceLog_DEF_XXX_IK1
1835 : use pm_kind, only: IKC => IK1
1836 : #include "pm_matrixTrace@routines.inc.F90"
1837 0 : end procedure
1838 : #endif
1839 :
1840 : #undef IK_ENABLED
1841 :
1842 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1843 :
1844 : #define CK_ENABLED 1
1845 :
1846 : #if CK5_ENABLED
1847 : module procedure getMatMulTraceLog_DEF_XXX_CK5
1848 : use pm_kind, only: CKC => CK5
1849 : #include "pm_matrixTrace@routines.inc.F90"
1850 : end procedure
1851 : #endif
1852 :
1853 : #if CK4_ENABLED
1854 0 : module procedure getMatMulTraceLog_DEF_XXX_CK4
1855 : use pm_kind, only: CKC => CK4
1856 : #include "pm_matrixTrace@routines.inc.F90"
1857 0 : end procedure
1858 : #endif
1859 :
1860 : #if CK3_ENABLED
1861 0 : module procedure getMatMulTraceLog_DEF_XXX_CK3
1862 : use pm_kind, only: CKC => CK3
1863 : #include "pm_matrixTrace@routines.inc.F90"
1864 0 : end procedure
1865 : #endif
1866 :
1867 : #if CK2_ENABLED
1868 0 : module procedure getMatMulTraceLog_DEF_XXX_CK2
1869 : use pm_kind, only: CKC => CK2
1870 : #include "pm_matrixTrace@routines.inc.F90"
1871 0 : end procedure
1872 : #endif
1873 :
1874 : #if CK1_ENABLED
1875 18 : module procedure getMatMulTraceLog_DEF_XXX_CK1
1876 : use pm_kind, only: CKC => CK1
1877 : #include "pm_matrixTrace@routines.inc.F90"
1878 18 : end procedure
1879 : #endif
1880 :
1881 : #undef CK_ENABLED
1882 :
1883 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1884 :
1885 : #define RK_ENABLED 1
1886 :
1887 : #if RK5_ENABLED
1888 : module procedure getMatMulTraceLog_DEF_XXX_RK5
1889 : use pm_kind, only: RKC => RK5
1890 : #include "pm_matrixTrace@routines.inc.F90"
1891 : end procedure
1892 : #endif
1893 :
1894 : #if RK4_ENABLED
1895 0 : module procedure getMatMulTraceLog_DEF_XXX_RK4
1896 : use pm_kind, only: RKC => RK4
1897 : #include "pm_matrixTrace@routines.inc.F90"
1898 0 : end procedure
1899 : #endif
1900 :
1901 : #if RK3_ENABLED
1902 0 : module procedure getMatMulTraceLog_DEF_XXX_RK3
1903 : use pm_kind, only: RKC => RK3
1904 : #include "pm_matrixTrace@routines.inc.F90"
1905 0 : end procedure
1906 : #endif
1907 :
1908 : #if RK2_ENABLED
1909 100382 : module procedure getMatMulTraceLog_DEF_XXX_RK2
1910 : use pm_kind, only: RKC => RK2
1911 : #include "pm_matrixTrace@routines.inc.F90"
1912 100382 : end procedure
1913 : #endif
1914 :
1915 : #if RK1_ENABLED
1916 1486 : module procedure getMatMulTraceLog_DEF_XXX_RK1
1917 : use pm_kind, only: RKC => RK1
1918 : #include "pm_matrixTrace@routines.inc.F90"
1919 1486 : end procedure
1920 : #endif
1921 :
1922 : #undef RK_ENABLED
1923 :
1924 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1925 :
1926 : #undef XXX_ENABLED
1927 :
1928 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1929 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1930 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1931 :
1932 : #undef DEF_ENABLED
1933 :
1934 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1935 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1936 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1937 :
1938 : #define RDP_ENABLED 1
1939 :
1940 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1941 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1942 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1943 :
1944 : #define XXX_ENABLED 1
1945 :
1946 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1947 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1948 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1949 :
1950 : #define IK_ENABLED 1
1951 :
1952 : #if IK5_ENABLED
1953 0 : module procedure getMatMulTraceLog_RDP_XXX_IK5
1954 : use pm_kind, only: IKC => IK5
1955 : #include "pm_matrixTrace@routines.inc.F90"
1956 0 : end procedure
1957 : #endif
1958 :
1959 : #if IK4_ENABLED
1960 0 : module procedure getMatMulTraceLog_RDP_XXX_IK4
1961 : use pm_kind, only: IKC => IK4
1962 : #include "pm_matrixTrace@routines.inc.F90"
1963 0 : end procedure
1964 : #endif
1965 :
1966 : #if IK3_ENABLED
1967 0 : module procedure getMatMulTraceLog_RDP_XXX_IK3
1968 : use pm_kind, only: IKC => IK3
1969 : #include "pm_matrixTrace@routines.inc.F90"
1970 0 : end procedure
1971 : #endif
1972 :
1973 : #if IK2_ENABLED
1974 0 : module procedure getMatMulTraceLog_RDP_XXX_IK2
1975 : use pm_kind, only: IKC => IK2
1976 : #include "pm_matrixTrace@routines.inc.F90"
1977 0 : end procedure
1978 : #endif
1979 :
1980 : #if IK1_ENABLED
1981 0 : module procedure getMatMulTraceLog_RDP_XXX_IK1
1982 : use pm_kind, only: IKC => IK1
1983 : #include "pm_matrixTrace@routines.inc.F90"
1984 0 : end procedure
1985 : #endif
1986 :
1987 : #undef IK_ENABLED
1988 :
1989 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1990 :
1991 : #define CK_ENABLED 1
1992 :
1993 : #if CK5_ENABLED
1994 : module procedure getMatMulTraceLog_RDP_XXX_CK5
1995 : use pm_kind, only: CKC => CK5
1996 : #include "pm_matrixTrace@routines.inc.F90"
1997 : end procedure
1998 : #endif
1999 :
2000 : #if CK4_ENABLED
2001 0 : module procedure getMatMulTraceLog_RDP_XXX_CK4
2002 : use pm_kind, only: CKC => CK4
2003 : #include "pm_matrixTrace@routines.inc.F90"
2004 0 : end procedure
2005 : #endif
2006 :
2007 : #if CK3_ENABLED
2008 0 : module procedure getMatMulTraceLog_RDP_XXX_CK3
2009 : use pm_kind, only: CKC => CK3
2010 : #include "pm_matrixTrace@routines.inc.F90"
2011 0 : end procedure
2012 : #endif
2013 :
2014 : #if CK2_ENABLED
2015 0 : module procedure getMatMulTraceLog_RDP_XXX_CK2
2016 : use pm_kind, only: CKC => CK2
2017 : #include "pm_matrixTrace@routines.inc.F90"
2018 0 : end procedure
2019 : #endif
2020 :
2021 : #if CK1_ENABLED
2022 0 : module procedure getMatMulTraceLog_RDP_XXX_CK1
2023 : use pm_kind, only: CKC => CK1
2024 : #include "pm_matrixTrace@routines.inc.F90"
2025 0 : end procedure
2026 : #endif
2027 :
2028 : #undef CK_ENABLED
2029 :
2030 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2031 :
2032 : #define RK_ENABLED 1
2033 :
2034 : #if RK5_ENABLED
2035 : module procedure getMatMulTraceLog_RDP_XXX_RK5
2036 : use pm_kind, only: RKC => RK5
2037 : #include "pm_matrixTrace@routines.inc.F90"
2038 : end procedure
2039 : #endif
2040 :
2041 : #if RK4_ENABLED
2042 0 : module procedure getMatMulTraceLog_RDP_XXX_RK4
2043 : use pm_kind, only: RKC => RK4
2044 : #include "pm_matrixTrace@routines.inc.F90"
2045 0 : end procedure
2046 : #endif
2047 :
2048 : #if RK3_ENABLED
2049 0 : module procedure getMatMulTraceLog_RDP_XXX_RK3
2050 : use pm_kind, only: RKC => RK3
2051 : #include "pm_matrixTrace@routines.inc.F90"
2052 0 : end procedure
2053 : #endif
2054 :
2055 : #if RK2_ENABLED
2056 0 : module procedure getMatMulTraceLog_RDP_XXX_RK2
2057 : use pm_kind, only: RKC => RK2
2058 : #include "pm_matrixTrace@routines.inc.F90"
2059 0 : end procedure
2060 : #endif
2061 :
2062 : #if RK1_ENABLED
2063 0 : module procedure getMatMulTraceLog_RDP_XXX_RK1
2064 : use pm_kind, only: RKC => RK1
2065 : #include "pm_matrixTrace@routines.inc.F90"
2066 0 : end procedure
2067 : #endif
2068 :
2069 : #undef RK_ENABLED
2070 :
2071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2072 :
2073 : #undef XXX_ENABLED
2074 :
2075 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2076 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2077 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2078 :
2079 : #undef RDP_ENABLED
2080 :
2081 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2082 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2083 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2084 :
2085 : #define RFP_ENABLED 1
2086 :
2087 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2088 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2089 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2090 :
2091 : #define UXD_ENABLED 1
2092 :
2093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2094 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2095 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2096 :
2097 : #define IK_ENABLED 1
2098 :
2099 : #if IK5_ENABLED
2100 0 : module procedure getMatMulTraceLog_RFP_UXD_IK5
2101 : use pm_kind, only: IKC => IK5
2102 : #include "pm_matrixTrace@routines.inc.F90"
2103 0 : end procedure
2104 : #endif
2105 :
2106 : #if IK4_ENABLED
2107 0 : module procedure getMatMulTraceLog_RFP_UXD_IK4
2108 : use pm_kind, only: IKC => IK4
2109 : #include "pm_matrixTrace@routines.inc.F90"
2110 0 : end procedure
2111 : #endif
2112 :
2113 : #if IK3_ENABLED
2114 0 : module procedure getMatMulTraceLog_RFP_UXD_IK3
2115 : use pm_kind, only: IKC => IK3
2116 : #include "pm_matrixTrace@routines.inc.F90"
2117 0 : end procedure
2118 : #endif
2119 :
2120 : #if IK2_ENABLED
2121 0 : module procedure getMatMulTraceLog_RFP_UXD_IK2
2122 : use pm_kind, only: IKC => IK2
2123 : #include "pm_matrixTrace@routines.inc.F90"
2124 0 : end procedure
2125 : #endif
2126 :
2127 : #if IK1_ENABLED
2128 0 : module procedure getMatMulTraceLog_RFP_UXD_IK1
2129 : use pm_kind, only: IKC => IK1
2130 : #include "pm_matrixTrace@routines.inc.F90"
2131 0 : end procedure
2132 : #endif
2133 :
2134 : #undef IK_ENABLED
2135 :
2136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2137 :
2138 : #define CK_ENABLED 1
2139 :
2140 : #if CK5_ENABLED
2141 : module procedure getMatMulTraceLog_RFP_UXD_CK5
2142 : use pm_kind, only: CKC => CK5
2143 : #include "pm_matrixTrace@routines.inc.F90"
2144 : end procedure
2145 : #endif
2146 :
2147 : #if CK4_ENABLED
2148 0 : module procedure getMatMulTraceLog_RFP_UXD_CK4
2149 : use pm_kind, only: CKC => CK4
2150 : #include "pm_matrixTrace@routines.inc.F90"
2151 0 : end procedure
2152 : #endif
2153 :
2154 : #if CK3_ENABLED
2155 0 : module procedure getMatMulTraceLog_RFP_UXD_CK3
2156 : use pm_kind, only: CKC => CK3
2157 : #include "pm_matrixTrace@routines.inc.F90"
2158 0 : end procedure
2159 : #endif
2160 :
2161 : #if CK2_ENABLED
2162 0 : module procedure getMatMulTraceLog_RFP_UXD_CK2
2163 : use pm_kind, only: CKC => CK2
2164 : #include "pm_matrixTrace@routines.inc.F90"
2165 0 : end procedure
2166 : #endif
2167 :
2168 : #if CK1_ENABLED
2169 0 : module procedure getMatMulTraceLog_RFP_UXD_CK1
2170 : use pm_kind, only: CKC => CK1
2171 : #include "pm_matrixTrace@routines.inc.F90"
2172 0 : end procedure
2173 : #endif
2174 :
2175 : #undef CK_ENABLED
2176 :
2177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2178 :
2179 : #define RK_ENABLED 1
2180 :
2181 : #if RK5_ENABLED
2182 : module procedure getMatMulTraceLog_RFP_UXD_RK5
2183 : use pm_kind, only: RKC => RK5
2184 : #include "pm_matrixTrace@routines.inc.F90"
2185 : end procedure
2186 : #endif
2187 :
2188 : #if RK4_ENABLED
2189 0 : module procedure getMatMulTraceLog_RFP_UXD_RK4
2190 : use pm_kind, only: RKC => RK4
2191 : #include "pm_matrixTrace@routines.inc.F90"
2192 0 : end procedure
2193 : #endif
2194 :
2195 : #if RK3_ENABLED
2196 0 : module procedure getMatMulTraceLog_RFP_UXD_RK3
2197 : use pm_kind, only: RKC => RK3
2198 : #include "pm_matrixTrace@routines.inc.F90"
2199 0 : end procedure
2200 : #endif
2201 :
2202 : #if RK2_ENABLED
2203 0 : module procedure getMatMulTraceLog_RFP_UXD_RK2
2204 : use pm_kind, only: RKC => RK2
2205 : #include "pm_matrixTrace@routines.inc.F90"
2206 0 : end procedure
2207 : #endif
2208 :
2209 : #if RK1_ENABLED
2210 0 : module procedure getMatMulTraceLog_RFP_UXD_RK1
2211 : use pm_kind, only: RKC => RK1
2212 : #include "pm_matrixTrace@routines.inc.F90"
2213 0 : end procedure
2214 : #endif
2215 :
2216 : #undef RK_ENABLED
2217 :
2218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2219 :
2220 : #undef UXD_ENABLED
2221 :
2222 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2223 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2224 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2225 :
2226 : #define XLD_ENABLED 1
2227 :
2228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2230 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2231 :
2232 : #define IK_ENABLED 1
2233 :
2234 : #if IK5_ENABLED
2235 0 : module procedure getMatMulTraceLog_RFP_XLD_IK5
2236 : use pm_kind, only: IKC => IK5
2237 : #include "pm_matrixTrace@routines.inc.F90"
2238 0 : end procedure
2239 : #endif
2240 :
2241 : #if IK4_ENABLED
2242 0 : module procedure getMatMulTraceLog_RFP_XLD_IK4
2243 : use pm_kind, only: IKC => IK4
2244 : #include "pm_matrixTrace@routines.inc.F90"
2245 0 : end procedure
2246 : #endif
2247 :
2248 : #if IK3_ENABLED
2249 0 : module procedure getMatMulTraceLog_RFP_XLD_IK3
2250 : use pm_kind, only: IKC => IK3
2251 : #include "pm_matrixTrace@routines.inc.F90"
2252 0 : end procedure
2253 : #endif
2254 :
2255 : #if IK2_ENABLED
2256 0 : module procedure getMatMulTraceLog_RFP_XLD_IK2
2257 : use pm_kind, only: IKC => IK2
2258 : #include "pm_matrixTrace@routines.inc.F90"
2259 0 : end procedure
2260 : #endif
2261 :
2262 : #if IK1_ENABLED
2263 0 : module procedure getMatMulTraceLog_RFP_XLD_IK1
2264 : use pm_kind, only: IKC => IK1
2265 : #include "pm_matrixTrace@routines.inc.F90"
2266 0 : end procedure
2267 : #endif
2268 :
2269 : #undef IK_ENABLED
2270 :
2271 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2272 :
2273 : #define CK_ENABLED 1
2274 :
2275 : #if CK5_ENABLED
2276 : module procedure getMatMulTraceLog_RFP_XLD_CK5
2277 : use pm_kind, only: CKC => CK5
2278 : #include "pm_matrixTrace@routines.inc.F90"
2279 : end procedure
2280 : #endif
2281 :
2282 : #if CK4_ENABLED
2283 0 : module procedure getMatMulTraceLog_RFP_XLD_CK4
2284 : use pm_kind, only: CKC => CK4
2285 : #include "pm_matrixTrace@routines.inc.F90"
2286 0 : end procedure
2287 : #endif
2288 :
2289 : #if CK3_ENABLED
2290 0 : module procedure getMatMulTraceLog_RFP_XLD_CK3
2291 : use pm_kind, only: CKC => CK3
2292 : #include "pm_matrixTrace@routines.inc.F90"
2293 0 : end procedure
2294 : #endif
2295 :
2296 : #if CK2_ENABLED
2297 0 : module procedure getMatMulTraceLog_RFP_XLD_CK2
2298 : use pm_kind, only: CKC => CK2
2299 : #include "pm_matrixTrace@routines.inc.F90"
2300 0 : end procedure
2301 : #endif
2302 :
2303 : #if CK1_ENABLED
2304 0 : module procedure getMatMulTraceLog_RFP_XLD_CK1
2305 : use pm_kind, only: CKC => CK1
2306 : #include "pm_matrixTrace@routines.inc.F90"
2307 0 : end procedure
2308 : #endif
2309 :
2310 : #undef CK_ENABLED
2311 :
2312 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2313 :
2314 : #define RK_ENABLED 1
2315 :
2316 : #if RK5_ENABLED
2317 : module procedure getMatMulTraceLog_RFP_XLD_RK5
2318 : use pm_kind, only: RKC => RK5
2319 : #include "pm_matrixTrace@routines.inc.F90"
2320 : end procedure
2321 : #endif
2322 :
2323 : #if RK4_ENABLED
2324 0 : module procedure getMatMulTraceLog_RFP_XLD_RK4
2325 : use pm_kind, only: RKC => RK4
2326 : #include "pm_matrixTrace@routines.inc.F90"
2327 0 : end procedure
2328 : #endif
2329 :
2330 : #if RK3_ENABLED
2331 0 : module procedure getMatMulTraceLog_RFP_XLD_RK3
2332 : use pm_kind, only: RKC => RK3
2333 : #include "pm_matrixTrace@routines.inc.F90"
2334 0 : end procedure
2335 : #endif
2336 :
2337 : #if RK2_ENABLED
2338 0 : module procedure getMatMulTraceLog_RFP_XLD_RK2
2339 : use pm_kind, only: RKC => RK2
2340 : #include "pm_matrixTrace@routines.inc.F90"
2341 0 : end procedure
2342 : #endif
2343 :
2344 : #if RK1_ENABLED
2345 0 : module procedure getMatMulTraceLog_RFP_XLD_RK1
2346 : use pm_kind, only: RKC => RK1
2347 : #include "pm_matrixTrace@routines.inc.F90"
2348 0 : end procedure
2349 : #endif
2350 :
2351 : #undef RK_ENABLED
2352 :
2353 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2354 :
2355 : #undef XLD_ENABLED
2356 :
2357 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2358 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2359 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2360 :
2361 : #undef RFP_ENABLED
2362 :
2363 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2365 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2366 :
2367 : #define LFP_ENABLED 1
2368 :
2369 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2370 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2371 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2372 :
2373 : #define UXD_ENABLED 1
2374 :
2375 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2376 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2377 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2378 :
2379 : #define IK_ENABLED 1
2380 :
2381 : #if IK5_ENABLED
2382 0 : module procedure getMatMulTraceLog_LFP_UXD_IK5
2383 : use pm_kind, only: IKC => IK5
2384 : #include "pm_matrixTrace@routines.inc.F90"
2385 0 : end procedure
2386 : #endif
2387 :
2388 : #if IK4_ENABLED
2389 0 : module procedure getMatMulTraceLog_LFP_UXD_IK4
2390 : use pm_kind, only: IKC => IK4
2391 : #include "pm_matrixTrace@routines.inc.F90"
2392 0 : end procedure
2393 : #endif
2394 :
2395 : #if IK3_ENABLED
2396 0 : module procedure getMatMulTraceLog_LFP_UXD_IK3
2397 : use pm_kind, only: IKC => IK3
2398 : #include "pm_matrixTrace@routines.inc.F90"
2399 0 : end procedure
2400 : #endif
2401 :
2402 : #if IK2_ENABLED
2403 0 : module procedure getMatMulTraceLog_LFP_UXD_IK2
2404 : use pm_kind, only: IKC => IK2
2405 : #include "pm_matrixTrace@routines.inc.F90"
2406 0 : end procedure
2407 : #endif
2408 :
2409 : #if IK1_ENABLED
2410 0 : module procedure getMatMulTraceLog_LFP_UXD_IK1
2411 : use pm_kind, only: IKC => IK1
2412 : #include "pm_matrixTrace@routines.inc.F90"
2413 0 : end procedure
2414 : #endif
2415 :
2416 : #undef IK_ENABLED
2417 :
2418 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2419 :
2420 : #define CK_ENABLED 1
2421 :
2422 : #if CK5_ENABLED
2423 : module procedure getMatMulTraceLog_LFP_UXD_CK5
2424 : use pm_kind, only: CKC => CK5
2425 : #include "pm_matrixTrace@routines.inc.F90"
2426 : end procedure
2427 : #endif
2428 :
2429 : #if CK4_ENABLED
2430 0 : module procedure getMatMulTraceLog_LFP_UXD_CK4
2431 : use pm_kind, only: CKC => CK4
2432 : #include "pm_matrixTrace@routines.inc.F90"
2433 0 : end procedure
2434 : #endif
2435 :
2436 : #if CK3_ENABLED
2437 0 : module procedure getMatMulTraceLog_LFP_UXD_CK3
2438 : use pm_kind, only: CKC => CK3
2439 : #include "pm_matrixTrace@routines.inc.F90"
2440 0 : end procedure
2441 : #endif
2442 :
2443 : #if CK2_ENABLED
2444 0 : module procedure getMatMulTraceLog_LFP_UXD_CK2
2445 : use pm_kind, only: CKC => CK2
2446 : #include "pm_matrixTrace@routines.inc.F90"
2447 0 : end procedure
2448 : #endif
2449 :
2450 : #if CK1_ENABLED
2451 0 : module procedure getMatMulTraceLog_LFP_UXD_CK1
2452 : use pm_kind, only: CKC => CK1
2453 : #include "pm_matrixTrace@routines.inc.F90"
2454 0 : end procedure
2455 : #endif
2456 :
2457 : #undef CK_ENABLED
2458 :
2459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2460 :
2461 : #define RK_ENABLED 1
2462 :
2463 : #if RK5_ENABLED
2464 : module procedure getMatMulTraceLog_LFP_UXD_RK5
2465 : use pm_kind, only: RKC => RK5
2466 : #include "pm_matrixTrace@routines.inc.F90"
2467 : end procedure
2468 : #endif
2469 :
2470 : #if RK4_ENABLED
2471 0 : module procedure getMatMulTraceLog_LFP_UXD_RK4
2472 : use pm_kind, only: RKC => RK4
2473 : #include "pm_matrixTrace@routines.inc.F90"
2474 0 : end procedure
2475 : #endif
2476 :
2477 : #if RK3_ENABLED
2478 0 : module procedure getMatMulTraceLog_LFP_UXD_RK3
2479 : use pm_kind, only: RKC => RK3
2480 : #include "pm_matrixTrace@routines.inc.F90"
2481 0 : end procedure
2482 : #endif
2483 :
2484 : #if RK2_ENABLED
2485 0 : module procedure getMatMulTraceLog_LFP_UXD_RK2
2486 : use pm_kind, only: RKC => RK2
2487 : #include "pm_matrixTrace@routines.inc.F90"
2488 0 : end procedure
2489 : #endif
2490 :
2491 : #if RK1_ENABLED
2492 0 : module procedure getMatMulTraceLog_LFP_UXD_RK1
2493 : use pm_kind, only: RKC => RK1
2494 : #include "pm_matrixTrace@routines.inc.F90"
2495 0 : end procedure
2496 : #endif
2497 :
2498 : #undef RK_ENABLED
2499 :
2500 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2501 :
2502 : #undef UXD_ENABLED
2503 :
2504 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2505 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2506 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2507 :
2508 : #define XLD_ENABLED 1
2509 :
2510 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2511 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2512 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2513 :
2514 : #define IK_ENABLED 1
2515 :
2516 : #if IK5_ENABLED
2517 0 : module procedure getMatMulTraceLog_LFP_XLD_IK5
2518 : use pm_kind, only: IKC => IK5
2519 : #include "pm_matrixTrace@routines.inc.F90"
2520 0 : end procedure
2521 : #endif
2522 :
2523 : #if IK4_ENABLED
2524 0 : module procedure getMatMulTraceLog_LFP_XLD_IK4
2525 : use pm_kind, only: IKC => IK4
2526 : #include "pm_matrixTrace@routines.inc.F90"
2527 0 : end procedure
2528 : #endif
2529 :
2530 : #if IK3_ENABLED
2531 5 : module procedure getMatMulTraceLog_LFP_XLD_IK3
2532 : use pm_kind, only: IKC => IK3
2533 : #include "pm_matrixTrace@routines.inc.F90"
2534 5 : end procedure
2535 : #endif
2536 :
2537 : #if IK2_ENABLED
2538 0 : module procedure getMatMulTraceLog_LFP_XLD_IK2
2539 : use pm_kind, only: IKC => IK2
2540 : #include "pm_matrixTrace@routines.inc.F90"
2541 0 : end procedure
2542 : #endif
2543 :
2544 : #if IK1_ENABLED
2545 0 : module procedure getMatMulTraceLog_LFP_XLD_IK1
2546 : use pm_kind, only: IKC => IK1
2547 : #include "pm_matrixTrace@routines.inc.F90"
2548 0 : end procedure
2549 : #endif
2550 :
2551 : #undef IK_ENABLED
2552 :
2553 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2554 :
2555 : #define CK_ENABLED 1
2556 :
2557 : #if CK5_ENABLED
2558 : module procedure getMatMulTraceLog_LFP_XLD_CK5
2559 : use pm_kind, only: CKC => CK5
2560 : #include "pm_matrixTrace@routines.inc.F90"
2561 : end procedure
2562 : #endif
2563 :
2564 : #if CK4_ENABLED
2565 0 : module procedure getMatMulTraceLog_LFP_XLD_CK4
2566 : use pm_kind, only: CKC => CK4
2567 : #include "pm_matrixTrace@routines.inc.F90"
2568 0 : end procedure
2569 : #endif
2570 :
2571 : #if CK3_ENABLED
2572 0 : module procedure getMatMulTraceLog_LFP_XLD_CK3
2573 : use pm_kind, only: CKC => CK3
2574 : #include "pm_matrixTrace@routines.inc.F90"
2575 0 : end procedure
2576 : #endif
2577 :
2578 : #if CK2_ENABLED
2579 0 : module procedure getMatMulTraceLog_LFP_XLD_CK2
2580 : use pm_kind, only: CKC => CK2
2581 : #include "pm_matrixTrace@routines.inc.F90"
2582 0 : end procedure
2583 : #endif
2584 :
2585 : #if CK1_ENABLED
2586 0 : module procedure getMatMulTraceLog_LFP_XLD_CK1
2587 : use pm_kind, only: CKC => CK1
2588 : #include "pm_matrixTrace@routines.inc.F90"
2589 0 : end procedure
2590 : #endif
2591 :
2592 : #undef CK_ENABLED
2593 :
2594 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2595 :
2596 : #define RK_ENABLED 1
2597 :
2598 : #if RK5_ENABLED
2599 : module procedure getMatMulTraceLog_LFP_XLD_RK5
2600 : use pm_kind, only: RKC => RK5
2601 : #include "pm_matrixTrace@routines.inc.F90"
2602 : end procedure
2603 : #endif
2604 :
2605 : #if RK4_ENABLED
2606 0 : module procedure getMatMulTraceLog_LFP_XLD_RK4
2607 : use pm_kind, only: RKC => RK4
2608 : #include "pm_matrixTrace@routines.inc.F90"
2609 0 : end procedure
2610 : #endif
2611 :
2612 : #if RK3_ENABLED
2613 0 : module procedure getMatMulTraceLog_LFP_XLD_RK3
2614 : use pm_kind, only: RKC => RK3
2615 : #include "pm_matrixTrace@routines.inc.F90"
2616 0 : end procedure
2617 : #endif
2618 :
2619 : #if RK2_ENABLED
2620 0 : module procedure getMatMulTraceLog_LFP_XLD_RK2
2621 : use pm_kind, only: RKC => RK2
2622 : #include "pm_matrixTrace@routines.inc.F90"
2623 0 : end procedure
2624 : #endif
2625 :
2626 : #if RK1_ENABLED
2627 0 : module procedure getMatMulTraceLog_LFP_XLD_RK1
2628 : use pm_kind, only: RKC => RK1
2629 : #include "pm_matrixTrace@routines.inc.F90"
2630 0 : end procedure
2631 : #endif
2632 :
2633 : #undef RK_ENABLED
2634 :
2635 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2636 :
2637 : #undef XLD_ENABLED
2638 :
2639 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2640 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2641 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2642 :
2643 : #undef LFP_ENABLED
2644 :
2645 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2646 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2647 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2648 :
2649 : #undef getMatMulTraceLog_ENABLED
2650 :
2651 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2652 :
2653 : #undef CHECK_ASSERTION
2654 :
2655 : end submodule routines
|