ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixTrace.F90
Go to the documentation of this file.
1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3!!!! !!!!
4!!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5!!!! !!!!
6!!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7!!!! !!!!
8!!!! This file is part of the ParaMonte library. !!!!
9!!!! !!!!
10!!!! LICENSE !!!!
11!!!! !!!!
12!!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13!!!! !!!!
14!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
66
67!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68
70
71 use pm_kind, only: SK, IK, RKD
77
78 implicit none
79
80 character(*,SK), parameter :: MODULE_NAME = "@pm_matrixPack"
81
82!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83
161 interface getMatTrace
162
163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166
167 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170
171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172
173#if IK5_ENABLED
174 PURE module function getMatTrace_DEF_XXX_IK5(mat) result(trace)
175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
176 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_IK5
177#endif
178 use pm_kind, only: IKG => IK5
179 integer(IKG) , intent(in) :: mat(:,:)
180 integer(IKG) :: trace
181 end function
182#endif
183
184#if IK4_ENABLED
185 PURE module function getMatTrace_DEF_XXX_IK4(mat) result(trace)
186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
187 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_IK4
188#endif
189 use pm_kind, only: IKG => IK4
190 integer(IKG) , intent(in) :: mat(:,:)
191 integer(IKG) :: trace
192 end function
193#endif
194
195#if IK3_ENABLED
196 PURE module function getMatTrace_DEF_XXX_IK3(mat) result(trace)
197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
198 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_IK3
199#endif
200 use pm_kind, only: IKG => IK3
201 integer(IKG) , intent(in) :: mat(:,:)
202 integer(IKG) :: trace
203 end function
204#endif
205
206#if IK2_ENABLED
207 PURE module function getMatTrace_DEF_XXX_IK2(mat) result(trace)
208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
209 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_IK2
210#endif
211 use pm_kind, only: IKG => IK2
212 integer(IKG) , intent(in) :: mat(:,:)
213 integer(IKG) :: trace
214 end function
215#endif
216
217#if IK1_ENABLED
218 PURE module function getMatTrace_DEF_XXX_IK1(mat) result(trace)
219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
220 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_IK1
221#endif
222 use pm_kind, only: IKG => IK1
223 integer(IKG) , intent(in) :: mat(:,:)
224 integer(IKG) :: trace
225 end function
226#endif
227
228 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229
230#if CK5_ENABLED
231 PURE module function getMatTrace_DEF_XXX_CK5(mat) result(trace)
232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
233 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_CK5
234#endif
235 use pm_kind, only: CKG => CK5
236 complex(CKG) , intent(in) :: mat(:,:)
237 complex(CKG) :: trace
238 end function
239#endif
240
241#if CK4_ENABLED
242 PURE module function getMatTrace_DEF_XXX_CK4(mat) result(trace)
243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
244 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_CK4
245#endif
246 use pm_kind, only: CKG => CK4
247 complex(CKG) , intent(in) :: mat(:,:)
248 complex(CKG) :: trace
249 end function
250#endif
251
252#if CK3_ENABLED
253 PURE module function getMatTrace_DEF_XXX_CK3(mat) result(trace)
254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
255 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_CK3
256#endif
257 use pm_kind, only: CKG => CK3
258 complex(CKG) , intent(in) :: mat(:,:)
259 complex(CKG) :: trace
260 end function
261#endif
262
263#if CK2_ENABLED
264 PURE module function getMatTrace_DEF_XXX_CK2(mat) result(trace)
265#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
266 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_CK2
267#endif
268 use pm_kind, only: CKG => CK2
269 complex(CKG) , intent(in) :: mat(:,:)
270 complex(CKG) :: trace
271 end function
272#endif
273
274#if CK1_ENABLED
275 PURE module function getMatTrace_DEF_XXX_CK1(mat) result(trace)
276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
277 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_CK1
278#endif
279 use pm_kind, only: CKG => CK1
280 complex(CKG) , intent(in) :: mat(:,:)
281 complex(CKG) :: trace
282 end function
283#endif
284
285 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
286
287#if RK5_ENABLED
288 PURE module function getMatTrace_DEF_XXX_RK5(mat) result(trace)
289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
290 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_RK5
291#endif
292 use pm_kind, only: RKG => RK5
293 real(RKG) , intent(in) :: mat(:,:)
294 real(RKG) :: trace
295 end function
296#endif
297
298#if RK4_ENABLED
299 PURE module function getMatTrace_DEF_XXX_RK4(mat) result(trace)
300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
301 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_RK4
302#endif
303 use pm_kind, only: RKG => RK4
304 real(RKG) , intent(in) :: mat(:,:)
305 real(RKG) :: trace
306 end function
307#endif
308
309#if RK3_ENABLED
310 PURE module function getMatTrace_DEF_XXX_RK3(mat) result(trace)
311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
312 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_RK3
313#endif
314 use pm_kind, only: RKG => RK3
315 real(RKG) , intent(in) :: mat(:,:)
316 real(RKG) :: trace
317 end function
318#endif
319
320#if RK2_ENABLED
321 PURE module function getMatTrace_DEF_XXX_RK2(mat) result(trace)
322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
323 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_RK2
324#endif
325 use pm_kind, only: RKG => RK2
326 real(RKG) , intent(in) :: mat(:,:)
327 real(RKG) :: trace
328 end function
329#endif
330
331#if RK1_ENABLED
332 PURE module function getMatTrace_DEF_XXX_RK1(mat) result(trace)
333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
334 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_DEF_XXX_RK1
335#endif
336 use pm_kind, only: RKG => RK1
337 real(RKG) , intent(in) :: mat(:,:)
338 real(RKG) :: trace
339 end function
340#endif
341
342 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
343
344 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347
348 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
349 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351
352 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353
354#if IK5_ENABLED
355 PURE module function getMatTrace_RDP_XXX_IK5(mat, pack) result(trace)
356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
357 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_IK5
358#endif
359 use pm_kind, only: IKG => IK5
360 integer(IKG) , intent(in) :: mat(:,:)
361 type(rdpack_type) , intent(in) :: pack
362 integer(IKG) :: trace
363 end function
364#endif
365
366#if IK4_ENABLED
367 PURE module function getMatTrace_RDP_XXX_IK4(mat, pack) result(trace)
368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
369 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_IK4
370#endif
371 use pm_kind, only: IKG => IK4
372 integer(IKG) , intent(in) :: mat(:,:)
373 type(rdpack_type) , intent(in) :: pack
374 integer(IKG) :: trace
375 end function
376#endif
377
378#if IK3_ENABLED
379 PURE module function getMatTrace_RDP_XXX_IK3(mat, pack) result(trace)
380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
381 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_IK3
382#endif
383 use pm_kind, only: IKG => IK3
384 integer(IKG) , intent(in) :: mat(:,:)
385 type(rdpack_type) , intent(in) :: pack
386 integer(IKG) :: trace
387 end function
388#endif
389
390#if IK2_ENABLED
391 PURE module function getMatTrace_RDP_XXX_IK2(mat, pack) result(trace)
392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
393 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_IK2
394#endif
395 use pm_kind, only: IKG => IK2
396 integer(IKG) , intent(in) :: mat(:,:)
397 type(rdpack_type) , intent(in) :: pack
398 integer(IKG) :: trace
399 end function
400#endif
401
402#if IK1_ENABLED
403 PURE module function getMatTrace_RDP_XXX_IK1(mat, pack) result(trace)
404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
405 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_IK1
406#endif
407 use pm_kind, only: IKG => IK1
408 integer(IKG) , intent(in) :: mat(:,:)
409 type(rdpack_type) , intent(in) :: pack
410 integer(IKG) :: trace
411 end function
412#endif
413
414 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
415
416#if CK5_ENABLED
417 PURE module function getMatTrace_RDP_XXX_CK5(mat, pack) result(trace)
418#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
419 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_CK5
420#endif
421 use pm_kind, only: CKG => CK5
422 complex(CKG) , intent(in) :: mat(:,:)
423 type(rdpack_type) , intent(in) :: pack
424 complex(CKG) :: trace
425 end function
426#endif
427
428#if CK4_ENABLED
429 PURE module function getMatTrace_RDP_XXX_CK4(mat, pack) result(trace)
430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
431 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_CK4
432#endif
433 use pm_kind, only: CKG => CK4
434 complex(CKG) , intent(in) :: mat(:,:)
435 type(rdpack_type) , intent(in) :: pack
436 complex(CKG) :: trace
437 end function
438#endif
439
440#if CK3_ENABLED
441 PURE module function getMatTrace_RDP_XXX_CK3(mat, pack) result(trace)
442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
443 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_CK3
444#endif
445 use pm_kind, only: CKG => CK3
446 complex(CKG) , intent(in) :: mat(:,:)
447 type(rdpack_type) , intent(in) :: pack
448 complex(CKG) :: trace
449 end function
450#endif
451
452#if CK2_ENABLED
453 PURE module function getMatTrace_RDP_XXX_CK2(mat, pack) result(trace)
454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
455 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_CK2
456#endif
457 use pm_kind, only: CKG => CK2
458 complex(CKG) , intent(in) :: mat(:,:)
459 type(rdpack_type) , intent(in) :: pack
460 complex(CKG) :: trace
461 end function
462#endif
463
464#if CK1_ENABLED
465 PURE module function getMatTrace_RDP_XXX_CK1(mat, pack) result(trace)
466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
467 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_CK1
468#endif
469 use pm_kind, only: CKG => CK1
470 complex(CKG) , intent(in) :: mat(:,:)
471 type(rdpack_type) , intent(in) :: pack
472 complex(CKG) :: trace
473 end function
474#endif
475
476 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
477
478#if RK5_ENABLED
479 PURE module function getMatTrace_RDP_XXX_RK5(mat, pack) result(trace)
480#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
481 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_RK5
482#endif
483 use pm_kind, only: RKG => RK5
484 real(RKG) , intent(in) :: mat(:,:)
485 real(RKG) :: trace
486 type(rdpack_type) , intent(in) :: pack
487 end function
488#endif
489
490#if RK4_ENABLED
491 PURE module function getMatTrace_RDP_XXX_RK4(mat, pack) result(trace)
492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
493 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_RK4
494#endif
495 use pm_kind, only: RKG => RK4
496 real(RKG) , intent(in) :: mat(:,:)
497 type(rdpack_type) , intent(in) :: pack
498 real(RKG) :: trace
499 end function
500#endif
501
502#if RK3_ENABLED
503 PURE module function getMatTrace_RDP_XXX_RK3(mat, pack) result(trace)
504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
505 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_RK3
506#endif
507 use pm_kind, only: RKG => RK3
508 real(RKG) , intent(in) :: mat(:,:)
509 type(rdpack_type) , intent(in) :: pack
510 real(RKG) :: trace
511 end function
512#endif
513
514#if RK2_ENABLED
515 PURE module function getMatTrace_RDP_XXX_RK2(mat, pack) result(trace)
516#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
517 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_RK2
518#endif
519 use pm_kind, only: RKG => RK2
520 real(RKG) , intent(in) :: mat(:,:)
521 type(rdpack_type) , intent(in) :: pack
522 real(RKG) :: trace
523 end function
524#endif
525
526#if RK1_ENABLED
527 PURE module function getMatTrace_RDP_XXX_RK1(mat, pack) result(trace)
528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
529 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RDP_XXX_RK1
530#endif
531 use pm_kind, only: RKG => RK1
532 real(RKG) , intent(in) :: mat(:,:)
533 type(rdpack_type) , intent(in) :: pack
534 real(RKG) :: trace
535 end function
536#endif
537
538 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539
540 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
541 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543
544 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547
548 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549
550#if IK5_ENABLED
551 PURE module function getMatTrace_RFP_UXD_IK5(mat, pack, subset) result(trace)
552#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
553 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_IK5
554#endif
555 use pm_kind, only: IKG => IK5
556 integer(IKG) :: trace
557 integer(IKG) , intent(in) :: mat(:,:)
558 type(rfpack_type) , intent(in) :: pack
559 type(uppDia_type) , intent(in) :: subset
560 end function
561#endif
562
563#if IK4_ENABLED
564 PURE module function getMatTrace_RFP_UXD_IK4(mat, pack, subset) result(trace)
565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
566 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_IK4
567#endif
568 use pm_kind, only: IKG => IK4
569 integer(IKG) :: trace
570 integer(IKG) , intent(in) :: mat(:,:)
571 type(rfpack_type) , intent(in) :: pack
572 type(uppDia_type) , intent(in) :: subset
573 end function
574#endif
575
576#if IK3_ENABLED
577 PURE module function getMatTrace_RFP_UXD_IK3(mat, pack, subset) result(trace)
578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
579 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_IK3
580#endif
581 use pm_kind, only: IKG => IK3
582 integer(IKG) :: trace
583 integer(IKG) , intent(in) :: mat(:,:)
584 type(rfpack_type) , intent(in) :: pack
585 type(uppDia_type) , intent(in) :: subset
586 end function
587#endif
588
589#if IK2_ENABLED
590 PURE module function getMatTrace_RFP_UXD_IK2(mat, pack, subset) result(trace)
591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
592 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_IK2
593#endif
594 use pm_kind, only: IKG => IK2
595 integer(IKG) :: trace
596 integer(IKG) , intent(in) :: mat(:,:)
597 type(rfpack_type) , intent(in) :: pack
598 type(uppDia_type) , intent(in) :: subset
599 end function
600#endif
601
602#if IK1_ENABLED
603 PURE module function getMatTrace_RFP_UXD_IK1(mat, pack, subset) result(trace)
604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
605 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_IK1
606#endif
607 use pm_kind, only: IKG => IK1
608 integer(IKG) :: trace
609 integer(IKG) , intent(in) :: mat(:,:)
610 type(rfpack_type) , intent(in) :: pack
611 type(uppDia_type) , intent(in) :: subset
612 end function
613#endif
614
615 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
616
617#if CK5_ENABLED
618 PURE module function getMatTrace_RFP_UXD_CK5(mat, pack, subset) result(trace)
619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
620 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_CK5
621#endif
622 use pm_kind, only: CKG => CK5
623 complex(CKG) :: trace
624 complex(CKG) , intent(in) :: mat(:,:)
625 type(rfpack_type) , intent(in) :: pack
626 type(uppDia_type) , intent(in) :: subset
627 end function
628#endif
629
630#if CK4_ENABLED
631 PURE module function getMatTrace_RFP_UXD_CK4(mat, pack, subset) result(trace)
632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
633 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_CK4
634#endif
635 use pm_kind, only: CKG => CK4
636 complex(CKG) :: trace
637 complex(CKG) , intent(in) :: mat(:,:)
638 type(rfpack_type) , intent(in) :: pack
639 type(uppDia_type) , intent(in) :: subset
640 end function
641#endif
642
643#if CK3_ENABLED
644 PURE module function getMatTrace_RFP_UXD_CK3(mat, pack, subset) result(trace)
645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
646 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_CK3
647#endif
648 use pm_kind, only: CKG => CK3
649 complex(CKG) :: trace
650 complex(CKG) , intent(in) :: mat(:,:)
651 type(rfpack_type) , intent(in) :: pack
652 type(uppDia_type) , intent(in) :: subset
653 end function
654#endif
655
656#if CK2_ENABLED
657 PURE module function getMatTrace_RFP_UXD_CK2(mat, pack, subset) result(trace)
658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
659 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_CK2
660#endif
661 use pm_kind, only: CKG => CK2
662 complex(CKG) :: trace
663 complex(CKG) , intent(in) :: mat(:,:)
664 type(rfpack_type) , intent(in) :: pack
665 type(uppDia_type) , intent(in) :: subset
666 end function
667#endif
668
669#if CK1_ENABLED
670 PURE module function getMatTrace_RFP_UXD_CK1(mat, pack, subset) result(trace)
671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
672 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_CK1
673#endif
674 use pm_kind, only: CKG => CK1
675 complex(CKG) :: trace
676 complex(CKG) , intent(in) :: mat(:,:)
677 type(rfpack_type) , intent(in) :: pack
678 type(uppDia_type) , intent(in) :: subset
679 end function
680#endif
681
682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683
684#if RK5_ENABLED
685 PURE module function getMatTrace_RFP_UXD_RK5(mat, pack, subset) result(trace)
686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
687 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_RK5
688#endif
689 use pm_kind, only: RKG => RK5
690 real(RKG) :: trace
691 real(RKG) , intent(in) :: mat(:,:)
692 type(rfpack_type) , intent(in) :: pack
693 type(uppDia_type) , intent(in) :: subset
694 end function
695#endif
696
697#if RK4_ENABLED
698 PURE module function getMatTrace_RFP_UXD_RK4(mat, pack, subset) result(trace)
699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
700 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_RK4
701#endif
702 use pm_kind, only: RKG => RK4
703 real(RKG) :: trace
704 real(RKG) , intent(in) :: mat(:,:)
705 type(rfpack_type) , intent(in) :: pack
706 type(uppDia_type) , intent(in) :: subset
707 end function
708#endif
709
710#if RK3_ENABLED
711 PURE module function getMatTrace_RFP_UXD_RK3(mat, pack, subset) result(trace)
712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
713 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_RK3
714#endif
715 use pm_kind, only: RKG => RK3
716 real(RKG) :: trace
717 real(RKG) , intent(in) :: mat(:,:)
718 type(rfpack_type) , intent(in) :: pack
719 type(uppDia_type) , intent(in) :: subset
720 end function
721#endif
722
723#if RK2_ENABLED
724 PURE module function getMatTrace_RFP_UXD_RK2(mat, pack, subset) result(trace)
725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
726 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_RK2
727#endif
728 use pm_kind, only: RKG => RK2
729 real(RKG) :: trace
730 real(RKG) , intent(in) :: mat(:,:)
731 type(rfpack_type) , intent(in) :: pack
732 type(uppDia_type) , intent(in) :: subset
733 end function
734#endif
735
736#if RK1_ENABLED
737 PURE module function getMatTrace_RFP_UXD_RK1(mat, pack, subset) result(trace)
738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
739 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_UXD_RK1
740#endif
741 use pm_kind, only: RKG => RK1
742 real(RKG) :: trace
743 real(RKG) , intent(in) :: mat(:,:)
744 type(rfpack_type) , intent(in) :: pack
745 type(uppDia_type) , intent(in) :: subset
746 end function
747#endif
748
749 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
750
751 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
753 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
754
755 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756
757#if IK5_ENABLED
758 PURE module function getMatTrace_RFP_XLD_IK5(mat, pack, subset) result(trace)
759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
760 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_IK5
761#endif
762 use pm_kind, only: IKG => IK5
763 integer(IKG) :: trace
764 integer(IKG) , intent(in) :: mat(:,:)
765 type(rfpack_type) , intent(in) :: pack
766 type(lowDia_type) , intent(in) :: subset
767 end function
768#endif
769
770#if IK4_ENABLED
771 PURE module function getMatTrace_RFP_XLD_IK4(mat, pack, subset) result(trace)
772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
773 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_IK4
774#endif
775 use pm_kind, only: IKG => IK4
776 integer(IKG) :: trace
777 integer(IKG) , intent(in) :: mat(:,:)
778 type(rfpack_type) , intent(in) :: pack
779 type(lowDia_type) , intent(in) :: subset
780 end function
781#endif
782
783#if IK3_ENABLED
784 PURE module function getMatTrace_RFP_XLD_IK3(mat, pack, subset) result(trace)
785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
786 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_IK3
787#endif
788 use pm_kind, only: IKG => IK3
789 integer(IKG) :: trace
790 integer(IKG) , intent(in) :: mat(:,:)
791 type(rfpack_type) , intent(in) :: pack
792 type(lowDia_type) , intent(in) :: subset
793 end function
794#endif
795
796#if IK2_ENABLED
797 PURE module function getMatTrace_RFP_XLD_IK2(mat, pack, subset) result(trace)
798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
799 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_IK2
800#endif
801 use pm_kind, only: IKG => IK2
802 integer(IKG) :: trace
803 integer(IKG) , intent(in) :: mat(:,:)
804 type(rfpack_type) , intent(in) :: pack
805 type(lowDia_type) , intent(in) :: subset
806 end function
807#endif
808
809#if IK1_ENABLED
810 PURE module function getMatTrace_RFP_XLD_IK1(mat, pack, subset) result(trace)
811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
812 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_IK1
813#endif
814 use pm_kind, only: IKG => IK1
815 integer(IKG) :: trace
816 integer(IKG) , intent(in) :: mat(:,:)
817 type(rfpack_type) , intent(in) :: pack
818 type(lowDia_type) , intent(in) :: subset
819 end function
820#endif
821
822 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
823
824#if CK5_ENABLED
825 PURE module function getMatTrace_RFP_XLD_CK5(mat, pack, subset) result(trace)
826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
827 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_CK5
828#endif
829 use pm_kind, only: CKG => CK5
830 complex(CKG) :: trace
831 complex(CKG) , intent(in) :: mat(:,:)
832 type(rfpack_type) , intent(in) :: pack
833 type(lowDia_type) , intent(in) :: subset
834 end function
835#endif
836
837#if CK4_ENABLED
838 PURE module function getMatTrace_RFP_XLD_CK4(mat, pack, subset) result(trace)
839#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
840 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_CK4
841#endif
842 use pm_kind, only: CKG => CK4
843 complex(CKG) :: trace
844 complex(CKG) , intent(in) :: mat(:,:)
845 type(rfpack_type) , intent(in) :: pack
846 type(lowDia_type) , intent(in) :: subset
847 end function
848#endif
849
850#if CK3_ENABLED
851 PURE module function getMatTrace_RFP_XLD_CK3(mat, pack, subset) result(trace)
852#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
853 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_CK3
854#endif
855 use pm_kind, only: CKG => CK3
856 complex(CKG) :: trace
857 complex(CKG) , intent(in) :: mat(:,:)
858 type(rfpack_type) , intent(in) :: pack
859 type(lowDia_type) , intent(in) :: subset
860 end function
861#endif
862
863#if CK2_ENABLED
864 PURE module function getMatTrace_RFP_XLD_CK2(mat, pack, subset) result(trace)
865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
866 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_CK2
867#endif
868 use pm_kind, only: CKG => CK2
869 complex(CKG) :: trace
870 complex(CKG) , intent(in) :: mat(:,:)
871 type(rfpack_type) , intent(in) :: pack
872 type(lowDia_type) , intent(in) :: subset
873 end function
874#endif
875
876#if CK1_ENABLED
877 PURE module function getMatTrace_RFP_XLD_CK1(mat, pack, subset) result(trace)
878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
879 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_CK1
880#endif
881 use pm_kind, only: CKG => CK1
882 complex(CKG) :: trace
883 complex(CKG) , intent(in) :: mat(:,:)
884 type(rfpack_type) , intent(in) :: pack
885 type(lowDia_type) , intent(in) :: subset
886 end function
887#endif
888
889 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
890
891#if RK5_ENABLED
892 PURE module function getMatTrace_RFP_XLD_RK5(mat, pack, subset) result(trace)
893#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
894 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_RK5
895#endif
896 use pm_kind, only: RKG => RK5
897 real(RKG) :: trace
898 real(RKG) , intent(in) :: mat(:,:)
899 type(rfpack_type) , intent(in) :: pack
900 type(lowDia_type) , intent(in) :: subset
901 end function
902#endif
903
904#if RK4_ENABLED
905 PURE module function getMatTrace_RFP_XLD_RK4(mat, pack, subset) result(trace)
906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
907 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_RK4
908#endif
909 use pm_kind, only: RKG => RK4
910 real(RKG) :: trace
911 real(RKG) , intent(in) :: mat(:,:)
912 type(rfpack_type) , intent(in) :: pack
913 type(lowDia_type) , intent(in) :: subset
914 end function
915#endif
916
917#if RK3_ENABLED
918 PURE module function getMatTrace_RFP_XLD_RK3(mat, pack, subset) result(trace)
919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
920 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_RK3
921#endif
922 use pm_kind, only: RKG => RK3
923 real(RKG) :: trace
924 real(RKG) , intent(in) :: mat(:,:)
925 type(rfpack_type) , intent(in) :: pack
926 type(lowDia_type) , intent(in) :: subset
927 end function
928#endif
929
930#if RK2_ENABLED
931 PURE module function getMatTrace_RFP_XLD_RK2(mat, pack, subset) result(trace)
932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
933 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_RK2
934#endif
935 use pm_kind, only: RKG => RK2
936 real(RKG) :: trace
937 real(RKG) , intent(in) :: mat(:,:)
938 type(rfpack_type) , intent(in) :: pack
939 type(lowDia_type) , intent(in) :: subset
940 end function
941#endif
942
943#if RK1_ENABLED
944 PURE module function getMatTrace_RFP_XLD_RK1(mat, pack, subset) result(trace)
945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
946 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_RFP_XLD_RK1
947#endif
948 use pm_kind, only: RKG => RK1
949 real(RKG) :: trace
950 real(RKG) , intent(in) :: mat(:,:)
951 type(rfpack_type) , intent(in) :: pack
952 type(lowDia_type) , intent(in) :: subset
953 end function
954#endif
955
956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
957
958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
959 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
960 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
961
962 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
963 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
964 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
965
966 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
967
968#if IK5_ENABLED
969 PURE module function getMatTrace_LFP_UXD_IK5(mat, pack, subset) result(trace)
970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
971 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_IK5
972#endif
973 use pm_kind, only: IKG => IK5
974 integer(IKG) :: trace
975 integer(IKG) , intent(in) :: mat(:)
976 type(lfpack_type) , intent(in) :: pack
977 type(uppDia_type) , intent(in) :: subset
978 end function
979#endif
980
981#if IK4_ENABLED
982 PURE module function getMatTrace_LFP_UXD_IK4(mat, pack, subset) result(trace)
983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
984 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_IK4
985#endif
986 use pm_kind, only: IKG => IK4
987 integer(IKG) :: trace
988 integer(IKG) , intent(in) :: mat(:)
989 type(lfpack_type) , intent(in) :: pack
990 type(uppDia_type) , intent(in) :: subset
991 end function
992#endif
993
994#if IK3_ENABLED
995 PURE module function getMatTrace_LFP_UXD_IK3(mat, pack, subset) result(trace)
996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
997 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_IK3
998#endif
999 use pm_kind, only: IKG => IK3
1000 integer(IKG) :: trace
1001 integer(IKG) , intent(in) :: mat(:)
1002 type(lfpack_type) , intent(in) :: pack
1003 type(uppDia_type) , intent(in) :: subset
1004 end function
1005#endif
1006
1007#if IK2_ENABLED
1008 PURE module function getMatTrace_LFP_UXD_IK2(mat, pack, subset) result(trace)
1009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1010 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_IK2
1011#endif
1012 use pm_kind, only: IKG => IK2
1013 integer(IKG) :: trace
1014 integer(IKG) , intent(in) :: mat(:)
1015 type(lfpack_type) , intent(in) :: pack
1016 type(uppDia_type) , intent(in) :: subset
1017 end function
1018#endif
1019
1020#if IK1_ENABLED
1021 PURE module function getMatTrace_LFP_UXD_IK1(mat, pack, subset) result(trace)
1022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1023 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_IK1
1024#endif
1025 use pm_kind, only: IKG => IK1
1026 integer(IKG) :: trace
1027 integer(IKG) , intent(in) :: mat(:)
1028 type(lfpack_type) , intent(in) :: pack
1029 type(uppDia_type) , intent(in) :: subset
1030 end function
1031#endif
1032
1033 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1034
1035#if CK5_ENABLED
1036 PURE module function getMatTrace_LFP_UXD_CK5(mat, pack, subset) result(trace)
1037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1038 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_CK5
1039#endif
1040 use pm_kind, only: CKG => CK5
1041 complex(CKG) :: trace
1042 complex(CKG) , intent(in) :: mat(:)
1043 type(lfpack_type) , intent(in) :: pack
1044 type(uppDia_type) , intent(in) :: subset
1045 end function
1046#endif
1047
1048#if CK4_ENABLED
1049 PURE module function getMatTrace_LFP_UXD_CK4(mat, pack, subset) result(trace)
1050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1051 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_CK4
1052#endif
1053 use pm_kind, only: CKG => CK4
1054 complex(CKG) :: trace
1055 complex(CKG) , intent(in) :: mat(:)
1056 type(lfpack_type) , intent(in) :: pack
1057 type(uppDia_type) , intent(in) :: subset
1058 end function
1059#endif
1060
1061#if CK3_ENABLED
1062 PURE module function getMatTrace_LFP_UXD_CK3(mat, pack, subset) result(trace)
1063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1064 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_CK3
1065#endif
1066 use pm_kind, only: CKG => CK3
1067 complex(CKG) :: trace
1068 complex(CKG) , intent(in) :: mat(:)
1069 type(lfpack_type) , intent(in) :: pack
1070 type(uppDia_type) , intent(in) :: subset
1071 end function
1072#endif
1073
1074#if CK2_ENABLED
1075 PURE module function getMatTrace_LFP_UXD_CK2(mat, pack, subset) result(trace)
1076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1077 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_CK2
1078#endif
1079 use pm_kind, only: CKG => CK2
1080 complex(CKG) :: trace
1081 complex(CKG) , intent(in) :: mat(:)
1082 type(lfpack_type) , intent(in) :: pack
1083 type(uppDia_type) , intent(in) :: subset
1084 end function
1085#endif
1086
1087#if CK1_ENABLED
1088 PURE module function getMatTrace_LFP_UXD_CK1(mat, pack, subset) result(trace)
1089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1090 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_CK1
1091#endif
1092 use pm_kind, only: CKG => CK1
1093 complex(CKG) :: trace
1094 complex(CKG) , intent(in) :: mat(:)
1095 type(lfpack_type) , intent(in) :: pack
1096 type(uppDia_type) , intent(in) :: subset
1097 end function
1098#endif
1099
1100 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1101
1102#if RK5_ENABLED
1103 PURE module function getMatTrace_LFP_UXD_RK5(mat, pack, subset) result(trace)
1104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1105 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_RK5
1106#endif
1107 use pm_kind, only: RKG => RK5
1108 real(RKG) :: trace
1109 real(RKG) , intent(in) :: mat(:)
1110 type(lfpack_type) , intent(in) :: pack
1111 type(uppDia_type) , intent(in) :: subset
1112 end function
1113#endif
1114
1115#if RK4_ENABLED
1116 PURE module function getMatTrace_LFP_UXD_RK4(mat, pack, subset) result(trace)
1117#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1118 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_RK4
1119#endif
1120 use pm_kind, only: RKG => RK4
1121 real(RKG) :: trace
1122 real(RKG) , intent(in) :: mat(:)
1123 type(lfpack_type) , intent(in) :: pack
1124 type(uppDia_type) , intent(in) :: subset
1125 end function
1126#endif
1127
1128#if RK3_ENABLED
1129 PURE module function getMatTrace_LFP_UXD_RK3(mat, pack, subset) result(trace)
1130#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1131 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_RK3
1132#endif
1133 use pm_kind, only: RKG => RK3
1134 real(RKG) :: trace
1135 real(RKG) , intent(in) :: mat(:)
1136 type(lfpack_type) , intent(in) :: pack
1137 type(uppDia_type) , intent(in) :: subset
1138 end function
1139#endif
1140
1141#if RK2_ENABLED
1142 PURE module function getMatTrace_LFP_UXD_RK2(mat, pack, subset) result(trace)
1143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1144 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_RK2
1145#endif
1146 use pm_kind, only: RKG => RK2
1147 real(RKG) :: trace
1148 real(RKG) , intent(in) :: mat(:)
1149 type(lfpack_type) , intent(in) :: pack
1150 type(uppDia_type) , intent(in) :: subset
1151 end function
1152#endif
1153
1154#if RK1_ENABLED
1155 PURE module function getMatTrace_LFP_UXD_RK1(mat, pack, subset) result(trace)
1156#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1157 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_UXD_RK1
1158#endif
1159 use pm_kind, only: RKG => RK1
1160 real(RKG) :: trace
1161 real(RKG) , intent(in) :: mat(:)
1162 type(lfpack_type) , intent(in) :: pack
1163 type(uppDia_type) , intent(in) :: subset
1164 end function
1165#endif
1166
1167 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1168
1169 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1170 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1172
1173 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1174
1175#if IK5_ENABLED
1176 PURE module function getMatTrace_LFP_XLD_IK5(mat, pack, subset) result(trace)
1177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1178 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_IK5
1179#endif
1180 use pm_kind, only: IKG => IK5
1181 integer(IKG) :: trace
1182 integer(IKG) , intent(in) :: mat(:)
1183 type(lfpack_type) , intent(in) :: pack
1184 type(lowDia_type) , intent(in) :: subset
1185 end function
1186#endif
1187
1188#if IK4_ENABLED
1189 PURE module function getMatTrace_LFP_XLD_IK4(mat, pack, subset) result(trace)
1190#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1191 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_IK4
1192#endif
1193 use pm_kind, only: IKG => IK4
1194 integer(IKG) :: trace
1195 integer(IKG) , intent(in) :: mat(:)
1196 type(lfpack_type) , intent(in) :: pack
1197 type(lowDia_type) , intent(in) :: subset
1198 end function
1199#endif
1200
1201#if IK3_ENABLED
1202 PURE module function getMatTrace_LFP_XLD_IK3(mat, pack, subset) result(trace)
1203#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1204 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_IK3
1205#endif
1206 use pm_kind, only: IKG => IK3
1207 integer(IKG) :: trace
1208 integer(IKG) , intent(in) :: mat(:)
1209 type(lfpack_type) , intent(in) :: pack
1210 type(lowDia_type) , intent(in) :: subset
1211 end function
1212#endif
1213
1214#if IK2_ENABLED
1215 PURE module function getMatTrace_LFP_XLD_IK2(mat, pack, subset) result(trace)
1216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1217 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_IK2
1218#endif
1219 use pm_kind, only: IKG => IK2
1220 integer(IKG) :: trace
1221 integer(IKG) , intent(in) :: mat(:)
1222 type(lfpack_type) , intent(in) :: pack
1223 type(lowDia_type) , intent(in) :: subset
1224 end function
1225#endif
1226
1227#if IK1_ENABLED
1228 PURE module function getMatTrace_LFP_XLD_IK1(mat, pack, subset) result(trace)
1229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1230 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_IK1
1231#endif
1232 use pm_kind, only: IKG => IK1
1233 integer(IKG) :: trace
1234 integer(IKG) , intent(in) :: mat(:)
1235 type(lfpack_type) , intent(in) :: pack
1236 type(lowDia_type) , intent(in) :: subset
1237 end function
1238#endif
1239
1240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1241
1242#if CK5_ENABLED
1243 PURE module function getMatTrace_LFP_XLD_CK5(mat, pack, subset) result(trace)
1244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1245 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_CK5
1246#endif
1247 use pm_kind, only: CKG => CK5
1248 complex(CKG) :: trace
1249 complex(CKG) , intent(in) :: mat(:)
1250 type(lfpack_type) , intent(in) :: pack
1251 type(lowDia_type) , intent(in) :: subset
1252 end function
1253#endif
1254
1255#if CK4_ENABLED
1256 PURE module function getMatTrace_LFP_XLD_CK4(mat, pack, subset) result(trace)
1257#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1258 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_CK4
1259#endif
1260 use pm_kind, only: CKG => CK4
1261 complex(CKG) :: trace
1262 complex(CKG) , intent(in) :: mat(:)
1263 type(lfpack_type) , intent(in) :: pack
1264 type(lowDia_type) , intent(in) :: subset
1265 end function
1266#endif
1267
1268#if CK3_ENABLED
1269 PURE module function getMatTrace_LFP_XLD_CK3(mat, pack, subset) result(trace)
1270#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1271 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_CK3
1272#endif
1273 use pm_kind, only: CKG => CK3
1274 complex(CKG) :: trace
1275 complex(CKG) , intent(in) :: mat(:)
1276 type(lfpack_type) , intent(in) :: pack
1277 type(lowDia_type) , intent(in) :: subset
1278 end function
1279#endif
1280
1281#if CK2_ENABLED
1282 PURE module function getMatTrace_LFP_XLD_CK2(mat, pack, subset) result(trace)
1283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1284 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_CK2
1285#endif
1286 use pm_kind, only: CKG => CK2
1287 complex(CKG) :: trace
1288 complex(CKG) , intent(in) :: mat(:)
1289 type(lfpack_type) , intent(in) :: pack
1290 type(lowDia_type) , intent(in) :: subset
1291 end function
1292#endif
1293
1294#if CK1_ENABLED
1295 PURE module function getMatTrace_LFP_XLD_CK1(mat, pack, subset) result(trace)
1296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1297 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_CK1
1298#endif
1299 use pm_kind, only: CKG => CK1
1300 complex(CKG) :: trace
1301 complex(CKG) , intent(in) :: mat(:)
1302 type(lfpack_type) , intent(in) :: pack
1303 type(lowDia_type) , intent(in) :: subset
1304 end function
1305#endif
1306
1307 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1308
1309#if RK5_ENABLED
1310 PURE module function getMatTrace_LFP_XLD_RK5(mat, pack, subset) result(trace)
1311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1312 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_RK5
1313#endif
1314 use pm_kind, only: RKG => RK5
1315 real(RKG) :: trace
1316 real(RKG) , intent(in) :: mat(:)
1317 type(lfpack_type) , intent(in) :: pack
1318 type(lowDia_type) , intent(in) :: subset
1319 end function
1320#endif
1321
1322#if RK4_ENABLED
1323 PURE module function getMatTrace_LFP_XLD_RK4(mat, pack, subset) result(trace)
1324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1325 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_RK4
1326#endif
1327 use pm_kind, only: RKG => RK4
1328 real(RKG) :: trace
1329 real(RKG) , intent(in) :: mat(:)
1330 type(lfpack_type) , intent(in) :: pack
1331 type(lowDia_type) , intent(in) :: subset
1332 end function
1333#endif
1334
1335#if RK3_ENABLED
1336 PURE module function getMatTrace_LFP_XLD_RK3(mat, pack, subset) result(trace)
1337#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1338 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_RK3
1339#endif
1340 use pm_kind, only: RKG => RK3
1341 real(RKG) :: trace
1342 real(RKG) , intent(in) :: mat(:)
1343 type(lfpack_type) , intent(in) :: pack
1344 type(lowDia_type) , intent(in) :: subset
1345 end function
1346#endif
1347
1348#if RK2_ENABLED
1349 PURE module function getMatTrace_LFP_XLD_RK2(mat, pack, subset) result(trace)
1350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1351 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_RK2
1352#endif
1353 use pm_kind, only: RKG => RK2
1354 real(RKG) :: trace
1355 real(RKG) , intent(in) :: mat(:)
1356 type(lfpack_type) , intent(in) :: pack
1357 type(lowDia_type) , intent(in) :: subset
1358 end function
1359#endif
1360
1361#if RK1_ENABLED
1362 PURE module function getMatTrace_LFP_XLD_RK1(mat, pack, subset) result(trace)
1363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1364 !DEC$ ATTRIBUTES DLLEXPORT :: getMatTrace_LFP_XLD_RK1
1365#endif
1366 use pm_kind, only: RKG => RK1
1367 real(RKG) :: trace
1368 real(RKG) , intent(in) :: mat(:)
1369 type(lfpack_type) , intent(in) :: pack
1370 type(lowDia_type) , intent(in) :: subset
1371 end function
1372#endif
1373
1374 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1375
1376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1377 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1378 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1379
1380 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1381 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1382 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1383
1384 end interface
1385
1386!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1387
1466
1467 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1468 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1469 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1470
1471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1472 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1474
1475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1476
1477#if IK5_ENABLED
1478 PURE module function getMatMulTrace_DEF_XXX_IK5(mat) result(mulTrace)
1479#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1480 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_IK5
1481#endif
1482 use pm_kind, only: IKG => IK5
1483 integer(IKG) , intent(in) :: mat(:,:)
1484 integer(IKG) :: mulTrace
1485 end function
1486#endif
1487
1488#if IK4_ENABLED
1489 PURE module function getMatMulTrace_DEF_XXX_IK4(mat) result(mulTrace)
1490#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1491 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_IK4
1492#endif
1493 use pm_kind, only: IKG => IK4
1494 integer(IKG) , intent(in) :: mat(:,:)
1495 integer(IKG) :: mulTrace
1496 end function
1497#endif
1498
1499#if IK3_ENABLED
1500 PURE module function getMatMulTrace_DEF_XXX_IK3(mat) result(mulTrace)
1501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1502 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_IK3
1503#endif
1504 use pm_kind, only: IKG => IK3
1505 integer(IKG) , intent(in) :: mat(:,:)
1506 integer(IKG) :: mulTrace
1507 end function
1508#endif
1509
1510#if IK2_ENABLED
1511 PURE module function getMatMulTrace_DEF_XXX_IK2(mat) result(mulTrace)
1512#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1513 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_IK2
1514#endif
1515 use pm_kind, only: IKG => IK2
1516 integer(IKG) , intent(in) :: mat(:,:)
1517 integer(IKG) :: mulTrace
1518 end function
1519#endif
1520
1521#if IK1_ENABLED
1522 PURE module function getMatMulTrace_DEF_XXX_IK1(mat) result(mulTrace)
1523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1524 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_IK1
1525#endif
1526 use pm_kind, only: IKG => IK1
1527 integer(IKG) , intent(in) :: mat(:,:)
1528 integer(IKG) :: mulTrace
1529 end function
1530#endif
1531
1532 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1533
1534#if CK5_ENABLED
1535 PURE module function getMatMulTrace_DEF_XXX_CK5(mat) result(mulTrace)
1536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1537 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_CK5
1538#endif
1539 use pm_kind, only: CKG => CK5
1540 complex(CKG) , intent(in) :: mat(:,:)
1541 complex(CKG) :: mulTrace
1542 end function
1543#endif
1544
1545#if CK4_ENABLED
1546 PURE module function getMatMulTrace_DEF_XXX_CK4(mat) result(mulTrace)
1547#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1548 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_CK4
1549#endif
1550 use pm_kind, only: CKG => CK4
1551 complex(CKG) , intent(in) :: mat(:,:)
1552 complex(CKG) :: mulTrace
1553 end function
1554#endif
1555
1556#if CK3_ENABLED
1557 PURE module function getMatMulTrace_DEF_XXX_CK3(mat) result(mulTrace)
1558#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1559 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_CK3
1560#endif
1561 use pm_kind, only: CKG => CK3
1562 complex(CKG) , intent(in) :: mat(:,:)
1563 complex(CKG) :: mulTrace
1564 end function
1565#endif
1566
1567#if CK2_ENABLED
1568 PURE module function getMatMulTrace_DEF_XXX_CK2(mat) result(mulTrace)
1569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1570 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_CK2
1571#endif
1572 use pm_kind, only: CKG => CK2
1573 complex(CKG) , intent(in) :: mat(:,:)
1574 complex(CKG) :: mulTrace
1575 end function
1576#endif
1577
1578#if CK1_ENABLED
1579 PURE module function getMatMulTrace_DEF_XXX_CK1(mat) result(mulTrace)
1580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1581 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_CK1
1582#endif
1583 use pm_kind, only: CKG => CK1
1584 complex(CKG) , intent(in) :: mat(:,:)
1585 complex(CKG) :: mulTrace
1586 end function
1587#endif
1588
1589 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1590
1591#if RK5_ENABLED
1592 PURE module function getMatMulTrace_DEF_XXX_RK5(mat) result(mulTrace)
1593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1594 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_RK5
1595#endif
1596 use pm_kind, only: RKG => RK5
1597 real(RKG) , intent(in) :: mat(:,:)
1598 real(RKG) :: mulTrace
1599 end function
1600#endif
1601
1602#if RK4_ENABLED
1603 PURE module function getMatMulTrace_DEF_XXX_RK4(mat) result(mulTrace)
1604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1605 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_RK4
1606#endif
1607 use pm_kind, only: RKG => RK4
1608 real(RKG) , intent(in) :: mat(:,:)
1609 real(RKG) :: mulTrace
1610 end function
1611#endif
1612
1613#if RK3_ENABLED
1614 PURE module function getMatMulTrace_DEF_XXX_RK3(mat) result(mulTrace)
1615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1616 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_RK3
1617#endif
1618 use pm_kind, only: RKG => RK3
1619 real(RKG) , intent(in) :: mat(:,:)
1620 real(RKG) :: mulTrace
1621 end function
1622#endif
1623
1624#if RK2_ENABLED
1625 PURE module function getMatMulTrace_DEF_XXX_RK2(mat) result(mulTrace)
1626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1627 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_RK2
1628#endif
1629 use pm_kind, only: RKG => RK2
1630 real(RKG) , intent(in) :: mat(:,:)
1631 real(RKG) :: mulTrace
1632 end function
1633#endif
1634
1635#if RK1_ENABLED
1636 PURE module function getMatMulTrace_DEF_XXX_RK1(mat) result(mulTrace)
1637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1638 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_DEF_XXX_RK1
1639#endif
1640 use pm_kind, only: RKG => RK1
1641 real(RKG) , intent(in) :: mat(:,:)
1642 real(RKG) :: mulTrace
1643 end function
1644#endif
1645
1646 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1647
1648 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1649 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1650 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1651
1652 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1653 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1655
1656 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1657
1658#if IK5_ENABLED
1659 PURE module function getMatMulTrace_RDP_XXX_IK5(mat, pack) result(mulTrace)
1660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1661 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_IK5
1662#endif
1663 use pm_kind, only: IKG => IK5
1664 integer(IKG) , intent(in) :: mat(:,:)
1665 type(rdpack_type) , intent(in) :: pack
1666 integer(IKG) :: mulTrace
1667 end function
1668#endif
1669
1670#if IK4_ENABLED
1671 PURE module function getMatMulTrace_RDP_XXX_IK4(mat, pack) result(mulTrace)
1672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1673 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_IK4
1674#endif
1675 use pm_kind, only: IKG => IK4
1676 integer(IKG) , intent(in) :: mat(:,:)
1677 type(rdpack_type) , intent(in) :: pack
1678 integer(IKG) :: mulTrace
1679 end function
1680#endif
1681
1682#if IK3_ENABLED
1683 PURE module function getMatMulTrace_RDP_XXX_IK3(mat, pack) result(mulTrace)
1684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1685 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_IK3
1686#endif
1687 use pm_kind, only: IKG => IK3
1688 integer(IKG) , intent(in) :: mat(:,:)
1689 type(rdpack_type) , intent(in) :: pack
1690 integer(IKG) :: mulTrace
1691 end function
1692#endif
1693
1694#if IK2_ENABLED
1695 PURE module function getMatMulTrace_RDP_XXX_IK2(mat, pack) result(mulTrace)
1696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1697 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_IK2
1698#endif
1699 use pm_kind, only: IKG => IK2
1700 integer(IKG) , intent(in) :: mat(:,:)
1701 type(rdpack_type) , intent(in) :: pack
1702 integer(IKG) :: mulTrace
1703 end function
1704#endif
1705
1706#if IK1_ENABLED
1707 PURE module function getMatMulTrace_RDP_XXX_IK1(mat, pack) result(mulTrace)
1708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1709 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_IK1
1710#endif
1711 use pm_kind, only: IKG => IK1
1712 integer(IKG) , intent(in) :: mat(:,:)
1713 type(rdpack_type) , intent(in) :: pack
1714 integer(IKG) :: mulTrace
1715 end function
1716#endif
1717
1718 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1719
1720#if CK5_ENABLED
1721 PURE module function getMatMulTrace_RDP_XXX_CK5(mat, pack) result(mulTrace)
1722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1723 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_CK5
1724#endif
1725 use pm_kind, only: CKG => CK5
1726 complex(CKG) , intent(in) :: mat(:,:)
1727 type(rdpack_type) , intent(in) :: pack
1728 complex(CKG) :: mulTrace
1729 end function
1730#endif
1731
1732#if CK4_ENABLED
1733 PURE module function getMatMulTrace_RDP_XXX_CK4(mat, pack) result(mulTrace)
1734#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1735 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_CK4
1736#endif
1737 use pm_kind, only: CKG => CK4
1738 complex(CKG) , intent(in) :: mat(:,:)
1739 type(rdpack_type) , intent(in) :: pack
1740 complex(CKG) :: mulTrace
1741 end function
1742#endif
1743
1744#if CK3_ENABLED
1745 PURE module function getMatMulTrace_RDP_XXX_CK3(mat, pack) result(mulTrace)
1746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1747 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_CK3
1748#endif
1749 use pm_kind, only: CKG => CK3
1750 complex(CKG) , intent(in) :: mat(:,:)
1751 type(rdpack_type) , intent(in) :: pack
1752 complex(CKG) :: mulTrace
1753 end function
1754#endif
1755
1756#if CK2_ENABLED
1757 PURE module function getMatMulTrace_RDP_XXX_CK2(mat, pack) result(mulTrace)
1758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1759 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_CK2
1760#endif
1761 use pm_kind, only: CKG => CK2
1762 complex(CKG) , intent(in) :: mat(:,:)
1763 type(rdpack_type) , intent(in) :: pack
1764 complex(CKG) :: mulTrace
1765 end function
1766#endif
1767
1768#if CK1_ENABLED
1769 PURE module function getMatMulTrace_RDP_XXX_CK1(mat, pack) result(mulTrace)
1770#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1771 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_CK1
1772#endif
1773 use pm_kind, only: CKG => CK1
1774 complex(CKG) , intent(in) :: mat(:,:)
1775 type(rdpack_type) , intent(in) :: pack
1776 complex(CKG) :: mulTrace
1777 end function
1778#endif
1779
1780 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1781
1782#if RK5_ENABLED
1783 PURE module function getMatMulTrace_RDP_XXX_RK5(mat, pack) result(mulTrace)
1784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1785 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_RK5
1786#endif
1787 use pm_kind, only: RKG => RK5
1788 real(RKG) , intent(in) :: mat(:,:)
1789 real(RKG) :: mulTrace
1790 type(rdpack_type) , intent(in) :: pack
1791 end function
1792#endif
1793
1794#if RK4_ENABLED
1795 PURE module function getMatMulTrace_RDP_XXX_RK4(mat, pack) result(mulTrace)
1796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1797 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_RK4
1798#endif
1799 use pm_kind, only: RKG => RK4
1800 real(RKG) , intent(in) :: mat(:,:)
1801 type(rdpack_type) , intent(in) :: pack
1802 real(RKG) :: mulTrace
1803 end function
1804#endif
1805
1806#if RK3_ENABLED
1807 PURE module function getMatMulTrace_RDP_XXX_RK3(mat, pack) result(mulTrace)
1808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1809 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_RK3
1810#endif
1811 use pm_kind, only: RKG => RK3
1812 real(RKG) , intent(in) :: mat(:,:)
1813 type(rdpack_type) , intent(in) :: pack
1814 real(RKG) :: mulTrace
1815 end function
1816#endif
1817
1818#if RK2_ENABLED
1819 PURE module function getMatMulTrace_RDP_XXX_RK2(mat, pack) result(mulTrace)
1820#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1821 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_RK2
1822#endif
1823 use pm_kind, only: RKG => RK2
1824 real(RKG) , intent(in) :: mat(:,:)
1825 type(rdpack_type) , intent(in) :: pack
1826 real(RKG) :: mulTrace
1827 end function
1828#endif
1829
1830#if RK1_ENABLED
1831 PURE module function getMatMulTrace_RDP_XXX_RK1(mat, pack) result(mulTrace)
1832#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1833 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RDP_XXX_RK1
1834#endif
1835 use pm_kind, only: RKG => RK1
1836 real(RKG) , intent(in) :: mat(:,:)
1837 type(rdpack_type) , intent(in) :: pack
1838 real(RKG) :: mulTrace
1839 end function
1840#endif
1841
1842 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1843
1844 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1845 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1846 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1847
1848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1850 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1851
1852 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1853
1854#if IK5_ENABLED
1855 PURE module function getMatMulTrace_RFP_UXD_IK5(mat, pack, subset) result(mulTrace)
1856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1857 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_IK5
1858#endif
1859 use pm_kind, only: IKG => IK5
1860 integer(IKG) :: mulTrace
1861 integer(IKG) , intent(in) :: mat(:,:)
1862 type(rfpack_type) , intent(in) :: pack
1863 type(uppDia_type) , intent(in) :: subset
1864 end function
1865#endif
1866
1867#if IK4_ENABLED
1868 PURE module function getMatMulTrace_RFP_UXD_IK4(mat, pack, subset) result(mulTrace)
1869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1870 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_IK4
1871#endif
1872 use pm_kind, only: IKG => IK4
1873 integer(IKG) :: mulTrace
1874 integer(IKG) , intent(in) :: mat(:,:)
1875 type(rfpack_type) , intent(in) :: pack
1876 type(uppDia_type) , intent(in) :: subset
1877 end function
1878#endif
1879
1880#if IK3_ENABLED
1881 PURE module function getMatMulTrace_RFP_UXD_IK3(mat, pack, subset) result(mulTrace)
1882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1883 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_IK3
1884#endif
1885 use pm_kind, only: IKG => IK3
1886 integer(IKG) :: mulTrace
1887 integer(IKG) , intent(in) :: mat(:,:)
1888 type(rfpack_type) , intent(in) :: pack
1889 type(uppDia_type) , intent(in) :: subset
1890 end function
1891#endif
1892
1893#if IK2_ENABLED
1894 PURE module function getMatMulTrace_RFP_UXD_IK2(mat, pack, subset) result(mulTrace)
1895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1896 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_IK2
1897#endif
1898 use pm_kind, only: IKG => IK2
1899 integer(IKG) :: mulTrace
1900 integer(IKG) , intent(in) :: mat(:,:)
1901 type(rfpack_type) , intent(in) :: pack
1902 type(uppDia_type) , intent(in) :: subset
1903 end function
1904#endif
1905
1906#if IK1_ENABLED
1907 PURE module function getMatMulTrace_RFP_UXD_IK1(mat, pack, subset) result(mulTrace)
1908#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1909 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_IK1
1910#endif
1911 use pm_kind, only: IKG => IK1
1912 integer(IKG) :: mulTrace
1913 integer(IKG) , intent(in) :: mat(:,:)
1914 type(rfpack_type) , intent(in) :: pack
1915 type(uppDia_type) , intent(in) :: subset
1916 end function
1917#endif
1918
1919 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1920
1921#if CK5_ENABLED
1922 PURE module function getMatMulTrace_RFP_UXD_CK5(mat, pack, subset) result(mulTrace)
1923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1924 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_CK5
1925#endif
1926 use pm_kind, only: CKG => CK5
1927 complex(CKG) :: mulTrace
1928 complex(CKG) , intent(in) :: mat(:,:)
1929 type(rfpack_type) , intent(in) :: pack
1930 type(uppDia_type) , intent(in) :: subset
1931 end function
1932#endif
1933
1934#if CK4_ENABLED
1935 PURE module function getMatMulTrace_RFP_UXD_CK4(mat, pack, subset) result(mulTrace)
1936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1937 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_CK4
1938#endif
1939 use pm_kind, only: CKG => CK4
1940 complex(CKG) :: mulTrace
1941 complex(CKG) , intent(in) :: mat(:,:)
1942 type(rfpack_type) , intent(in) :: pack
1943 type(uppDia_type) , intent(in) :: subset
1944 end function
1945#endif
1946
1947#if CK3_ENABLED
1948 PURE module function getMatMulTrace_RFP_UXD_CK3(mat, pack, subset) result(mulTrace)
1949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1950 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_CK3
1951#endif
1952 use pm_kind, only: CKG => CK3
1953 complex(CKG) :: mulTrace
1954 complex(CKG) , intent(in) :: mat(:,:)
1955 type(rfpack_type) , intent(in) :: pack
1956 type(uppDia_type) , intent(in) :: subset
1957 end function
1958#endif
1959
1960#if CK2_ENABLED
1961 PURE module function getMatMulTrace_RFP_UXD_CK2(mat, pack, subset) result(mulTrace)
1962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1963 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_CK2
1964#endif
1965 use pm_kind, only: CKG => CK2
1966 complex(CKG) :: mulTrace
1967 complex(CKG) , intent(in) :: mat(:,:)
1968 type(rfpack_type) , intent(in) :: pack
1969 type(uppDia_type) , intent(in) :: subset
1970 end function
1971#endif
1972
1973#if CK1_ENABLED
1974 PURE module function getMatMulTrace_RFP_UXD_CK1(mat, pack, subset) result(mulTrace)
1975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1976 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_CK1
1977#endif
1978 use pm_kind, only: CKG => CK1
1979 complex(CKG) :: mulTrace
1980 complex(CKG) , intent(in) :: mat(:,:)
1981 type(rfpack_type) , intent(in) :: pack
1982 type(uppDia_type) , intent(in) :: subset
1983 end function
1984#endif
1985
1986 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1987
1988#if RK5_ENABLED
1989 PURE module function getMatMulTrace_RFP_UXD_RK5(mat, pack, subset) result(mulTrace)
1990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1991 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_RK5
1992#endif
1993 use pm_kind, only: RKG => RK5
1994 real(RKG) :: mulTrace
1995 real(RKG) , intent(in) :: mat(:,:)
1996 type(rfpack_type) , intent(in) :: pack
1997 type(uppDia_type) , intent(in) :: subset
1998 end function
1999#endif
2000
2001#if RK4_ENABLED
2002 PURE module function getMatMulTrace_RFP_UXD_RK4(mat, pack, subset) result(mulTrace)
2003#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2004 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_RK4
2005#endif
2006 use pm_kind, only: RKG => RK4
2007 real(RKG) :: mulTrace
2008 real(RKG) , intent(in) :: mat(:,:)
2009 type(rfpack_type) , intent(in) :: pack
2010 type(uppDia_type) , intent(in) :: subset
2011 end function
2012#endif
2013
2014#if RK3_ENABLED
2015 PURE module function getMatMulTrace_RFP_UXD_RK3(mat, pack, subset) result(mulTrace)
2016#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2017 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_RK3
2018#endif
2019 use pm_kind, only: RKG => RK3
2020 real(RKG) :: mulTrace
2021 real(RKG) , intent(in) :: mat(:,:)
2022 type(rfpack_type) , intent(in) :: pack
2023 type(uppDia_type) , intent(in) :: subset
2024 end function
2025#endif
2026
2027#if RK2_ENABLED
2028 PURE module function getMatMulTrace_RFP_UXD_RK2(mat, pack, subset) result(mulTrace)
2029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2030 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_RK2
2031#endif
2032 use pm_kind, only: RKG => RK2
2033 real(RKG) :: mulTrace
2034 real(RKG) , intent(in) :: mat(:,:)
2035 type(rfpack_type) , intent(in) :: pack
2036 type(uppDia_type) , intent(in) :: subset
2037 end function
2038#endif
2039
2040#if RK1_ENABLED
2041 PURE module function getMatMulTrace_RFP_UXD_RK1(mat, pack, subset) result(mulTrace)
2042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2043 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_UXD_RK1
2044#endif
2045 use pm_kind, only: RKG => RK1
2046 real(RKG) :: mulTrace
2047 real(RKG) , intent(in) :: mat(:,:)
2048 type(rfpack_type) , intent(in) :: pack
2049 type(uppDia_type) , intent(in) :: subset
2050 end function
2051#endif
2052
2053 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2054
2055 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2056 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2057 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2058
2059 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2060
2061#if IK5_ENABLED
2062 PURE module function getMatMulTrace_RFP_XLD_IK5(mat, pack, subset) result(mulTrace)
2063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2064 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_IK5
2065#endif
2066 use pm_kind, only: IKG => IK5
2067 integer(IKG) :: mulTrace
2068 integer(IKG) , intent(in) :: mat(:,:)
2069 type(rfpack_type) , intent(in) :: pack
2070 type(lowDia_type) , intent(in) :: subset
2071 end function
2072#endif
2073
2074#if IK4_ENABLED
2075 PURE module function getMatMulTrace_RFP_XLD_IK4(mat, pack, subset) result(mulTrace)
2076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2077 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_IK4
2078#endif
2079 use pm_kind, only: IKG => IK4
2080 integer(IKG) :: mulTrace
2081 integer(IKG) , intent(in) :: mat(:,:)
2082 type(rfpack_type) , intent(in) :: pack
2083 type(lowDia_type) , intent(in) :: subset
2084 end function
2085#endif
2086
2087#if IK3_ENABLED
2088 PURE module function getMatMulTrace_RFP_XLD_IK3(mat, pack, subset) result(mulTrace)
2089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2090 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_IK3
2091#endif
2092 use pm_kind, only: IKG => IK3
2093 integer(IKG) :: mulTrace
2094 integer(IKG) , intent(in) :: mat(:,:)
2095 type(rfpack_type) , intent(in) :: pack
2096 type(lowDia_type) , intent(in) :: subset
2097 end function
2098#endif
2099
2100#if IK2_ENABLED
2101 PURE module function getMatMulTrace_RFP_XLD_IK2(mat, pack, subset) result(mulTrace)
2102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2103 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_IK2
2104#endif
2105 use pm_kind, only: IKG => IK2
2106 integer(IKG) :: mulTrace
2107 integer(IKG) , intent(in) :: mat(:,:)
2108 type(rfpack_type) , intent(in) :: pack
2109 type(lowDia_type) , intent(in) :: subset
2110 end function
2111#endif
2112
2113#if IK1_ENABLED
2114 PURE module function getMatMulTrace_RFP_XLD_IK1(mat, pack, subset) result(mulTrace)
2115#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2116 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_IK1
2117#endif
2118 use pm_kind, only: IKG => IK1
2119 integer(IKG) :: mulTrace
2120 integer(IKG) , intent(in) :: mat(:,:)
2121 type(rfpack_type) , intent(in) :: pack
2122 type(lowDia_type) , intent(in) :: subset
2123 end function
2124#endif
2125
2126 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2127
2128#if CK5_ENABLED
2129 PURE module function getMatMulTrace_RFP_XLD_CK5(mat, pack, subset) result(mulTrace)
2130#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2131 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_CK5
2132#endif
2133 use pm_kind, only: CKG => CK5
2134 complex(CKG) :: mulTrace
2135 complex(CKG) , intent(in) :: mat(:,:)
2136 type(rfpack_type) , intent(in) :: pack
2137 type(lowDia_type) , intent(in) :: subset
2138 end function
2139#endif
2140
2141#if CK4_ENABLED
2142 PURE module function getMatMulTrace_RFP_XLD_CK4(mat, pack, subset) result(mulTrace)
2143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2144 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_CK4
2145#endif
2146 use pm_kind, only: CKG => CK4
2147 complex(CKG) :: mulTrace
2148 complex(CKG) , intent(in) :: mat(:,:)
2149 type(rfpack_type) , intent(in) :: pack
2150 type(lowDia_type) , intent(in) :: subset
2151 end function
2152#endif
2153
2154#if CK3_ENABLED
2155 PURE module function getMatMulTrace_RFP_XLD_CK3(mat, pack, subset) result(mulTrace)
2156#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2157 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_CK3
2158#endif
2159 use pm_kind, only: CKG => CK3
2160 complex(CKG) :: mulTrace
2161 complex(CKG) , intent(in) :: mat(:,:)
2162 type(rfpack_type) , intent(in) :: pack
2163 type(lowDia_type) , intent(in) :: subset
2164 end function
2165#endif
2166
2167#if CK2_ENABLED
2168 PURE module function getMatMulTrace_RFP_XLD_CK2(mat, pack, subset) result(mulTrace)
2169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2170 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_CK2
2171#endif
2172 use pm_kind, only: CKG => CK2
2173 complex(CKG) :: mulTrace
2174 complex(CKG) , intent(in) :: mat(:,:)
2175 type(rfpack_type) , intent(in) :: pack
2176 type(lowDia_type) , intent(in) :: subset
2177 end function
2178#endif
2179
2180#if CK1_ENABLED
2181 PURE module function getMatMulTrace_RFP_XLD_CK1(mat, pack, subset) result(mulTrace)
2182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2183 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_CK1
2184#endif
2185 use pm_kind, only: CKG => CK1
2186 complex(CKG) :: mulTrace
2187 complex(CKG) , intent(in) :: mat(:,:)
2188 type(rfpack_type) , intent(in) :: pack
2189 type(lowDia_type) , intent(in) :: subset
2190 end function
2191#endif
2192
2193 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2194
2195#if RK5_ENABLED
2196 PURE module function getMatMulTrace_RFP_XLD_RK5(mat, pack, subset) result(mulTrace)
2197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2198 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_RK5
2199#endif
2200 use pm_kind, only: RKG => RK5
2201 real(RKG) :: mulTrace
2202 real(RKG) , intent(in) :: mat(:,:)
2203 type(rfpack_type) , intent(in) :: pack
2204 type(lowDia_type) , intent(in) :: subset
2205 end function
2206#endif
2207
2208#if RK4_ENABLED
2209 PURE module function getMatMulTrace_RFP_XLD_RK4(mat, pack, subset) result(mulTrace)
2210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2211 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_RK4
2212#endif
2213 use pm_kind, only: RKG => RK4
2214 real(RKG) :: mulTrace
2215 real(RKG) , intent(in) :: mat(:,:)
2216 type(rfpack_type) , intent(in) :: pack
2217 type(lowDia_type) , intent(in) :: subset
2218 end function
2219#endif
2220
2221#if RK3_ENABLED
2222 PURE module function getMatMulTrace_RFP_XLD_RK3(mat, pack, subset) result(mulTrace)
2223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2224 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_RK3
2225#endif
2226 use pm_kind, only: RKG => RK3
2227 real(RKG) :: mulTrace
2228 real(RKG) , intent(in) :: mat(:,:)
2229 type(rfpack_type) , intent(in) :: pack
2230 type(lowDia_type) , intent(in) :: subset
2231 end function
2232#endif
2233
2234#if RK2_ENABLED
2235 PURE module function getMatMulTrace_RFP_XLD_RK2(mat, pack, subset) result(mulTrace)
2236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2237 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_RK2
2238#endif
2239 use pm_kind, only: RKG => RK2
2240 real(RKG) :: mulTrace
2241 real(RKG) , intent(in) :: mat(:,:)
2242 type(rfpack_type) , intent(in) :: pack
2243 type(lowDia_type) , intent(in) :: subset
2244 end function
2245#endif
2246
2247#if RK1_ENABLED
2248 PURE module function getMatMulTrace_RFP_XLD_RK1(mat, pack, subset) result(mulTrace)
2249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2250 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_RFP_XLD_RK1
2251#endif
2252 use pm_kind, only: RKG => RK1
2253 real(RKG) :: mulTrace
2254 real(RKG) , intent(in) :: mat(:,:)
2255 type(rfpack_type) , intent(in) :: pack
2256 type(lowDia_type) , intent(in) :: subset
2257 end function
2258#endif
2259
2260 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2261
2262 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2264 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2265
2266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2268 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2269
2270 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2271
2272#if IK5_ENABLED
2273 PURE module function getMatMulTrace_LFP_UXD_IK5(mat, pack, subset) result(mulTrace)
2274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2275 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_IK5
2276#endif
2277 use pm_kind, only: IKG => IK5
2278 integer(IKG) :: mulTrace
2279 integer(IKG) , intent(in) :: mat(:)
2280 type(lfpack_type) , intent(in) :: pack
2281 type(uppDia_type) , intent(in) :: subset
2282 end function
2283#endif
2284
2285#if IK4_ENABLED
2286 PURE module function getMatMulTrace_LFP_UXD_IK4(mat, pack, subset) result(mulTrace)
2287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2288 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_IK4
2289#endif
2290 use pm_kind, only: IKG => IK4
2291 integer(IKG) :: mulTrace
2292 integer(IKG) , intent(in) :: mat(:)
2293 type(lfpack_type) , intent(in) :: pack
2294 type(uppDia_type) , intent(in) :: subset
2295 end function
2296#endif
2297
2298#if IK3_ENABLED
2299 PURE module function getMatMulTrace_LFP_UXD_IK3(mat, pack, subset) result(mulTrace)
2300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2301 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_IK3
2302#endif
2303 use pm_kind, only: IKG => IK3
2304 integer(IKG) :: mulTrace
2305 integer(IKG) , intent(in) :: mat(:)
2306 type(lfpack_type) , intent(in) :: pack
2307 type(uppDia_type) , intent(in) :: subset
2308 end function
2309#endif
2310
2311#if IK2_ENABLED
2312 PURE module function getMatMulTrace_LFP_UXD_IK2(mat, pack, subset) result(mulTrace)
2313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2314 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_IK2
2315#endif
2316 use pm_kind, only: IKG => IK2
2317 integer(IKG) :: mulTrace
2318 integer(IKG) , intent(in) :: mat(:)
2319 type(lfpack_type) , intent(in) :: pack
2320 type(uppDia_type) , intent(in) :: subset
2321 end function
2322#endif
2323
2324#if IK1_ENABLED
2325 PURE module function getMatMulTrace_LFP_UXD_IK1(mat, pack, subset) result(mulTrace)
2326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2327 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_IK1
2328#endif
2329 use pm_kind, only: IKG => IK1
2330 integer(IKG) :: mulTrace
2331 integer(IKG) , intent(in) :: mat(:)
2332 type(lfpack_type) , intent(in) :: pack
2333 type(uppDia_type) , intent(in) :: subset
2334 end function
2335#endif
2336
2337 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2338
2339#if CK5_ENABLED
2340 PURE module function getMatMulTrace_LFP_UXD_CK5(mat, pack, subset) result(mulTrace)
2341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2342 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_CK5
2343#endif
2344 use pm_kind, only: CKG => CK5
2345 complex(CKG) :: mulTrace
2346 complex(CKG) , intent(in) :: mat(:)
2347 type(lfpack_type) , intent(in) :: pack
2348 type(uppDia_type) , intent(in) :: subset
2349 end function
2350#endif
2351
2352#if CK4_ENABLED
2353 PURE module function getMatMulTrace_LFP_UXD_CK4(mat, pack, subset) result(mulTrace)
2354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2355 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_CK4
2356#endif
2357 use pm_kind, only: CKG => CK4
2358 complex(CKG) :: mulTrace
2359 complex(CKG) , intent(in) :: mat(:)
2360 type(lfpack_type) , intent(in) :: pack
2361 type(uppDia_type) , intent(in) :: subset
2362 end function
2363#endif
2364
2365#if CK3_ENABLED
2366 PURE module function getMatMulTrace_LFP_UXD_CK3(mat, pack, subset) result(mulTrace)
2367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2368 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_CK3
2369#endif
2370 use pm_kind, only: CKG => CK3
2371 complex(CKG) :: mulTrace
2372 complex(CKG) , intent(in) :: mat(:)
2373 type(lfpack_type) , intent(in) :: pack
2374 type(uppDia_type) , intent(in) :: subset
2375 end function
2376#endif
2377
2378#if CK2_ENABLED
2379 PURE module function getMatMulTrace_LFP_UXD_CK2(mat, pack, subset) result(mulTrace)
2380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2381 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_CK2
2382#endif
2383 use pm_kind, only: CKG => CK2
2384 complex(CKG) :: mulTrace
2385 complex(CKG) , intent(in) :: mat(:)
2386 type(lfpack_type) , intent(in) :: pack
2387 type(uppDia_type) , intent(in) :: subset
2388 end function
2389#endif
2390
2391#if CK1_ENABLED
2392 PURE module function getMatMulTrace_LFP_UXD_CK1(mat, pack, subset) result(mulTrace)
2393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2394 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_CK1
2395#endif
2396 use pm_kind, only: CKG => CK1
2397 complex(CKG) :: mulTrace
2398 complex(CKG) , intent(in) :: mat(:)
2399 type(lfpack_type) , intent(in) :: pack
2400 type(uppDia_type) , intent(in) :: subset
2401 end function
2402#endif
2403
2404 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2405
2406#if RK5_ENABLED
2407 PURE module function getMatMulTrace_LFP_UXD_RK5(mat, pack, subset) result(mulTrace)
2408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2409 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_RK5
2410#endif
2411 use pm_kind, only: RKG => RK5
2412 real(RKG) :: mulTrace
2413 real(RKG) , intent(in) :: mat(:)
2414 type(lfpack_type) , intent(in) :: pack
2415 type(uppDia_type) , intent(in) :: subset
2416 end function
2417#endif
2418
2419#if RK4_ENABLED
2420 PURE module function getMatMulTrace_LFP_UXD_RK4(mat, pack, subset) result(mulTrace)
2421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2422 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_RK4
2423#endif
2424 use pm_kind, only: RKG => RK4
2425 real(RKG) :: mulTrace
2426 real(RKG) , intent(in) :: mat(:)
2427 type(lfpack_type) , intent(in) :: pack
2428 type(uppDia_type) , intent(in) :: subset
2429 end function
2430#endif
2431
2432#if RK3_ENABLED
2433 PURE module function getMatMulTrace_LFP_UXD_RK3(mat, pack, subset) result(mulTrace)
2434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2435 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_RK3
2436#endif
2437 use pm_kind, only: RKG => RK3
2438 real(RKG) :: mulTrace
2439 real(RKG) , intent(in) :: mat(:)
2440 type(lfpack_type) , intent(in) :: pack
2441 type(uppDia_type) , intent(in) :: subset
2442 end function
2443#endif
2444
2445#if RK2_ENABLED
2446 PURE module function getMatMulTrace_LFP_UXD_RK2(mat, pack, subset) result(mulTrace)
2447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2448 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_RK2
2449#endif
2450 use pm_kind, only: RKG => RK2
2451 real(RKG) :: mulTrace
2452 real(RKG) , intent(in) :: mat(:)
2453 type(lfpack_type) , intent(in) :: pack
2454 type(uppDia_type) , intent(in) :: subset
2455 end function
2456#endif
2457
2458#if RK1_ENABLED
2459 PURE module function getMatMulTrace_LFP_UXD_RK1(mat, pack, subset) result(mulTrace)
2460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2461 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_UXD_RK1
2462#endif
2463 use pm_kind, only: RKG => RK1
2464 real(RKG) :: mulTrace
2465 real(RKG) , intent(in) :: mat(:)
2466 type(lfpack_type) , intent(in) :: pack
2467 type(uppDia_type) , intent(in) :: subset
2468 end function
2469#endif
2470
2471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2472
2473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2476
2477 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2478
2479#if IK5_ENABLED
2480 PURE module function getMatMulTrace_LFP_XLD_IK5(mat, pack, subset) result(mulTrace)
2481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2482 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_IK5
2483#endif
2484 use pm_kind, only: IKG => IK5
2485 integer(IKG) :: mulTrace
2486 integer(IKG) , intent(in) :: mat(:)
2487 type(lfpack_type) , intent(in) :: pack
2488 type(lowDia_type) , intent(in) :: subset
2489 end function
2490#endif
2491
2492#if IK4_ENABLED
2493 PURE module function getMatMulTrace_LFP_XLD_IK4(mat, pack, subset) result(mulTrace)
2494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2495 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_IK4
2496#endif
2497 use pm_kind, only: IKG => IK4
2498 integer(IKG) :: mulTrace
2499 integer(IKG) , intent(in) :: mat(:)
2500 type(lfpack_type) , intent(in) :: pack
2501 type(lowDia_type) , intent(in) :: subset
2502 end function
2503#endif
2504
2505#if IK3_ENABLED
2506 PURE module function getMatMulTrace_LFP_XLD_IK3(mat, pack, subset) result(mulTrace)
2507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2508 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_IK3
2509#endif
2510 use pm_kind, only: IKG => IK3
2511 integer(IKG) :: mulTrace
2512 integer(IKG) , intent(in) :: mat(:)
2513 type(lfpack_type) , intent(in) :: pack
2514 type(lowDia_type) , intent(in) :: subset
2515 end function
2516#endif
2517
2518#if IK2_ENABLED
2519 PURE module function getMatMulTrace_LFP_XLD_IK2(mat, pack, subset) result(mulTrace)
2520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2521 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_IK2
2522#endif
2523 use pm_kind, only: IKG => IK2
2524 integer(IKG) :: mulTrace
2525 integer(IKG) , intent(in) :: mat(:)
2526 type(lfpack_type) , intent(in) :: pack
2527 type(lowDia_type) , intent(in) :: subset
2528 end function
2529#endif
2530
2531#if IK1_ENABLED
2532 PURE module function getMatMulTrace_LFP_XLD_IK1(mat, pack, subset) result(mulTrace)
2533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2534 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_IK1
2535#endif
2536 use pm_kind, only: IKG => IK1
2537 integer(IKG) :: mulTrace
2538 integer(IKG) , intent(in) :: mat(:)
2539 type(lfpack_type) , intent(in) :: pack
2540 type(lowDia_type) , intent(in) :: subset
2541 end function
2542#endif
2543
2544 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2545
2546#if CK5_ENABLED
2547 PURE module function getMatMulTrace_LFP_XLD_CK5(mat, pack, subset) result(mulTrace)
2548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2549 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_CK5
2550#endif
2551 use pm_kind, only: CKG => CK5
2552 complex(CKG) :: mulTrace
2553 complex(CKG) , intent(in) :: mat(:)
2554 type(lfpack_type) , intent(in) :: pack
2555 type(lowDia_type) , intent(in) :: subset
2556 end function
2557#endif
2558
2559#if CK4_ENABLED
2560 PURE module function getMatMulTrace_LFP_XLD_CK4(mat, pack, subset) result(mulTrace)
2561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2562 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_CK4
2563#endif
2564 use pm_kind, only: CKG => CK4
2565 complex(CKG) :: mulTrace
2566 complex(CKG) , intent(in) :: mat(:)
2567 type(lfpack_type) , intent(in) :: pack
2568 type(lowDia_type) , intent(in) :: subset
2569 end function
2570#endif
2571
2572#if CK3_ENABLED
2573 PURE module function getMatMulTrace_LFP_XLD_CK3(mat, pack, subset) result(mulTrace)
2574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2575 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_CK3
2576#endif
2577 use pm_kind, only: CKG => CK3
2578 complex(CKG) :: mulTrace
2579 complex(CKG) , intent(in) :: mat(:)
2580 type(lfpack_type) , intent(in) :: pack
2581 type(lowDia_type) , intent(in) :: subset
2582 end function
2583#endif
2584
2585#if CK2_ENABLED
2586 PURE module function getMatMulTrace_LFP_XLD_CK2(mat, pack, subset) result(mulTrace)
2587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2588 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_CK2
2589#endif
2590 use pm_kind, only: CKG => CK2
2591 complex(CKG) :: mulTrace
2592 complex(CKG) , intent(in) :: mat(:)
2593 type(lfpack_type) , intent(in) :: pack
2594 type(lowDia_type) , intent(in) :: subset
2595 end function
2596#endif
2597
2598#if CK1_ENABLED
2599 PURE module function getMatMulTrace_LFP_XLD_CK1(mat, pack, subset) result(mulTrace)
2600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2601 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_CK1
2602#endif
2603 use pm_kind, only: CKG => CK1
2604 complex(CKG) :: mulTrace
2605 complex(CKG) , intent(in) :: mat(:)
2606 type(lfpack_type) , intent(in) :: pack
2607 type(lowDia_type) , intent(in) :: subset
2608 end function
2609#endif
2610
2611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2612
2613#if RK5_ENABLED
2614 PURE module function getMatMulTrace_LFP_XLD_RK5(mat, pack, subset) result(mulTrace)
2615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2616 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_RK5
2617#endif
2618 use pm_kind, only: RKG => RK5
2619 real(RKG) :: mulTrace
2620 real(RKG) , intent(in) :: mat(:)
2621 type(lfpack_type) , intent(in) :: pack
2622 type(lowDia_type) , intent(in) :: subset
2623 end function
2624#endif
2625
2626#if RK4_ENABLED
2627 PURE module function getMatMulTrace_LFP_XLD_RK4(mat, pack, subset) result(mulTrace)
2628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2629 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_RK4
2630#endif
2631 use pm_kind, only: RKG => RK4
2632 real(RKG) :: mulTrace
2633 real(RKG) , intent(in) :: mat(:)
2634 type(lfpack_type) , intent(in) :: pack
2635 type(lowDia_type) , intent(in) :: subset
2636 end function
2637#endif
2638
2639#if RK3_ENABLED
2640 PURE module function getMatMulTrace_LFP_XLD_RK3(mat, pack, subset) result(mulTrace)
2641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2642 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_RK3
2643#endif
2644 use pm_kind, only: RKG => RK3
2645 real(RKG) :: mulTrace
2646 real(RKG) , intent(in) :: mat(:)
2647 type(lfpack_type) , intent(in) :: pack
2648 type(lowDia_type) , intent(in) :: subset
2649 end function
2650#endif
2651
2652#if RK2_ENABLED
2653 PURE module function getMatMulTrace_LFP_XLD_RK2(mat, pack, subset) result(mulTrace)
2654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2655 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_RK2
2656#endif
2657 use pm_kind, only: RKG => RK2
2658 real(RKG) :: mulTrace
2659 real(RKG) , intent(in) :: mat(:)
2660 type(lfpack_type) , intent(in) :: pack
2661 type(lowDia_type) , intent(in) :: subset
2662 end function
2663#endif
2664
2665#if RK1_ENABLED
2666 PURE module function getMatMulTrace_LFP_XLD_RK1(mat, pack, subset) result(mulTrace)
2667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2668 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTrace_LFP_XLD_RK1
2669#endif
2670 use pm_kind, only: RKG => RK1
2671 real(RKG) :: mulTrace
2672 real(RKG) , intent(in) :: mat(:)
2673 type(lfpack_type) , intent(in) :: pack
2674 type(lowDia_type) , intent(in) :: subset
2675 end function
2676#endif
2677
2678 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2679
2680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2683
2684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2685 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2686 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2687
2688 end interface
2689
2690!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2691
2770
2771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2773 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2774
2775 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2776 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2777 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2778
2779 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2780
2781#if IK5_ENABLED
2782 PURE module function getMatMulTraceLog_DEF_XXX_IK5(mat) result(logMulTrace)
2783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2784 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_IK5
2785#endif
2786 use pm_kind, only: IKG => IK5
2787 integer(IKG) , intent(in) :: mat(:,:)
2788 real(RKD) :: logMulTrace
2789 end function
2790#endif
2791
2792#if IK4_ENABLED
2793 PURE module function getMatMulTraceLog_DEF_XXX_IK4(mat) result(logMulTrace)
2794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2795 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_IK4
2796#endif
2797 use pm_kind, only: IKG => IK4
2798 integer(IKG) , intent(in) :: mat(:,:)
2799 real(RKD) :: logMulTrace
2800 end function
2801#endif
2802
2803#if IK3_ENABLED
2804 PURE module function getMatMulTraceLog_DEF_XXX_IK3(mat) result(logMulTrace)
2805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2806 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_IK3
2807#endif
2808 use pm_kind, only: IKG => IK3
2809 integer(IKG) , intent(in) :: mat(:,:)
2810 real(RKD) :: logMulTrace
2811 end function
2812#endif
2813
2814#if IK2_ENABLED
2815 PURE module function getMatMulTraceLog_DEF_XXX_IK2(mat) result(logMulTrace)
2816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2817 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_IK2
2818#endif
2819 use pm_kind, only: IKG => IK2
2820 integer(IKG) , intent(in) :: mat(:,:)
2821 real(RKD) :: logMulTrace
2822 end function
2823#endif
2824
2825#if IK1_ENABLED
2826 PURE module function getMatMulTraceLog_DEF_XXX_IK1(mat) result(logMulTrace)
2827#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2828 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_IK1
2829#endif
2830 use pm_kind, only: IKG => IK1
2831 integer(IKG) , intent(in) :: mat(:,:)
2832 real(RKD) :: logMulTrace
2833 end function
2834#endif
2835
2836 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2837
2838#if CK5_ENABLED
2839 PURE module function getMatMulTraceLog_DEF_XXX_CK5(mat) result(logMulTrace)
2840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2841 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_CK5
2842#endif
2843 use pm_kind, only: CKG => CK5
2844 complex(CKG) , intent(in) :: mat(:,:)
2845 complex(CKG) :: logMulTrace
2846 end function
2847#endif
2848
2849#if CK4_ENABLED
2850 PURE module function getMatMulTraceLog_DEF_XXX_CK4(mat) result(logMulTrace)
2851#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2852 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_CK4
2853#endif
2854 use pm_kind, only: CKG => CK4
2855 complex(CKG) , intent(in) :: mat(:,:)
2856 complex(CKG) :: logMulTrace
2857 end function
2858#endif
2859
2860#if CK3_ENABLED
2861 PURE module function getMatMulTraceLog_DEF_XXX_CK3(mat) result(logMulTrace)
2862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2863 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_CK3
2864#endif
2865 use pm_kind, only: CKG => CK3
2866 complex(CKG) , intent(in) :: mat(:,:)
2867 complex(CKG) :: logMulTrace
2868 end function
2869#endif
2870
2871#if CK2_ENABLED
2872 PURE module function getMatMulTraceLog_DEF_XXX_CK2(mat) result(logMulTrace)
2873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2874 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_CK2
2875#endif
2876 use pm_kind, only: CKG => CK2
2877 complex(CKG) , intent(in) :: mat(:,:)
2878 complex(CKG) :: logMulTrace
2879 end function
2880#endif
2881
2882#if CK1_ENABLED
2883 PURE module function getMatMulTraceLog_DEF_XXX_CK1(mat) result(logMulTrace)
2884#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2885 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_CK1
2886#endif
2887 use pm_kind, only: CKG => CK1
2888 complex(CKG) , intent(in) :: mat(:,:)
2889 complex(CKG) :: logMulTrace
2890 end function
2891#endif
2892
2893 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2894
2895#if RK5_ENABLED
2896 PURE module function getMatMulTraceLog_DEF_XXX_RK5(mat) result(logMulTrace)
2897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2898 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_RK5
2899#endif
2900 use pm_kind, only: RKG => RK5
2901 real(RKG) , intent(in) :: mat(:,:)
2902 real(RKG) :: logMulTrace
2903 end function
2904#endif
2905
2906#if RK4_ENABLED
2907 PURE module function getMatMulTraceLog_DEF_XXX_RK4(mat) result(logMulTrace)
2908#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2909 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_RK4
2910#endif
2911 use pm_kind, only: RKG => RK4
2912 real(RKG) , intent(in) :: mat(:,:)
2913 real(RKG) :: logMulTrace
2914 end function
2915#endif
2916
2917#if RK3_ENABLED
2918 PURE module function getMatMulTraceLog_DEF_XXX_RK3(mat) result(logMulTrace)
2919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2920 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_RK3
2921#endif
2922 use pm_kind, only: RKG => RK3
2923 real(RKG) , intent(in) :: mat(:,:)
2924 real(RKG) :: logMulTrace
2925 end function
2926#endif
2927
2928#if RK2_ENABLED
2929 PURE module function getMatMulTraceLog_DEF_XXX_RK2(mat) result(logMulTrace)
2930#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2931 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_RK2
2932#endif
2933 use pm_kind, only: RKG => RK2
2934 real(RKG) , intent(in) :: mat(:,:)
2935 real(RKG) :: logMulTrace
2936 end function
2937#endif
2938
2939#if RK1_ENABLED
2940 PURE module function getMatMulTraceLog_DEF_XXX_RK1(mat) result(logMulTrace)
2941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2942 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_DEF_XXX_RK1
2943#endif
2944 use pm_kind, only: RKG => RK1
2945 real(RKG) , intent(in) :: mat(:,:)
2946 real(RKG) :: logMulTrace
2947 end function
2948#endif
2949
2950 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2951
2952 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2953 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2955
2956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2957 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2959
2960 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2961
2962#if IK5_ENABLED
2963 PURE module function getMatMulTraceLog_RDP_XXX_IK5(mat, pack) result(logMulTrace)
2964#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2965 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_IK5
2966#endif
2967 use pm_kind, only: IKG => IK5
2968 integer(IKG) , intent(in) :: mat(:,:)
2969 type(rdpack_type) , intent(in) :: pack
2970 real(RKD) :: logMulTrace
2971 end function
2972#endif
2973
2974#if IK4_ENABLED
2975 PURE module function getMatMulTraceLog_RDP_XXX_IK4(mat, pack) result(logMulTrace)
2976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2977 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_IK4
2978#endif
2979 use pm_kind, only: IKG => IK4
2980 integer(IKG) , intent(in) :: mat(:,:)
2981 type(rdpack_type) , intent(in) :: pack
2982 real(RKD) :: logMulTrace
2983 end function
2984#endif
2985
2986#if IK3_ENABLED
2987 PURE module function getMatMulTraceLog_RDP_XXX_IK3(mat, pack) result(logMulTrace)
2988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2989 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_IK3
2990#endif
2991 use pm_kind, only: IKG => IK3
2992 integer(IKG) , intent(in) :: mat(:,:)
2993 type(rdpack_type) , intent(in) :: pack
2994 real(RKD) :: logMulTrace
2995 end function
2996#endif
2997
2998#if IK2_ENABLED
2999 PURE module function getMatMulTraceLog_RDP_XXX_IK2(mat, pack) result(logMulTrace)
3000#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3001 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_IK2
3002#endif
3003 use pm_kind, only: IKG => IK2
3004 integer(IKG) , intent(in) :: mat(:,:)
3005 type(rdpack_type) , intent(in) :: pack
3006 real(RKD) :: logMulTrace
3007 end function
3008#endif
3009
3010#if IK1_ENABLED
3011 PURE module function getMatMulTraceLog_RDP_XXX_IK1(mat, pack) result(logMulTrace)
3012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3013 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_IK1
3014#endif
3015 use pm_kind, only: IKG => IK1
3016 integer(IKG) , intent(in) :: mat(:,:)
3017 type(rdpack_type) , intent(in) :: pack
3018 real(RKD) :: logMulTrace
3019 end function
3020#endif
3021
3022 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3023
3024#if CK5_ENABLED
3025 PURE module function getMatMulTraceLog_RDP_XXX_CK5(mat, pack) result(logMulTrace)
3026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3027 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_CK5
3028#endif
3029 use pm_kind, only: CKG => CK5
3030 complex(CKG) , intent(in) :: mat(:,:)
3031 type(rdpack_type) , intent(in) :: pack
3032 complex(CKG) :: logMulTrace
3033 end function
3034#endif
3035
3036#if CK4_ENABLED
3037 PURE module function getMatMulTraceLog_RDP_XXX_CK4(mat, pack) result(logMulTrace)
3038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3039 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_CK4
3040#endif
3041 use pm_kind, only: CKG => CK4
3042 complex(CKG) , intent(in) :: mat(:,:)
3043 type(rdpack_type) , intent(in) :: pack
3044 complex(CKG) :: logMulTrace
3045 end function
3046#endif
3047
3048#if CK3_ENABLED
3049 PURE module function getMatMulTraceLog_RDP_XXX_CK3(mat, pack) result(logMulTrace)
3050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3051 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_CK3
3052#endif
3053 use pm_kind, only: CKG => CK3
3054 complex(CKG) , intent(in) :: mat(:,:)
3055 type(rdpack_type) , intent(in) :: pack
3056 complex(CKG) :: logMulTrace
3057 end function
3058#endif
3059
3060#if CK2_ENABLED
3061 PURE module function getMatMulTraceLog_RDP_XXX_CK2(mat, pack) result(logMulTrace)
3062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3063 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_CK2
3064#endif
3065 use pm_kind, only: CKG => CK2
3066 complex(CKG) , intent(in) :: mat(:,:)
3067 type(rdpack_type) , intent(in) :: pack
3068 complex(CKG) :: logMulTrace
3069 end function
3070#endif
3071
3072#if CK1_ENABLED
3073 PURE module function getMatMulTraceLog_RDP_XXX_CK1(mat, pack) result(logMulTrace)
3074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3075 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_CK1
3076#endif
3077 use pm_kind, only: CKG => CK1
3078 complex(CKG) , intent(in) :: mat(:,:)
3079 type(rdpack_type) , intent(in) :: pack
3080 complex(CKG) :: logMulTrace
3081 end function
3082#endif
3083
3084 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3085
3086#if RK5_ENABLED
3087 PURE module function getMatMulTraceLog_RDP_XXX_RK5(mat, pack) result(logMulTrace)
3088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3089 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_RK5
3090#endif
3091 use pm_kind, only: RKG => RK5
3092 real(RKG) , intent(in) :: mat(:,:)
3093 real(RKG) :: logMulTrace
3094 type(rdpack_type) , intent(in) :: pack
3095 end function
3096#endif
3097
3098#if RK4_ENABLED
3099 PURE module function getMatMulTraceLog_RDP_XXX_RK4(mat, pack) result(logMulTrace)
3100#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3101 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_RK4
3102#endif
3103 use pm_kind, only: RKG => RK4
3104 real(RKG) , intent(in) :: mat(:,:)
3105 type(rdpack_type) , intent(in) :: pack
3106 real(RKG) :: logMulTrace
3107 end function
3108#endif
3109
3110#if RK3_ENABLED
3111 PURE module function getMatMulTraceLog_RDP_XXX_RK3(mat, pack) result(logMulTrace)
3112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3113 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_RK3
3114#endif
3115 use pm_kind, only: RKG => RK3
3116 real(RKG) , intent(in) :: mat(:,:)
3117 type(rdpack_type) , intent(in) :: pack
3118 real(RKG) :: logMulTrace
3119 end function
3120#endif
3121
3122#if RK2_ENABLED
3123 PURE module function getMatMulTraceLog_RDP_XXX_RK2(mat, pack) result(logMulTrace)
3124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3125 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_RK2
3126#endif
3127 use pm_kind, only: RKG => RK2
3128 real(RKG) , intent(in) :: mat(:,:)
3129 type(rdpack_type) , intent(in) :: pack
3130 real(RKG) :: logMulTrace
3131 end function
3132#endif
3133
3134#if RK1_ENABLED
3135 PURE module function getMatMulTraceLog_RDP_XXX_RK1(mat, pack) result(logMulTrace)
3136#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3137 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RDP_XXX_RK1
3138#endif
3139 use pm_kind, only: RKG => RK1
3140 real(RKG) , intent(in) :: mat(:,:)
3141 type(rdpack_type) , intent(in) :: pack
3142 real(RKG) :: logMulTrace
3143 end function
3144#endif
3145
3146 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3147
3148 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3149 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3151
3152 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3154 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3155
3156 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3157
3158#if IK5_ENABLED
3159 PURE module function getMatMulTraceLog_RFP_UXD_IK5(mat, pack, subset) result(logMulTrace)
3160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3161 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_IK5
3162#endif
3163 use pm_kind, only: IKG => IK5
3164 real(RKD) :: logMulTrace
3165 integer(IKG) , intent(in) :: mat(:,:)
3166 type(rfpack_type) , intent(in) :: pack
3167 type(uppDia_type) , intent(in) :: subset
3168 end function
3169#endif
3170
3171#if IK4_ENABLED
3172 PURE module function getMatMulTraceLog_RFP_UXD_IK4(mat, pack, subset) result(logMulTrace)
3173#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3174 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_IK4
3175#endif
3176 use pm_kind, only: IKG => IK4
3177 real(RKD) :: logMulTrace
3178 integer(IKG) , intent(in) :: mat(:,:)
3179 type(rfpack_type) , intent(in) :: pack
3180 type(uppDia_type) , intent(in) :: subset
3181 end function
3182#endif
3183
3184#if IK3_ENABLED
3185 PURE module function getMatMulTraceLog_RFP_UXD_IK3(mat, pack, subset) result(logMulTrace)
3186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3187 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_IK3
3188#endif
3189 use pm_kind, only: IKG => IK3
3190 real(RKD) :: logMulTrace
3191 integer(IKG) , intent(in) :: mat(:,:)
3192 type(rfpack_type) , intent(in) :: pack
3193 type(uppDia_type) , intent(in) :: subset
3194 end function
3195#endif
3196
3197#if IK2_ENABLED
3198 PURE module function getMatMulTraceLog_RFP_UXD_IK2(mat, pack, subset) result(logMulTrace)
3199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3200 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_IK2
3201#endif
3202 use pm_kind, only: IKG => IK2
3203 real(RKD) :: logMulTrace
3204 integer(IKG) , intent(in) :: mat(:,:)
3205 type(rfpack_type) , intent(in) :: pack
3206 type(uppDia_type) , intent(in) :: subset
3207 end function
3208#endif
3209
3210#if IK1_ENABLED
3211 PURE module function getMatMulTraceLog_RFP_UXD_IK1(mat, pack, subset) result(logMulTrace)
3212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3213 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_IK1
3214#endif
3215 use pm_kind, only: IKG => IK1
3216 real(RKD) :: logMulTrace
3217 integer(IKG) , intent(in) :: mat(:,:)
3218 type(rfpack_type) , intent(in) :: pack
3219 type(uppDia_type) , intent(in) :: subset
3220 end function
3221#endif
3222
3223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3224
3225#if CK5_ENABLED
3226 PURE module function getMatMulTraceLog_RFP_UXD_CK5(mat, pack, subset) result(logMulTrace)
3227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3228 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_CK5
3229#endif
3230 use pm_kind, only: CKG => CK5
3231 complex(CKG) :: logMulTrace
3232 complex(CKG) , intent(in) :: mat(:,:)
3233 type(rfpack_type) , intent(in) :: pack
3234 type(uppDia_type) , intent(in) :: subset
3235 end function
3236#endif
3237
3238#if CK4_ENABLED
3239 PURE module function getMatMulTraceLog_RFP_UXD_CK4(mat, pack, subset) result(logMulTrace)
3240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3241 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_CK4
3242#endif
3243 use pm_kind, only: CKG => CK4
3244 complex(CKG) :: logMulTrace
3245 complex(CKG) , intent(in) :: mat(:,:)
3246 type(rfpack_type) , intent(in) :: pack
3247 type(uppDia_type) , intent(in) :: subset
3248 end function
3249#endif
3250
3251#if CK3_ENABLED
3252 PURE module function getMatMulTraceLog_RFP_UXD_CK3(mat, pack, subset) result(logMulTrace)
3253#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3254 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_CK3
3255#endif
3256 use pm_kind, only: CKG => CK3
3257 complex(CKG) :: logMulTrace
3258 complex(CKG) , intent(in) :: mat(:,:)
3259 type(rfpack_type) , intent(in) :: pack
3260 type(uppDia_type) , intent(in) :: subset
3261 end function
3262#endif
3263
3264#if CK2_ENABLED
3265 PURE module function getMatMulTraceLog_RFP_UXD_CK2(mat, pack, subset) result(logMulTrace)
3266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3267 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_CK2
3268#endif
3269 use pm_kind, only: CKG => CK2
3270 complex(CKG) :: logMulTrace
3271 complex(CKG) , intent(in) :: mat(:,:)
3272 type(rfpack_type) , intent(in) :: pack
3273 type(uppDia_type) , intent(in) :: subset
3274 end function
3275#endif
3276
3277#if CK1_ENABLED
3278 PURE module function getMatMulTraceLog_RFP_UXD_CK1(mat, pack, subset) result(logMulTrace)
3279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3280 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_CK1
3281#endif
3282 use pm_kind, only: CKG => CK1
3283 complex(CKG) :: logMulTrace
3284 complex(CKG) , intent(in) :: mat(:,:)
3285 type(rfpack_type) , intent(in) :: pack
3286 type(uppDia_type) , intent(in) :: subset
3287 end function
3288#endif
3289
3290 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3291
3292#if RK5_ENABLED
3293 PURE module function getMatMulTraceLog_RFP_UXD_RK5(mat, pack, subset) result(logMulTrace)
3294#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3295 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_RK5
3296#endif
3297 use pm_kind, only: RKG => RK5
3298 real(RKG) :: logMulTrace
3299 real(RKG) , intent(in) :: mat(:,:)
3300 type(rfpack_type) , intent(in) :: pack
3301 type(uppDia_type) , intent(in) :: subset
3302 end function
3303#endif
3304
3305#if RK4_ENABLED
3306 PURE module function getMatMulTraceLog_RFP_UXD_RK4(mat, pack, subset) result(logMulTrace)
3307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3308 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_RK4
3309#endif
3310 use pm_kind, only: RKG => RK4
3311 real(RKG) :: logMulTrace
3312 real(RKG) , intent(in) :: mat(:,:)
3313 type(rfpack_type) , intent(in) :: pack
3314 type(uppDia_type) , intent(in) :: subset
3315 end function
3316#endif
3317
3318#if RK3_ENABLED
3319 PURE module function getMatMulTraceLog_RFP_UXD_RK3(mat, pack, subset) result(logMulTrace)
3320#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3321 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_RK3
3322#endif
3323 use pm_kind, only: RKG => RK3
3324 real(RKG) :: logMulTrace
3325 real(RKG) , intent(in) :: mat(:,:)
3326 type(rfpack_type) , intent(in) :: pack
3327 type(uppDia_type) , intent(in) :: subset
3328 end function
3329#endif
3330
3331#if RK2_ENABLED
3332 PURE module function getMatMulTraceLog_RFP_UXD_RK2(mat, pack, subset) result(logMulTrace)
3333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3334 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_RK2
3335#endif
3336 use pm_kind, only: RKG => RK2
3337 real(RKG) :: logMulTrace
3338 real(RKG) , intent(in) :: mat(:,:)
3339 type(rfpack_type) , intent(in) :: pack
3340 type(uppDia_type) , intent(in) :: subset
3341 end function
3342#endif
3343
3344#if RK1_ENABLED
3345 PURE module function getMatMulTraceLog_RFP_UXD_RK1(mat, pack, subset) result(logMulTrace)
3346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3347 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_UXD_RK1
3348#endif
3349 use pm_kind, only: RKG => RK1
3350 real(RKG) :: logMulTrace
3351 real(RKG) , intent(in) :: mat(:,:)
3352 type(rfpack_type) , intent(in) :: pack
3353 type(uppDia_type) , intent(in) :: subset
3354 end function
3355#endif
3356
3357 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3358
3359 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3360 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3361 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3362
3363 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3364
3365#if IK5_ENABLED
3366 PURE module function getMatMulTraceLog_RFP_XLD_IK5(mat, pack, subset) result(logMulTrace)
3367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3368 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_IK5
3369#endif
3370 use pm_kind, only: IKG => IK5
3371 real(RKD) :: logMulTrace
3372 integer(IKG) , intent(in) :: mat(:,:)
3373 type(rfpack_type) , intent(in) :: pack
3374 type(lowDia_type) , intent(in) :: subset
3375 end function
3376#endif
3377
3378#if IK4_ENABLED
3379 PURE module function getMatMulTraceLog_RFP_XLD_IK4(mat, pack, subset) result(logMulTrace)
3380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3381 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_IK4
3382#endif
3383 use pm_kind, only: IKG => IK4
3384 real(RKD) :: logMulTrace
3385 integer(IKG) , intent(in) :: mat(:,:)
3386 type(rfpack_type) , intent(in) :: pack
3387 type(lowDia_type) , intent(in) :: subset
3388 end function
3389#endif
3390
3391#if IK3_ENABLED
3392 PURE module function getMatMulTraceLog_RFP_XLD_IK3(mat, pack, subset) result(logMulTrace)
3393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3394 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_IK3
3395#endif
3396 use pm_kind, only: IKG => IK3
3397 real(RKD) :: logMulTrace
3398 integer(IKG) , intent(in) :: mat(:,:)
3399 type(rfpack_type) , intent(in) :: pack
3400 type(lowDia_type) , intent(in) :: subset
3401 end function
3402#endif
3403
3404#if IK2_ENABLED
3405 PURE module function getMatMulTraceLog_RFP_XLD_IK2(mat, pack, subset) result(logMulTrace)
3406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3407 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_IK2
3408#endif
3409 use pm_kind, only: IKG => IK2
3410 real(RKD) :: logMulTrace
3411 integer(IKG) , intent(in) :: mat(:,:)
3412 type(rfpack_type) , intent(in) :: pack
3413 type(lowDia_type) , intent(in) :: subset
3414 end function
3415#endif
3416
3417#if IK1_ENABLED
3418 PURE module function getMatMulTraceLog_RFP_XLD_IK1(mat, pack, subset) result(logMulTrace)
3419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3420 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_IK1
3421#endif
3422 use pm_kind, only: IKG => IK1
3423 real(RKD) :: logMulTrace
3424 integer(IKG) , intent(in) :: mat(:,:)
3425 type(rfpack_type) , intent(in) :: pack
3426 type(lowDia_type) , intent(in) :: subset
3427 end function
3428#endif
3429
3430 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3431
3432#if CK5_ENABLED
3433 PURE module function getMatMulTraceLog_RFP_XLD_CK5(mat, pack, subset) result(logMulTrace)
3434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3435 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_CK5
3436#endif
3437 use pm_kind, only: CKG => CK5
3438 complex(CKG) :: logMulTrace
3439 complex(CKG) , intent(in) :: mat(:,:)
3440 type(rfpack_type) , intent(in) :: pack
3441 type(lowDia_type) , intent(in) :: subset
3442 end function
3443#endif
3444
3445#if CK4_ENABLED
3446 PURE module function getMatMulTraceLog_RFP_XLD_CK4(mat, pack, subset) result(logMulTrace)
3447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3448 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_CK4
3449#endif
3450 use pm_kind, only: CKG => CK4
3451 complex(CKG) :: logMulTrace
3452 complex(CKG) , intent(in) :: mat(:,:)
3453 type(rfpack_type) , intent(in) :: pack
3454 type(lowDia_type) , intent(in) :: subset
3455 end function
3456#endif
3457
3458#if CK3_ENABLED
3459 PURE module function getMatMulTraceLog_RFP_XLD_CK3(mat, pack, subset) result(logMulTrace)
3460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3461 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_CK3
3462#endif
3463 use pm_kind, only: CKG => CK3
3464 complex(CKG) :: logMulTrace
3465 complex(CKG) , intent(in) :: mat(:,:)
3466 type(rfpack_type) , intent(in) :: pack
3467 type(lowDia_type) , intent(in) :: subset
3468 end function
3469#endif
3470
3471#if CK2_ENABLED
3472 PURE module function getMatMulTraceLog_RFP_XLD_CK2(mat, pack, subset) result(logMulTrace)
3473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3474 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_CK2
3475#endif
3476 use pm_kind, only: CKG => CK2
3477 complex(CKG) :: logMulTrace
3478 complex(CKG) , intent(in) :: mat(:,:)
3479 type(rfpack_type) , intent(in) :: pack
3480 type(lowDia_type) , intent(in) :: subset
3481 end function
3482#endif
3483
3484#if CK1_ENABLED
3485 PURE module function getMatMulTraceLog_RFP_XLD_CK1(mat, pack, subset) result(logMulTrace)
3486#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3487 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_CK1
3488#endif
3489 use pm_kind, only: CKG => CK1
3490 complex(CKG) :: logMulTrace
3491 complex(CKG) , intent(in) :: mat(:,:)
3492 type(rfpack_type) , intent(in) :: pack
3493 type(lowDia_type) , intent(in) :: subset
3494 end function
3495#endif
3496
3497 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3498
3499#if RK5_ENABLED
3500 PURE module function getMatMulTraceLog_RFP_XLD_RK5(mat, pack, subset) result(logMulTrace)
3501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3502 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_RK5
3503#endif
3504 use pm_kind, only: RKG => RK5
3505 real(RKG) :: logMulTrace
3506 real(RKG) , intent(in) :: mat(:,:)
3507 type(rfpack_type) , intent(in) :: pack
3508 type(lowDia_type) , intent(in) :: subset
3509 end function
3510#endif
3511
3512#if RK4_ENABLED
3513 PURE module function getMatMulTraceLog_RFP_XLD_RK4(mat, pack, subset) result(logMulTrace)
3514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3515 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_RK4
3516#endif
3517 use pm_kind, only: RKG => RK4
3518 real(RKG) :: logMulTrace
3519 real(RKG) , intent(in) :: mat(:,:)
3520 type(rfpack_type) , intent(in) :: pack
3521 type(lowDia_type) , intent(in) :: subset
3522 end function
3523#endif
3524
3525#if RK3_ENABLED
3526 PURE module function getMatMulTraceLog_RFP_XLD_RK3(mat, pack, subset) result(logMulTrace)
3527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3528 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_RK3
3529#endif
3530 use pm_kind, only: RKG => RK3
3531 real(RKG) :: logMulTrace
3532 real(RKG) , intent(in) :: mat(:,:)
3533 type(rfpack_type) , intent(in) :: pack
3534 type(lowDia_type) , intent(in) :: subset
3535 end function
3536#endif
3537
3538#if RK2_ENABLED
3539 PURE module function getMatMulTraceLog_RFP_XLD_RK2(mat, pack, subset) result(logMulTrace)
3540#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3541 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_RK2
3542#endif
3543 use pm_kind, only: RKG => RK2
3544 real(RKG) :: logMulTrace
3545 real(RKG) , intent(in) :: mat(:,:)
3546 type(rfpack_type) , intent(in) :: pack
3547 type(lowDia_type) , intent(in) :: subset
3548 end function
3549#endif
3550
3551#if RK1_ENABLED
3552 PURE module function getMatMulTraceLog_RFP_XLD_RK1(mat, pack, subset) result(logMulTrace)
3553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3554 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_RFP_XLD_RK1
3555#endif
3556 use pm_kind, only: RKG => RK1
3557 real(RKG) :: logMulTrace
3558 real(RKG) , intent(in) :: mat(:,:)
3559 type(rfpack_type) , intent(in) :: pack
3560 type(lowDia_type) , intent(in) :: subset
3561 end function
3562#endif
3563
3564 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3565
3566 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3567 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3568 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3569
3570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3572 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3573
3574 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3575
3576#if IK5_ENABLED
3577 PURE module function getMatMulTraceLog_LFP_UXD_IK5(mat, pack, subset) result(logMulTrace)
3578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3579 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_IK5
3580#endif
3581 use pm_kind, only: IKG => IK5
3582 real(RKD) :: logMulTrace
3583 integer(IKG) , intent(in) :: mat(:)
3584 type(lfpack_type) , intent(in) :: pack
3585 type(uppDia_type) , intent(in) :: subset
3586 end function
3587#endif
3588
3589#if IK4_ENABLED
3590 PURE module function getMatMulTraceLog_LFP_UXD_IK4(mat, pack, subset) result(logMulTrace)
3591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3592 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_IK4
3593#endif
3594 use pm_kind, only: IKG => IK4
3595 real(RKD) :: logMulTrace
3596 integer(IKG) , intent(in) :: mat(:)
3597 type(lfpack_type) , intent(in) :: pack
3598 type(uppDia_type) , intent(in) :: subset
3599 end function
3600#endif
3601
3602#if IK3_ENABLED
3603 PURE module function getMatMulTraceLog_LFP_UXD_IK3(mat, pack, subset) result(logMulTrace)
3604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3605 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_IK3
3606#endif
3607 use pm_kind, only: IKG => IK3
3608 real(RKD) :: logMulTrace
3609 integer(IKG) , intent(in) :: mat(:)
3610 type(lfpack_type) , intent(in) :: pack
3611 type(uppDia_type) , intent(in) :: subset
3612 end function
3613#endif
3614
3615#if IK2_ENABLED
3616 PURE module function getMatMulTraceLog_LFP_UXD_IK2(mat, pack, subset) result(logMulTrace)
3617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3618 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_IK2
3619#endif
3620 use pm_kind, only: IKG => IK2
3621 real(RKD) :: logMulTrace
3622 integer(IKG) , intent(in) :: mat(:)
3623 type(lfpack_type) , intent(in) :: pack
3624 type(uppDia_type) , intent(in) :: subset
3625 end function
3626#endif
3627
3628#if IK1_ENABLED
3629 PURE module function getMatMulTraceLog_LFP_UXD_IK1(mat, pack, subset) result(logMulTrace)
3630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3631 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_IK1
3632#endif
3633 use pm_kind, only: IKG => IK1
3634 real(RKD) :: logMulTrace
3635 integer(IKG) , intent(in) :: mat(:)
3636 type(lfpack_type) , intent(in) :: pack
3637 type(uppDia_type) , intent(in) :: subset
3638 end function
3639#endif
3640
3641 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3642
3643#if CK5_ENABLED
3644 PURE module function getMatMulTraceLog_LFP_UXD_CK5(mat, pack, subset) result(logMulTrace)
3645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3646 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_CK5
3647#endif
3648 use pm_kind, only: CKG => CK5
3649 complex(CKG) :: logMulTrace
3650 complex(CKG) , intent(in) :: mat(:)
3651 type(lfpack_type) , intent(in) :: pack
3652 type(uppDia_type) , intent(in) :: subset
3653 end function
3654#endif
3655
3656#if CK4_ENABLED
3657 PURE module function getMatMulTraceLog_LFP_UXD_CK4(mat, pack, subset) result(logMulTrace)
3658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3659 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_CK4
3660#endif
3661 use pm_kind, only: CKG => CK4
3662 complex(CKG) :: logMulTrace
3663 complex(CKG) , intent(in) :: mat(:)
3664 type(lfpack_type) , intent(in) :: pack
3665 type(uppDia_type) , intent(in) :: subset
3666 end function
3667#endif
3668
3669#if CK3_ENABLED
3670 PURE module function getMatMulTraceLog_LFP_UXD_CK3(mat, pack, subset) result(logMulTrace)
3671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3672 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_CK3
3673#endif
3674 use pm_kind, only: CKG => CK3
3675 complex(CKG) :: logMulTrace
3676 complex(CKG) , intent(in) :: mat(:)
3677 type(lfpack_type) , intent(in) :: pack
3678 type(uppDia_type) , intent(in) :: subset
3679 end function
3680#endif
3681
3682#if CK2_ENABLED
3683 PURE module function getMatMulTraceLog_LFP_UXD_CK2(mat, pack, subset) result(logMulTrace)
3684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3685 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_CK2
3686#endif
3687 use pm_kind, only: CKG => CK2
3688 complex(CKG) :: logMulTrace
3689 complex(CKG) , intent(in) :: mat(:)
3690 type(lfpack_type) , intent(in) :: pack
3691 type(uppDia_type) , intent(in) :: subset
3692 end function
3693#endif
3694
3695#if CK1_ENABLED
3696 PURE module function getMatMulTraceLog_LFP_UXD_CK1(mat, pack, subset) result(logMulTrace)
3697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3698 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_CK1
3699#endif
3700 use pm_kind, only: CKG => CK1
3701 complex(CKG) :: logMulTrace
3702 complex(CKG) , intent(in) :: mat(:)
3703 type(lfpack_type) , intent(in) :: pack
3704 type(uppDia_type) , intent(in) :: subset
3705 end function
3706#endif
3707
3708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3709
3710#if RK5_ENABLED
3711 PURE module function getMatMulTraceLog_LFP_UXD_RK5(mat, pack, subset) result(logMulTrace)
3712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3713 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_RK5
3714#endif
3715 use pm_kind, only: RKG => RK5
3716 real(RKG) :: logMulTrace
3717 real(RKG) , intent(in) :: mat(:)
3718 type(lfpack_type) , intent(in) :: pack
3719 type(uppDia_type) , intent(in) :: subset
3720 end function
3721#endif
3722
3723#if RK4_ENABLED
3724 PURE module function getMatMulTraceLog_LFP_UXD_RK4(mat, pack, subset) result(logMulTrace)
3725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3726 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_RK4
3727#endif
3728 use pm_kind, only: RKG => RK4
3729 real(RKG) :: logMulTrace
3730 real(RKG) , intent(in) :: mat(:)
3731 type(lfpack_type) , intent(in) :: pack
3732 type(uppDia_type) , intent(in) :: subset
3733 end function
3734#endif
3735
3736#if RK3_ENABLED
3737 PURE module function getMatMulTraceLog_LFP_UXD_RK3(mat, pack, subset) result(logMulTrace)
3738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3739 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_RK3
3740#endif
3741 use pm_kind, only: RKG => RK3
3742 real(RKG) :: logMulTrace
3743 real(RKG) , intent(in) :: mat(:)
3744 type(lfpack_type) , intent(in) :: pack
3745 type(uppDia_type) , intent(in) :: subset
3746 end function
3747#endif
3748
3749#if RK2_ENABLED
3750 PURE module function getMatMulTraceLog_LFP_UXD_RK2(mat, pack, subset) result(logMulTrace)
3751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3752 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_RK2
3753#endif
3754 use pm_kind, only: RKG => RK2
3755 real(RKG) :: logMulTrace
3756 real(RKG) , intent(in) :: mat(:)
3757 type(lfpack_type) , intent(in) :: pack
3758 type(uppDia_type) , intent(in) :: subset
3759 end function
3760#endif
3761
3762#if RK1_ENABLED
3763 PURE module function getMatMulTraceLog_LFP_UXD_RK1(mat, pack, subset) result(logMulTrace)
3764#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3765 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_UXD_RK1
3766#endif
3767 use pm_kind, only: RKG => RK1
3768 real(RKG) :: logMulTrace
3769 real(RKG) , intent(in) :: mat(:)
3770 type(lfpack_type) , intent(in) :: pack
3771 type(uppDia_type) , intent(in) :: subset
3772 end function
3773#endif
3774
3775 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3776
3777 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3779 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3780
3781 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3782
3783#if IK5_ENABLED
3784 PURE module function getMatMulTraceLog_LFP_XLD_IK5(mat, pack, subset) result(logMulTrace)
3785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3786 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_IK5
3787#endif
3788 use pm_kind, only: IKG => IK5
3789 real(RKD) :: logMulTrace
3790 integer(IKG) , intent(in) :: mat(:)
3791 type(lfpack_type) , intent(in) :: pack
3792 type(lowDia_type) , intent(in) :: subset
3793 end function
3794#endif
3795
3796#if IK4_ENABLED
3797 PURE module function getMatMulTraceLog_LFP_XLD_IK4(mat, pack, subset) result(logMulTrace)
3798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3799 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_IK4
3800#endif
3801 use pm_kind, only: IKG => IK4
3802 real(RKD) :: logMulTrace
3803 integer(IKG) , intent(in) :: mat(:)
3804 type(lfpack_type) , intent(in) :: pack
3805 type(lowDia_type) , intent(in) :: subset
3806 end function
3807#endif
3808
3809#if IK3_ENABLED
3810 PURE module function getMatMulTraceLog_LFP_XLD_IK3(mat, pack, subset) result(logMulTrace)
3811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3812 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_IK3
3813#endif
3814 use pm_kind, only: IKG => IK3
3815 real(RKD) :: logMulTrace
3816 integer(IKG) , intent(in) :: mat(:)
3817 type(lfpack_type) , intent(in) :: pack
3818 type(lowDia_type) , intent(in) :: subset
3819 end function
3820#endif
3821
3822#if IK2_ENABLED
3823 PURE module function getMatMulTraceLog_LFP_XLD_IK2(mat, pack, subset) result(logMulTrace)
3824#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3825 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_IK2
3826#endif
3827 use pm_kind, only: IKG => IK2
3828 real(RKD) :: logMulTrace
3829 integer(IKG) , intent(in) :: mat(:)
3830 type(lfpack_type) , intent(in) :: pack
3831 type(lowDia_type) , intent(in) :: subset
3832 end function
3833#endif
3834
3835#if IK1_ENABLED
3836 PURE module function getMatMulTraceLog_LFP_XLD_IK1(mat, pack, subset) result(logMulTrace)
3837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3838 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_IK1
3839#endif
3840 use pm_kind, only: IKG => IK1
3841 real(RKD) :: logMulTrace
3842 integer(IKG) , intent(in) :: mat(:)
3843 type(lfpack_type) , intent(in) :: pack
3844 type(lowDia_type) , intent(in) :: subset
3845 end function
3846#endif
3847
3848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3849
3850#if CK5_ENABLED
3851 PURE module function getMatMulTraceLog_LFP_XLD_CK5(mat, pack, subset) result(logMulTrace)
3852#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3853 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_CK5
3854#endif
3855 use pm_kind, only: CKG => CK5
3856 complex(CKG) :: logMulTrace
3857 complex(CKG) , intent(in) :: mat(:)
3858 type(lfpack_type) , intent(in) :: pack
3859 type(lowDia_type) , intent(in) :: subset
3860 end function
3861#endif
3862
3863#if CK4_ENABLED
3864 PURE module function getMatMulTraceLog_LFP_XLD_CK4(mat, pack, subset) result(logMulTrace)
3865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3866 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_CK4
3867#endif
3868 use pm_kind, only: CKG => CK4
3869 complex(CKG) :: logMulTrace
3870 complex(CKG) , intent(in) :: mat(:)
3871 type(lfpack_type) , intent(in) :: pack
3872 type(lowDia_type) , intent(in) :: subset
3873 end function
3874#endif
3875
3876#if CK3_ENABLED
3877 PURE module function getMatMulTraceLog_LFP_XLD_CK3(mat, pack, subset) result(logMulTrace)
3878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3879 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_CK3
3880#endif
3881 use pm_kind, only: CKG => CK3
3882 complex(CKG) :: logMulTrace
3883 complex(CKG) , intent(in) :: mat(:)
3884 type(lfpack_type) , intent(in) :: pack
3885 type(lowDia_type) , intent(in) :: subset
3886 end function
3887#endif
3888
3889#if CK2_ENABLED
3890 PURE module function getMatMulTraceLog_LFP_XLD_CK2(mat, pack, subset) result(logMulTrace)
3891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3892 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_CK2
3893#endif
3894 use pm_kind, only: CKG => CK2
3895 complex(CKG) :: logMulTrace
3896 complex(CKG) , intent(in) :: mat(:)
3897 type(lfpack_type) , intent(in) :: pack
3898 type(lowDia_type) , intent(in) :: subset
3899 end function
3900#endif
3901
3902#if CK1_ENABLED
3903 PURE module function getMatMulTraceLog_LFP_XLD_CK1(mat, pack, subset) result(logMulTrace)
3904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3905 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_CK1
3906#endif
3907 use pm_kind, only: CKG => CK1
3908 complex(CKG) :: logMulTrace
3909 complex(CKG) , intent(in) :: mat(:)
3910 type(lfpack_type) , intent(in) :: pack
3911 type(lowDia_type) , intent(in) :: subset
3912 end function
3913#endif
3914
3915 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3916
3917#if RK5_ENABLED
3918 PURE module function getMatMulTraceLog_LFP_XLD_RK5(mat, pack, subset) result(logMulTrace)
3919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3920 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_RK5
3921#endif
3922 use pm_kind, only: RKG => RK5
3923 real(RKG) :: logMulTrace
3924 real(RKG) , intent(in) :: mat(:)
3925 type(lfpack_type) , intent(in) :: pack
3926 type(lowDia_type) , intent(in) :: subset
3927 end function
3928#endif
3929
3930#if RK4_ENABLED
3931 PURE module function getMatMulTraceLog_LFP_XLD_RK4(mat, pack, subset) result(logMulTrace)
3932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3933 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_RK4
3934#endif
3935 use pm_kind, only: RKG => RK4
3936 real(RKG) :: logMulTrace
3937 real(RKG) , intent(in) :: mat(:)
3938 type(lfpack_type) , intent(in) :: pack
3939 type(lowDia_type) , intent(in) :: subset
3940 end function
3941#endif
3942
3943#if RK3_ENABLED
3944 PURE module function getMatMulTraceLog_LFP_XLD_RK3(mat, pack, subset) result(logMulTrace)
3945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3946 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_RK3
3947#endif
3948 use pm_kind, only: RKG => RK3
3949 real(RKG) :: logMulTrace
3950 real(RKG) , intent(in) :: mat(:)
3951 type(lfpack_type) , intent(in) :: pack
3952 type(lowDia_type) , intent(in) :: subset
3953 end function
3954#endif
3955
3956#if RK2_ENABLED
3957 PURE module function getMatMulTraceLog_LFP_XLD_RK2(mat, pack, subset) result(logMulTrace)
3958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3959 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_RK2
3960#endif
3961 use pm_kind, only: RKG => RK2
3962 real(RKG) :: logMulTrace
3963 real(RKG) , intent(in) :: mat(:)
3964 type(lfpack_type) , intent(in) :: pack
3965 type(lowDia_type) , intent(in) :: subset
3966 end function
3967#endif
3968
3969#if RK1_ENABLED
3970 PURE module function getMatMulTraceLog_LFP_XLD_RK1(mat, pack, subset) result(logMulTrace)
3971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3972 !DEC$ ATTRIBUTES DLLEXPORT :: getMatMulTraceLog_LFP_XLD_RK1
3973#endif
3974 use pm_kind, only: RKG => RK1
3975 real(RKG) :: logMulTrace
3976 real(RKG) , intent(in) :: mat(:)
3977 type(lfpack_type) , intent(in) :: pack
3978 type(lowDia_type) , intent(in) :: subset
3979 end function
3980#endif
3981
3982 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3983
3984 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3985 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3986 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3987
3988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3989 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3991
3992 end interface
3993
3994!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3995
3996end module pm_matrixTrace
Generate and return the natural logarithm of the multiplicative trace of an input square matrix of ty...
Generate and return the multiplicative trace of an input square matrix of type integer,...
Generate and return the trace of an input square matrix of type integer, complex, or real of arbitrar...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter RKD
The double precision real kind in Fortran mode. On most platforms, this is an 64-bit real kind.
Definition: pm_kind.F90:568
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains abstract and concrete derived types that are required for compile-time resolutio...
character(*, SK), parameter MODULE_NAME
type(rdpack_type), parameter rdpack
This is an object instance of class rdpack_type that is exclusively used to signify Rectangular Spars...
type(lfpack_type), parameter lfpack
This is an object instance of class lfpack_type that is exclusively used to signify Linear Full conti...
type(rfpack_type), parameter rfpack
This is an object instance of class rfpack_type that is exclusively used to signify Rectangular Full ...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(lowDia_type), parameter lowDia
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diago...
type(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
This module contains procedures and generic interfaces for computing the additive or multiplicative t...
This is a concrete derived type whose instances are exclusively used to signify Linear Full contiguou...
This is a concrete derived type whose instances are exclusively used to signify Rectangular Sparse (o...
This is a concrete derived type whose instances are exclusively used to signify Rectangular Full cont...
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triang...