ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixMulTri.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
100
101!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102
104
105 use pm_kind, only: SK, IK, LK
115 use pm_array, only: nothing, nothing_type
116
117 implicit none
118
119 character(*, SK), parameter :: MODULE_NAME = "@pm_matrixMulTri"
120
121!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
122
390
391 ! BLAS LEVEL 2 - `STRMV`, `DTRMV`, `CTRMV`, and `ZTRMV`
392
393 interface setMatMulTri
394
395 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
398
399 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
400 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402
403 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
404 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
405 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406
407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408
409#if CK5_ENABLED
410 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK5
413#endif
414 use pm_kind, only: CKG => CK5
415 complex(CKG) , intent(in) , contiguous :: matA(:,:)
416 complex(CKG) , intent(inout) , contiguous :: matB(:)
417 type(lowerDiag_type) , intent(in) :: classA
418 type(nothing_type) , intent(in) :: operationA
419 end subroutine
420#endif
421
422#if CK4_ENABLED
423 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
425 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK4
426#endif
427 use pm_kind, only: CKG => CK4
428 complex(CKG) , intent(in) , contiguous :: matA(:,:)
429 complex(CKG) , intent(inout) , contiguous :: matB(:)
430 type(lowerDiag_type) , intent(in) :: classA
431 type(nothing_type) , intent(in) :: operationA
432 end subroutine
433#endif
434
435#if CK3_ENABLED
436 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
438 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK3
439#endif
440 use pm_kind, only: CKG => CK3
441 complex(CKG) , intent(in) , contiguous :: matA(:,:)
442 complex(CKG) , intent(inout) , contiguous :: matB(:)
443 type(lowerDiag_type) , intent(in) :: classA
444 type(nothing_type) , intent(in) :: operationA
445 end subroutine
446#endif
447
448#if CK2_ENABLED
449 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
451 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK2
452#endif
453 use pm_kind, only: CKG => CK2
454 complex(CKG) , intent(in) , contiguous :: matA(:,:)
455 complex(CKG) , intent(inout) , contiguous :: matB(:)
456 type(lowerDiag_type) , intent(in) :: classA
457 type(nothing_type) , intent(in) :: operationA
458 end subroutine
459#endif
460
461#if CK1_ENABLED
462 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
464 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_CK1
465#endif
466 use pm_kind, only: CKG => CK1
467 complex(CKG) , intent(in) , contiguous :: matA(:,:)
468 complex(CKG) , intent(inout) , contiguous :: matB(:)
469 type(lowerDiag_type) , intent(in) :: classA
470 type(nothing_type) , intent(in) :: operationA
471 end subroutine
472#endif
473
474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
475
476#if RK5_ENABLED
477 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
479 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK5
480#endif
481 use pm_kind, only: RKG => RK5
482 real(RKG) , intent(in) , contiguous :: matA(:,:)
483 real(RKG) , intent(inout) , contiguous :: matB(:)
484 type(lowerDiag_type) , intent(in) :: classA
485 type(nothing_type) , intent(in) :: operationA
486 end subroutine
487#endif
488
489#if RK4_ENABLED
490 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
492 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK4
493#endif
494 use pm_kind, only: RKG => RK4
495 real(RKG) , intent(in) , contiguous :: matA(:,:)
496 real(RKG) , intent(inout) , contiguous :: matB(:)
497 type(lowerDiag_type) , intent(in) :: classA
498 type(nothing_type) , intent(in) :: operationA
499 end subroutine
500#endif
501
502#if RK3_ENABLED
503 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
505 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK3
506#endif
507 use pm_kind, only: RKG => RK3
508 real(RKG) , intent(in) , contiguous :: matA(:,:)
509 real(RKG) , intent(inout) , contiguous :: matB(:)
510 type(lowerDiag_type) , intent(in) :: classA
511 type(nothing_type) , intent(in) :: operationA
512 end subroutine
513#endif
514
515#if RK2_ENABLED
516 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
518 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK2
519#endif
520 use pm_kind, only: RKG => RK2
521 real(RKG) , intent(in) , contiguous :: matA(:,:)
522 real(RKG) , intent(inout) , contiguous :: matB(:)
523 type(lowerDiag_type) , intent(in) :: classA
524 type(nothing_type) , intent(in) :: operationA
525 end subroutine
526#endif
527
528#if RK1_ENABLED
529 PURE module subroutine trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
530#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
531 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_ONOA_CGMB_ONOB_RK1
532#endif
533 use pm_kind, only: RKG => RK1
534 real(RKG) , intent(in) , contiguous :: matA(:,:)
535 real(RKG) , intent(inout) , contiguous :: matB(:)
536 type(lowerDiag_type) , intent(in) :: classA
537 type(nothing_type) , intent(in) :: operationA
538 end subroutine
539#endif
540
541 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
542
543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546
547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548
549#if CK5_ENABLED
550 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
552 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK5
553#endif
554 use pm_kind, only: CKG => CK5
555 complex(CKG) , intent(in) , contiguous :: matA(:,:)
556 complex(CKG) , intent(inout) , contiguous :: matB(:)
557 type(lowerDiag_type) , intent(in) :: classA
558 type(transSymm_type) , intent(in) :: operationA
559 end subroutine
560#endif
561
562#if CK4_ENABLED
563 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
565 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK4
566#endif
567 use pm_kind, only: CKG => CK4
568 complex(CKG) , intent(in) , contiguous :: matA(:,:)
569 complex(CKG) , intent(inout) , contiguous :: matB(:)
570 type(lowerDiag_type) , intent(in) :: classA
571 type(transSymm_type) , intent(in) :: operationA
572 end subroutine
573#endif
574
575#if CK3_ENABLED
576 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
578 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK3
579#endif
580 use pm_kind, only: CKG => CK3
581 complex(CKG) , intent(in) , contiguous :: matA(:,:)
582 complex(CKG) , intent(inout) , contiguous :: matB(:)
583 type(lowerDiag_type) , intent(in) :: classA
584 type(transSymm_type) , intent(in) :: operationA
585 end subroutine
586#endif
587
588#if CK2_ENABLED
589 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
591 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK2
592#endif
593 use pm_kind, only: CKG => CK2
594 complex(CKG) , intent(in) , contiguous :: matA(:,:)
595 complex(CKG) , intent(inout) , contiguous :: matB(:)
596 type(lowerDiag_type) , intent(in) :: classA
597 type(transSymm_type) , intent(in) :: operationA
598 end subroutine
599#endif
600
601#if CK1_ENABLED
602 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
603#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
604 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_CK1
605#endif
606 use pm_kind, only: CKG => CK1
607 complex(CKG) , intent(in) , contiguous :: matA(:,:)
608 complex(CKG) , intent(inout) , contiguous :: matB(:)
609 type(lowerDiag_type) , intent(in) :: classA
610 type(transSymm_type) , intent(in) :: operationA
611 end subroutine
612#endif
613
614 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
615
616#if RK5_ENABLED
617 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
618#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
619 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK5
620#endif
621 use pm_kind, only: RKG => RK5
622 real(RKG) , intent(in) , contiguous :: matA(:,:)
623 real(RKG) , intent(inout) , contiguous :: matB(:)
624 type(lowerDiag_type) , intent(in) :: classA
625 type(transSymm_type) , intent(in) :: operationA
626 end subroutine
627#endif
628
629#if RK4_ENABLED
630 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
631#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
632 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK4
633#endif
634 use pm_kind, only: RKG => RK4
635 real(RKG) , intent(in) , contiguous :: matA(:,:)
636 real(RKG) , intent(inout) , contiguous :: matB(:)
637 type(lowerDiag_type) , intent(in) :: classA
638 type(transSymm_type) , intent(in) :: operationA
639 end subroutine
640#endif
641
642#if RK3_ENABLED
643 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
645 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK3
646#endif
647 use pm_kind, only: RKG => RK3
648 real(RKG) , intent(in) , contiguous :: matA(:,:)
649 real(RKG) , intent(inout) , contiguous :: matB(:)
650 type(lowerDiag_type) , intent(in) :: classA
651 type(transSymm_type) , intent(in) :: operationA
652 end subroutine
653#endif
654
655#if RK2_ENABLED
656 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
658 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK2
659#endif
660 use pm_kind, only: RKG => RK2
661 real(RKG) , intent(in) , contiguous :: matA(:,:)
662 real(RKG) , intent(inout) , contiguous :: matB(:)
663 type(lowerDiag_type) , intent(in) :: classA
664 type(transSymm_type) , intent(in) :: operationA
665 end subroutine
666#endif
667
668#if RK1_ENABLED
669 PURE module subroutine trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
671 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTSA_CGMB_ONOB_RK1
672#endif
673 use pm_kind, only: RKG => RK1
674 real(RKG) , intent(in) , contiguous :: matA(:,:)
675 real(RKG) , intent(inout) , contiguous :: matB(:)
676 type(lowerDiag_type) , intent(in) :: classA
677 type(transSymm_type) , intent(in) :: operationA
678 end subroutine
679#endif
680
681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
682
683 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
685 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
686
687 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
688
689#if CK5_ENABLED
690 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
691#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
692 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK5
693#endif
694 use pm_kind, only: CKG => CK5
695 complex(CKG) , intent(in) , contiguous :: matA(:,:)
696 complex(CKG) , intent(inout) , contiguous :: matB(:)
697 type(lowerDiag_type) , intent(in) :: classA
698 type(transHerm_type) , intent(in) :: operationA
699 end subroutine
700#endif
701
702#if CK4_ENABLED
703 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
705 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK4
706#endif
707 use pm_kind, only: CKG => CK4
708 complex(CKG) , intent(in) , contiguous :: matA(:,:)
709 complex(CKG) , intent(inout) , contiguous :: matB(:)
710 type(lowerDiag_type) , intent(in) :: classA
711 type(transHerm_type) , intent(in) :: operationA
712 end subroutine
713#endif
714
715#if CK3_ENABLED
716 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
717#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
718 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK3
719#endif
720 use pm_kind, only: CKG => CK3
721 complex(CKG) , intent(in) , contiguous :: matA(:,:)
722 complex(CKG) , intent(inout) , contiguous :: matB(:)
723 type(lowerDiag_type) , intent(in) :: classA
724 type(transHerm_type) , intent(in) :: operationA
725 end subroutine
726#endif
727
728#if CK2_ENABLED
729 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
731 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK2
732#endif
733 use pm_kind, only: CKG => CK2
734 complex(CKG) , intent(in) , contiguous :: matA(:,:)
735 complex(CKG) , intent(inout) , contiguous :: matB(:)
736 type(lowerDiag_type) , intent(in) :: classA
737 type(transHerm_type) , intent(in) :: operationA
738 end subroutine
739#endif
740
741#if CK1_ENABLED
742 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
743#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
744 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_CK1
745#endif
746 use pm_kind, only: CKG => CK1
747 complex(CKG) , intent(in) , contiguous :: matA(:,:)
748 complex(CKG) , intent(inout) , contiguous :: matB(:)
749 type(lowerDiag_type) , intent(in) :: classA
750 type(transHerm_type) , intent(in) :: operationA
751 end subroutine
752#endif
753
754 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
755
756#if RK5_ENABLED
757 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
759 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK5
760#endif
761 use pm_kind, only: RKG => RK5
762 real(RKG) , intent(in) , contiguous :: matA(:,:)
763 real(RKG) , intent(inout) , contiguous :: matB(:)
764 type(lowerDiag_type) , intent(in) :: classA
765 type(transHerm_type) , intent(in) :: operationA
766 end subroutine
767#endif
768
769#if RK4_ENABLED
770 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
772 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK4
773#endif
774 use pm_kind, only: RKG => RK4
775 real(RKG) , intent(in) , contiguous :: matA(:,:)
776 real(RKG) , intent(inout) , contiguous :: matB(:)
777 type(lowerDiag_type) , intent(in) :: classA
778 type(transHerm_type) , intent(in) :: operationA
779 end subroutine
780#endif
781
782#if RK3_ENABLED
783 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
785 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK3
786#endif
787 use pm_kind, only: RKG => RK3
788 real(RKG) , intent(in) , contiguous :: matA(:,:)
789 real(RKG) , intent(inout) , contiguous :: matB(:)
790 type(lowerDiag_type) , intent(in) :: classA
791 type(transHerm_type) , intent(in) :: operationA
792 end subroutine
793#endif
794
795#if RK2_ENABLED
796 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
798 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK2
799#endif
800 use pm_kind, only: RKG => RK2
801 real(RKG) , intent(in) , contiguous :: matA(:,:)
802 real(RKG) , intent(inout) , contiguous :: matB(:)
803 type(lowerDiag_type) , intent(in) :: classA
804 type(transHerm_type) , intent(in) :: operationA
805 end subroutine
806#endif
807
808#if RK1_ENABLED
809 PURE module subroutine trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
810#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
811 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLDA_OTHA_CGMB_ONOB_RK1
812#endif
813 use pm_kind, only: RKG => RK1
814 real(RKG) , intent(in) , contiguous :: matA(:,:)
815 real(RKG) , intent(inout) , contiguous :: matB(:)
816 type(lowerDiag_type) , intent(in) :: classA
817 type(transHerm_type) , intent(in) :: operationA
818 end subroutine
819#endif
820
821 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
822
823 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
824 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
825 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
826
827 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
828 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
829 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
830
831 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
832
833#if CK5_ENABLED
834 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
836 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK5
837#endif
838 use pm_kind, only: CKG => CK5
839 complex(CKG) , intent(in) , contiguous :: matA(:,:)
840 complex(CKG) , intent(inout) , contiguous :: matB(:)
841 type(upperDiag_type) , intent(in) :: classA
842 type(nothing_type) , intent(in) :: operationA
843 end subroutine
844#endif
845
846#if CK4_ENABLED
847 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
849 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK4
850#endif
851 use pm_kind, only: CKG => CK4
852 complex(CKG) , intent(in) , contiguous :: matA(:,:)
853 complex(CKG) , intent(inout) , contiguous :: matB(:)
854 type(upperDiag_type) , intent(in) :: classA
855 type(nothing_type) , intent(in) :: operationA
856 end subroutine
857#endif
858
859#if CK3_ENABLED
860 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
862 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK3
863#endif
864 use pm_kind, only: CKG => CK3
865 complex(CKG) , intent(in) , contiguous :: matA(:,:)
866 complex(CKG) , intent(inout) , contiguous :: matB(:)
867 type(upperDiag_type) , intent(in) :: classA
868 type(nothing_type) , intent(in) :: operationA
869 end subroutine
870#endif
871
872#if CK2_ENABLED
873 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
875 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK2
876#endif
877 use pm_kind, only: CKG => CK2
878 complex(CKG) , intent(in) , contiguous :: matA(:,:)
879 complex(CKG) , intent(inout) , contiguous :: matB(:)
880 type(upperDiag_type) , intent(in) :: classA
881 type(nothing_type) , intent(in) :: operationA
882 end subroutine
883#endif
884
885#if CK1_ENABLED
886 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
887#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
888 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_CK1
889#endif
890 use pm_kind, only: CKG => CK1
891 complex(CKG) , intent(in) , contiguous :: matA(:,:)
892 complex(CKG) , intent(inout) , contiguous :: matB(:)
893 type(upperDiag_type) , intent(in) :: classA
894 type(nothing_type) , intent(in) :: operationA
895 end subroutine
896#endif
897
898 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
899
900#if RK5_ENABLED
901 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
903 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK5
904#endif
905 use pm_kind, only: RKG => RK5
906 real(RKG) , intent(in) , contiguous :: matA(:,:)
907 real(RKG) , intent(inout) , contiguous :: matB(:)
908 type(upperDiag_type) , intent(in) :: classA
909 type(nothing_type) , intent(in) :: operationA
910 end subroutine
911#endif
912
913#if RK4_ENABLED
914 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
915#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
916 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK4
917#endif
918 use pm_kind, only: RKG => RK4
919 real(RKG) , intent(in) , contiguous :: matA(:,:)
920 real(RKG) , intent(inout) , contiguous :: matB(:)
921 type(upperDiag_type) , intent(in) :: classA
922 type(nothing_type) , intent(in) :: operationA
923 end subroutine
924#endif
925
926#if RK3_ENABLED
927 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
929 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK3
930#endif
931 use pm_kind, only: RKG => RK3
932 real(RKG) , intent(in) , contiguous :: matA(:,:)
933 real(RKG) , intent(inout) , contiguous :: matB(:)
934 type(upperDiag_type) , intent(in) :: classA
935 type(nothing_type) , intent(in) :: operationA
936 end subroutine
937#endif
938
939#if RK2_ENABLED
940 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
942 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK2
943#endif
944 use pm_kind, only: RKG => RK2
945 real(RKG) , intent(in) , contiguous :: matA(:,:)
946 real(RKG) , intent(inout) , contiguous :: matB(:)
947 type(upperDiag_type) , intent(in) :: classA
948 type(nothing_type) , intent(in) :: operationA
949 end subroutine
950#endif
951
952#if RK1_ENABLED
953 PURE module subroutine trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
955 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_ONOA_CGMB_ONOB_RK1
956#endif
957 use pm_kind, only: RKG => RK1
958 real(RKG) , intent(in) , contiguous :: matA(:,:)
959 real(RKG) , intent(inout) , contiguous :: matB(:)
960 type(upperDiag_type) , intent(in) :: classA
961 type(nothing_type) , intent(in) :: operationA
962 end subroutine
963#endif
964
965 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
966
967 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
968 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
969 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
970
971 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
972
973#if CK5_ENABLED
974 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
976 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK5
977#endif
978 use pm_kind, only: CKG => CK5
979 complex(CKG) , intent(in) , contiguous :: matA(:,:)
980 complex(CKG) , intent(inout) , contiguous :: matB(:)
981 type(upperDiag_type) , intent(in) :: classA
982 type(transSymm_type) , intent(in) :: operationA
983 end subroutine
984#endif
985
986#if CK4_ENABLED
987 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
989 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK4
990#endif
991 use pm_kind, only: CKG => CK4
992 complex(CKG) , intent(in) , contiguous :: matA(:,:)
993 complex(CKG) , intent(inout) , contiguous :: matB(:)
994 type(upperDiag_type) , intent(in) :: classA
995 type(transSymm_type) , intent(in) :: operationA
996 end subroutine
997#endif
998
999#if CK3_ENABLED
1000 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1001#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1002 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK3
1003#endif
1004 use pm_kind, only: CKG => CK3
1005 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1006 complex(CKG) , intent(inout) , contiguous :: matB(:)
1007 type(upperDiag_type) , intent(in) :: classA
1008 type(transSymm_type) , intent(in) :: operationA
1009 end subroutine
1010#endif
1011
1012#if CK2_ENABLED
1013 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1015 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK2
1016#endif
1017 use pm_kind, only: CKG => CK2
1018 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1019 complex(CKG) , intent(inout) , contiguous :: matB(:)
1020 type(upperDiag_type) , intent(in) :: classA
1021 type(transSymm_type) , intent(in) :: operationA
1022 end subroutine
1023#endif
1024
1025#if CK1_ENABLED
1026 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1028 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_CK1
1029#endif
1030 use pm_kind, only: CKG => CK1
1031 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1032 complex(CKG) , intent(inout) , contiguous :: matB(:)
1033 type(upperDiag_type) , intent(in) :: classA
1034 type(transSymm_type) , intent(in) :: operationA
1035 end subroutine
1036#endif
1037
1038 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1039
1040#if RK5_ENABLED
1041 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1043 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK5
1044#endif
1045 use pm_kind, only: RKG => RK5
1046 real(RKG) , intent(in) , contiguous :: matA(:,:)
1047 real(RKG) , intent(inout) , contiguous :: matB(:)
1048 type(upperDiag_type) , intent(in) :: classA
1049 type(transSymm_type) , intent(in) :: operationA
1050 end subroutine
1051#endif
1052
1053#if RK4_ENABLED
1054 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1056 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK4
1057#endif
1058 use pm_kind, only: RKG => RK4
1059 real(RKG) , intent(in) , contiguous :: matA(:,:)
1060 real(RKG) , intent(inout) , contiguous :: matB(:)
1061 type(upperDiag_type) , intent(in) :: classA
1062 type(transSymm_type) , intent(in) :: operationA
1063 end subroutine
1064#endif
1065
1066#if RK3_ENABLED
1067 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1069 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK3
1070#endif
1071 use pm_kind, only: RKG => RK3
1072 real(RKG) , intent(in) , contiguous :: matA(:,:)
1073 real(RKG) , intent(inout) , contiguous :: matB(:)
1074 type(upperDiag_type) , intent(in) :: classA
1075 type(transSymm_type) , intent(in) :: operationA
1076 end subroutine
1077#endif
1078
1079#if RK2_ENABLED
1080 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1082 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK2
1083#endif
1084 use pm_kind, only: RKG => RK2
1085 real(RKG) , intent(in) , contiguous :: matA(:,:)
1086 real(RKG) , intent(inout) , contiguous :: matB(:)
1087 type(upperDiag_type) , intent(in) :: classA
1088 type(transSymm_type) , intent(in) :: operationA
1089 end subroutine
1090#endif
1091
1092#if RK1_ENABLED
1093 PURE module subroutine trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1094#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1095 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTSA_CGMB_ONOB_RK1
1096#endif
1097 use pm_kind, only: RKG => RK1
1098 real(RKG) , intent(in) , contiguous :: matA(:,:)
1099 real(RKG) , intent(inout) , contiguous :: matB(:)
1100 type(upperDiag_type) , intent(in) :: classA
1101 type(transSymm_type) , intent(in) :: operationA
1102 end subroutine
1103#endif
1104
1105 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1106
1107 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1110
1111 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1112
1113#if CK5_ENABLED
1114 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1115#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1116 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK5
1117#endif
1118 use pm_kind, only: CKG => CK5
1119 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1120 complex(CKG) , intent(inout) , contiguous :: matB(:)
1121 type(upperDiag_type) , intent(in) :: classA
1122 type(transHerm_type) , intent(in) :: operationA
1123 end subroutine
1124#endif
1125
1126#if CK4_ENABLED
1127 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1129 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK4
1130#endif
1131 use pm_kind, only: CKG => CK4
1132 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1133 complex(CKG) , intent(inout) , contiguous :: matB(:)
1134 type(upperDiag_type) , intent(in) :: classA
1135 type(transHerm_type) , intent(in) :: operationA
1136 end subroutine
1137#endif
1138
1139#if CK3_ENABLED
1140 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1142 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK3
1143#endif
1144 use pm_kind, only: CKG => CK3
1145 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1146 complex(CKG) , intent(inout) , contiguous :: matB(:)
1147 type(upperDiag_type) , intent(in) :: classA
1148 type(transHerm_type) , intent(in) :: operationA
1149 end subroutine
1150#endif
1151
1152#if CK2_ENABLED
1153 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1154#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1155 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK2
1156#endif
1157 use pm_kind, only: CKG => CK2
1158 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1159 complex(CKG) , intent(inout) , contiguous :: matB(:)
1160 type(upperDiag_type) , intent(in) :: classA
1161 type(transHerm_type) , intent(in) :: operationA
1162 end subroutine
1163#endif
1164
1165#if CK1_ENABLED
1166 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1168 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_CK1
1169#endif
1170 use pm_kind, only: CKG => CK1
1171 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1172 complex(CKG) , intent(inout) , contiguous :: matB(:)
1173 type(upperDiag_type) , intent(in) :: classA
1174 type(transHerm_type) , intent(in) :: operationA
1175 end subroutine
1176#endif
1177
1178 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1179
1180#if RK5_ENABLED
1181 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1183 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK5
1184#endif
1185 use pm_kind, only: RKG => RK5
1186 real(RKG) , intent(in) , contiguous :: matA(:,:)
1187 real(RKG) , intent(inout) , contiguous :: matB(:)
1188 type(upperDiag_type) , intent(in) :: classA
1189 type(transHerm_type) , intent(in) :: operationA
1190 end subroutine
1191#endif
1192
1193#if RK4_ENABLED
1194 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1196 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK4
1197#endif
1198 use pm_kind, only: RKG => RK4
1199 real(RKG) , intent(in) , contiguous :: matA(:,:)
1200 real(RKG) , intent(inout) , contiguous :: matB(:)
1201 type(upperDiag_type) , intent(in) :: classA
1202 type(transHerm_type) , intent(in) :: operationA
1203 end subroutine
1204#endif
1205
1206#if RK3_ENABLED
1207 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1209 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK3
1210#endif
1211 use pm_kind, only: RKG => RK3
1212 real(RKG) , intent(in) , contiguous :: matA(:,:)
1213 real(RKG) , intent(inout) , contiguous :: matB(:)
1214 type(upperDiag_type) , intent(in) :: classA
1215 type(transHerm_type) , intent(in) :: operationA
1216 end subroutine
1217#endif
1218
1219#if RK2_ENABLED
1220 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1222 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK2
1223#endif
1224 use pm_kind, only: RKG => RK2
1225 real(RKG) , intent(in) , contiguous :: matA(:,:)
1226 real(RKG) , intent(inout) , contiguous :: matB(:)
1227 type(upperDiag_type) , intent(in) :: classA
1228 type(transHerm_type) , intent(in) :: operationA
1229 end subroutine
1230#endif
1231
1232#if RK1_ENABLED
1233 PURE module subroutine trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1234#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1235 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUDA_OTHA_CGMB_ONOB_RK1
1236#endif
1237 use pm_kind, only: RKG => RK1
1238 real(RKG) , intent(in) , contiguous :: matA(:,:)
1239 real(RKG) , intent(inout) , contiguous :: matB(:)
1240 type(upperDiag_type) , intent(in) :: classA
1241 type(transHerm_type) , intent(in) :: operationA
1242 end subroutine
1243#endif
1244
1245 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1246
1247 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1248 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1249 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1250
1251 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1252 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1253 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1254
1255 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1256
1257#if CK5_ENABLED
1258 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1260 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK5
1261#endif
1262 use pm_kind, only: CKG => CK5
1263 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1264 complex(CKG) , intent(inout) , contiguous :: matB(:)
1265 type(lowerUnit_type) , intent(in) :: classA
1266 type(nothing_type) , intent(in) :: operationA
1267 end subroutine
1268#endif
1269
1270#if CK4_ENABLED
1271 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1273 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK4
1274#endif
1275 use pm_kind, only: CKG => CK4
1276 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1277 complex(CKG) , intent(inout) , contiguous :: matB(:)
1278 type(lowerUnit_type) , intent(in) :: classA
1279 type(nothing_type) , intent(in) :: operationA
1280 end subroutine
1281#endif
1282
1283#if CK3_ENABLED
1284 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1286 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK3
1287#endif
1288 use pm_kind, only: CKG => CK3
1289 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1290 complex(CKG) , intent(inout) , contiguous :: matB(:)
1291 type(lowerUnit_type) , intent(in) :: classA
1292 type(nothing_type) , intent(in) :: operationA
1293 end subroutine
1294#endif
1295
1296#if CK2_ENABLED
1297 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1299 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK2
1300#endif
1301 use pm_kind, only: CKG => CK2
1302 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1303 complex(CKG) , intent(inout) , contiguous :: matB(:)
1304 type(lowerUnit_type) , intent(in) :: classA
1305 type(nothing_type) , intent(in) :: operationA
1306 end subroutine
1307#endif
1308
1309#if CK1_ENABLED
1310 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1312 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_CK1
1313#endif
1314 use pm_kind, only: CKG => CK1
1315 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1316 complex(CKG) , intent(inout) , contiguous :: matB(:)
1317 type(lowerUnit_type) , intent(in) :: classA
1318 type(nothing_type) , intent(in) :: operationA
1319 end subroutine
1320#endif
1321
1322 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1323
1324#if RK5_ENABLED
1325 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1327 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK5
1328#endif
1329 use pm_kind, only: RKG => RK5
1330 real(RKG) , intent(in) , contiguous :: matA(:,:)
1331 real(RKG) , intent(inout) , contiguous :: matB(:)
1332 type(lowerUnit_type) , intent(in) :: classA
1333 type(nothing_type) , intent(in) :: operationA
1334 end subroutine
1335#endif
1336
1337#if RK4_ENABLED
1338 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1340 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK4
1341#endif
1342 use pm_kind, only: RKG => RK4
1343 real(RKG) , intent(in) , contiguous :: matA(:,:)
1344 real(RKG) , intent(inout) , contiguous :: matB(:)
1345 type(lowerUnit_type) , intent(in) :: classA
1346 type(nothing_type) , intent(in) :: operationA
1347 end subroutine
1348#endif
1349
1350#if RK3_ENABLED
1351 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1353 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK3
1354#endif
1355 use pm_kind, only: RKG => RK3
1356 real(RKG) , intent(in) , contiguous :: matA(:,:)
1357 real(RKG) , intent(inout) , contiguous :: matB(:)
1358 type(lowerUnit_type) , intent(in) :: classA
1359 type(nothing_type) , intent(in) :: operationA
1360 end subroutine
1361#endif
1362
1363#if RK2_ENABLED
1364 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1365#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1366 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK2
1367#endif
1368 use pm_kind, only: RKG => RK2
1369 real(RKG) , intent(in) , contiguous :: matA(:,:)
1370 real(RKG) , intent(inout) , contiguous :: matB(:)
1371 type(lowerUnit_type) , intent(in) :: classA
1372 type(nothing_type) , intent(in) :: operationA
1373 end subroutine
1374#endif
1375
1376#if RK1_ENABLED
1377 PURE module subroutine trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1379 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_ONOA_CGMB_ONOB_RK1
1380#endif
1381 use pm_kind, only: RKG => RK1
1382 real(RKG) , intent(in) , contiguous :: matA(:,:)
1383 real(RKG) , intent(inout) , contiguous :: matB(:)
1384 type(lowerUnit_type) , intent(in) :: classA
1385 type(nothing_type) , intent(in) :: operationA
1386 end subroutine
1387#endif
1388
1389 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1390
1391 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1392 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1393 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1394
1395 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1396
1397#if CK5_ENABLED
1398 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1399#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1400 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK5
1401#endif
1402 use pm_kind, only: CKG => CK5
1403 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1404 complex(CKG) , intent(inout) , contiguous :: matB(:)
1405 type(lowerUnit_type) , intent(in) :: classA
1406 type(transSymm_type) , intent(in) :: operationA
1407 end subroutine
1408#endif
1409
1410#if CK4_ENABLED
1411 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1413 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK4
1414#endif
1415 use pm_kind, only: CKG => CK4
1416 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1417 complex(CKG) , intent(inout) , contiguous :: matB(:)
1418 type(lowerUnit_type) , intent(in) :: classA
1419 type(transSymm_type) , intent(in) :: operationA
1420 end subroutine
1421#endif
1422
1423#if CK3_ENABLED
1424 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1426 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK3
1427#endif
1428 use pm_kind, only: CKG => CK3
1429 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1430 complex(CKG) , intent(inout) , contiguous :: matB(:)
1431 type(lowerUnit_type) , intent(in) :: classA
1432 type(transSymm_type) , intent(in) :: operationA
1433 end subroutine
1434#endif
1435
1436#if CK2_ENABLED
1437 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1439 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK2
1440#endif
1441 use pm_kind, only: CKG => CK2
1442 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1443 complex(CKG) , intent(inout) , contiguous :: matB(:)
1444 type(lowerUnit_type) , intent(in) :: classA
1445 type(transSymm_type) , intent(in) :: operationA
1446 end subroutine
1447#endif
1448
1449#if CK1_ENABLED
1450 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1452 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_CK1
1453#endif
1454 use pm_kind, only: CKG => CK1
1455 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1456 complex(CKG) , intent(inout) , contiguous :: matB(:)
1457 type(lowerUnit_type) , intent(in) :: classA
1458 type(transSymm_type) , intent(in) :: operationA
1459 end subroutine
1460#endif
1461
1462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1463
1464#if RK5_ENABLED
1465 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1467 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK5
1468#endif
1469 use pm_kind, only: RKG => RK5
1470 real(RKG) , intent(in) , contiguous :: matA(:,:)
1471 real(RKG) , intent(inout) , contiguous :: matB(:)
1472 type(lowerUnit_type) , intent(in) :: classA
1473 type(transSymm_type) , intent(in) :: operationA
1474 end subroutine
1475#endif
1476
1477#if RK4_ENABLED
1478 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1479#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1480 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK4
1481#endif
1482 use pm_kind, only: RKG => RK4
1483 real(RKG) , intent(in) , contiguous :: matA(:,:)
1484 real(RKG) , intent(inout) , contiguous :: matB(:)
1485 type(lowerUnit_type) , intent(in) :: classA
1486 type(transSymm_type) , intent(in) :: operationA
1487 end subroutine
1488#endif
1489
1490#if RK3_ENABLED
1491 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1493 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK3
1494#endif
1495 use pm_kind, only: RKG => RK3
1496 real(RKG) , intent(in) , contiguous :: matA(:,:)
1497 real(RKG) , intent(inout) , contiguous :: matB(:)
1498 type(lowerUnit_type) , intent(in) :: classA
1499 type(transSymm_type) , intent(in) :: operationA
1500 end subroutine
1501#endif
1502
1503#if RK2_ENABLED
1504 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1506 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK2
1507#endif
1508 use pm_kind, only: RKG => RK2
1509 real(RKG) , intent(in) , contiguous :: matA(:,:)
1510 real(RKG) , intent(inout) , contiguous :: matB(:)
1511 type(lowerUnit_type) , intent(in) :: classA
1512 type(transSymm_type) , intent(in) :: operationA
1513 end subroutine
1514#endif
1515
1516#if RK1_ENABLED
1517 PURE module subroutine trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1519 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTSA_CGMB_ONOB_RK1
1520#endif
1521 use pm_kind, only: RKG => RK1
1522 real(RKG) , intent(in) , contiguous :: matA(:,:)
1523 real(RKG) , intent(inout) , contiguous :: matB(:)
1524 type(lowerUnit_type) , intent(in) :: classA
1525 type(transSymm_type) , intent(in) :: operationA
1526 end subroutine
1527#endif
1528
1529 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1530
1531 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1532 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1533 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1534
1535 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1536
1537#if CK5_ENABLED
1538 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1540 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK5
1541#endif
1542 use pm_kind, only: CKG => CK5
1543 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1544 complex(CKG) , intent(inout) , contiguous :: matB(:)
1545 type(lowerUnit_type) , intent(in) :: classA
1546 type(transHerm_type) , intent(in) :: operationA
1547 end subroutine
1548#endif
1549
1550#if CK4_ENABLED
1551 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1552#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1553 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK4
1554#endif
1555 use pm_kind, only: CKG => CK4
1556 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1557 complex(CKG) , intent(inout) , contiguous :: matB(:)
1558 type(lowerUnit_type) , intent(in) :: classA
1559 type(transHerm_type) , intent(in) :: operationA
1560 end subroutine
1561#endif
1562
1563#if CK3_ENABLED
1564 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1566 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK3
1567#endif
1568 use pm_kind, only: CKG => CK3
1569 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1570 complex(CKG) , intent(inout) , contiguous :: matB(:)
1571 type(lowerUnit_type) , intent(in) :: classA
1572 type(transHerm_type) , intent(in) :: operationA
1573 end subroutine
1574#endif
1575
1576#if CK2_ENABLED
1577 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1579 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK2
1580#endif
1581 use pm_kind, only: CKG => CK2
1582 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1583 complex(CKG) , intent(inout) , contiguous :: matB(:)
1584 type(lowerUnit_type) , intent(in) :: classA
1585 type(transHerm_type) , intent(in) :: operationA
1586 end subroutine
1587#endif
1588
1589#if CK1_ENABLED
1590 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1592 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_CK1
1593#endif
1594 use pm_kind, only: CKG => CK1
1595 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1596 complex(CKG) , intent(inout) , contiguous :: matB(:)
1597 type(lowerUnit_type) , intent(in) :: classA
1598 type(transHerm_type) , intent(in) :: operationA
1599 end subroutine
1600#endif
1601
1602 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1603
1604#if RK5_ENABLED
1605 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1606#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1607 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK5
1608#endif
1609 use pm_kind, only: RKG => RK5
1610 real(RKG) , intent(in) , contiguous :: matA(:,:)
1611 real(RKG) , intent(inout) , contiguous :: matB(:)
1612 type(lowerUnit_type) , intent(in) :: classA
1613 type(transHerm_type) , intent(in) :: operationA
1614 end subroutine
1615#endif
1616
1617#if RK4_ENABLED
1618 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1620 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK4
1621#endif
1622 use pm_kind, only: RKG => RK4
1623 real(RKG) , intent(in) , contiguous :: matA(:,:)
1624 real(RKG) , intent(inout) , contiguous :: matB(:)
1625 type(lowerUnit_type) , intent(in) :: classA
1626 type(transHerm_type) , intent(in) :: operationA
1627 end subroutine
1628#endif
1629
1630#if RK3_ENABLED
1631 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1633 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK3
1634#endif
1635 use pm_kind, only: RKG => RK3
1636 real(RKG) , intent(in) , contiguous :: matA(:,:)
1637 real(RKG) , intent(inout) , contiguous :: matB(:)
1638 type(lowerUnit_type) , intent(in) :: classA
1639 type(transHerm_type) , intent(in) :: operationA
1640 end subroutine
1641#endif
1642
1643#if RK2_ENABLED
1644 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1646 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK2
1647#endif
1648 use pm_kind, only: RKG => RK2
1649 real(RKG) , intent(in) , contiguous :: matA(:,:)
1650 real(RKG) , intent(inout) , contiguous :: matB(:)
1651 type(lowerUnit_type) , intent(in) :: classA
1652 type(transHerm_type) , intent(in) :: operationA
1653 end subroutine
1654#endif
1655
1656#if RK1_ENABLED
1657 PURE module subroutine trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1659 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CLUA_OTHA_CGMB_ONOB_RK1
1660#endif
1661 use pm_kind, only: RKG => RK1
1662 real(RKG) , intent(in) , contiguous :: matA(:,:)
1663 real(RKG) , intent(inout) , contiguous :: matB(:)
1664 type(lowerUnit_type) , intent(in) :: classA
1665 type(transHerm_type) , intent(in) :: operationA
1666 end subroutine
1667#endif
1668
1669 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1670
1671 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1672 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1673 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1674
1675 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1676 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1677 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1678
1679 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1680
1681#if CK5_ENABLED
1682 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1684 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK5
1685#endif
1686 use pm_kind, only: CKG => CK5
1687 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1688 complex(CKG) , intent(inout) , contiguous :: matB(:)
1689 type(upperUnit_type) , intent(in) :: classA
1690 type(nothing_type) , intent(in) :: operationA
1691 end subroutine
1692#endif
1693
1694#if CK4_ENABLED
1695 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1697 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK4
1698#endif
1699 use pm_kind, only: CKG => CK4
1700 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1701 complex(CKG) , intent(inout) , contiguous :: matB(:)
1702 type(upperUnit_type) , intent(in) :: classA
1703 type(nothing_type) , intent(in) :: operationA
1704 end subroutine
1705#endif
1706
1707#if CK3_ENABLED
1708 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1710 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK3
1711#endif
1712 use pm_kind, only: CKG => CK3
1713 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1714 complex(CKG) , intent(inout) , contiguous :: matB(:)
1715 type(upperUnit_type) , intent(in) :: classA
1716 type(nothing_type) , intent(in) :: operationA
1717 end subroutine
1718#endif
1719
1720#if CK2_ENABLED
1721 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1723 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK2
1724#endif
1725 use pm_kind, only: CKG => CK2
1726 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1727 complex(CKG) , intent(inout) , contiguous :: matB(:)
1728 type(upperUnit_type) , intent(in) :: classA
1729 type(nothing_type) , intent(in) :: operationA
1730 end subroutine
1731#endif
1732
1733#if CK1_ENABLED
1734 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1736 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_CK1
1737#endif
1738 use pm_kind, only: CKG => CK1
1739 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1740 complex(CKG) , intent(inout) , contiguous :: matB(:)
1741 type(upperUnit_type) , intent(in) :: classA
1742 type(nothing_type) , intent(in) :: operationA
1743 end subroutine
1744#endif
1745
1746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1747
1748#if RK5_ENABLED
1749 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1751 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK5
1752#endif
1753 use pm_kind, only: RKG => RK5
1754 real(RKG) , intent(in) , contiguous :: matA(:,:)
1755 real(RKG) , intent(inout) , contiguous :: matB(:)
1756 type(upperUnit_type) , intent(in) :: classA
1757 type(nothing_type) , intent(in) :: operationA
1758 end subroutine
1759#endif
1760
1761#if RK4_ENABLED
1762 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1764 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK4
1765#endif
1766 use pm_kind, only: RKG => RK4
1767 real(RKG) , intent(in) , contiguous :: matA(:,:)
1768 real(RKG) , intent(inout) , contiguous :: matB(:)
1769 type(upperUnit_type) , intent(in) :: classA
1770 type(nothing_type) , intent(in) :: operationA
1771 end subroutine
1772#endif
1773
1774#if RK3_ENABLED
1775 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1777 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK3
1778#endif
1779 use pm_kind, only: RKG => RK3
1780 real(RKG) , intent(in) , contiguous :: matA(:,:)
1781 real(RKG) , intent(inout) , contiguous :: matB(:)
1782 type(upperUnit_type) , intent(in) :: classA
1783 type(nothing_type) , intent(in) :: operationA
1784 end subroutine
1785#endif
1786
1787#if RK2_ENABLED
1788 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1789#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1790 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK2
1791#endif
1792 use pm_kind, only: RKG => RK2
1793 real(RKG) , intent(in) , contiguous :: matA(:,:)
1794 real(RKG) , intent(inout) , contiguous :: matB(:)
1795 type(upperUnit_type) , intent(in) :: classA
1796 type(nothing_type) , intent(in) :: operationA
1797 end subroutine
1798#endif
1799
1800#if RK1_ENABLED
1801 PURE module subroutine trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1803 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_ONOA_CGMB_ONOB_RK1
1804#endif
1805 use pm_kind, only: RKG => RK1
1806 real(RKG) , intent(in) , contiguous :: matA(:,:)
1807 real(RKG) , intent(inout) , contiguous :: matB(:)
1808 type(upperUnit_type) , intent(in) :: classA
1809 type(nothing_type) , intent(in) :: operationA
1810 end subroutine
1811#endif
1812
1813 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1814
1815 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1816 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1817 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1818
1819 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1820
1821#if CK5_ENABLED
1822 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1824 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK5
1825#endif
1826 use pm_kind, only: CKG => CK5
1827 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1828 complex(CKG) , intent(inout) , contiguous :: matB(:)
1829 type(upperUnit_type) , intent(in) :: classA
1830 type(transSymm_type) , intent(in) :: operationA
1831 end subroutine
1832#endif
1833
1834#if CK4_ENABLED
1835 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1836#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1837 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK4
1838#endif
1839 use pm_kind, only: CKG => CK4
1840 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1841 complex(CKG) , intent(inout) , contiguous :: matB(:)
1842 type(upperUnit_type) , intent(in) :: classA
1843 type(transSymm_type) , intent(in) :: operationA
1844 end subroutine
1845#endif
1846
1847#if CK3_ENABLED
1848 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1850 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK3
1851#endif
1852 use pm_kind, only: CKG => CK3
1853 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1854 complex(CKG) , intent(inout) , contiguous :: matB(:)
1855 type(upperUnit_type) , intent(in) :: classA
1856 type(transSymm_type) , intent(in) :: operationA
1857 end subroutine
1858#endif
1859
1860#if CK2_ENABLED
1861 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
1862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1863 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK2
1864#endif
1865 use pm_kind, only: CKG => CK2
1866 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1867 complex(CKG) , intent(inout) , contiguous :: matB(:)
1868 type(upperUnit_type) , intent(in) :: classA
1869 type(transSymm_type) , intent(in) :: operationA
1870 end subroutine
1871#endif
1872
1873#if CK1_ENABLED
1874 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
1875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1876 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_CK1
1877#endif
1878 use pm_kind, only: CKG => CK1
1879 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1880 complex(CKG) , intent(inout) , contiguous :: matB(:)
1881 type(upperUnit_type) , intent(in) :: classA
1882 type(transSymm_type) , intent(in) :: operationA
1883 end subroutine
1884#endif
1885
1886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1887
1888#if RK5_ENABLED
1889 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
1890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1891 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK5
1892#endif
1893 use pm_kind, only: RKG => RK5
1894 real(RKG) , intent(in) , contiguous :: matA(:,:)
1895 real(RKG) , intent(inout) , contiguous :: matB(:)
1896 type(upperUnit_type) , intent(in) :: classA
1897 type(transSymm_type) , intent(in) :: operationA
1898 end subroutine
1899#endif
1900
1901#if RK4_ENABLED
1902 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
1903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1904 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK4
1905#endif
1906 use pm_kind, only: RKG => RK4
1907 real(RKG) , intent(in) , contiguous :: matA(:,:)
1908 real(RKG) , intent(inout) , contiguous :: matB(:)
1909 type(upperUnit_type) , intent(in) :: classA
1910 type(transSymm_type) , intent(in) :: operationA
1911 end subroutine
1912#endif
1913
1914#if RK3_ENABLED
1915 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
1916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1917 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK3
1918#endif
1919 use pm_kind, only: RKG => RK3
1920 real(RKG) , intent(in) , contiguous :: matA(:,:)
1921 real(RKG) , intent(inout) , contiguous :: matB(:)
1922 type(upperUnit_type) , intent(in) :: classA
1923 type(transSymm_type) , intent(in) :: operationA
1924 end subroutine
1925#endif
1926
1927#if RK2_ENABLED
1928 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
1929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1930 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK2
1931#endif
1932 use pm_kind, only: RKG => RK2
1933 real(RKG) , intent(in) , contiguous :: matA(:,:)
1934 real(RKG) , intent(inout) , contiguous :: matB(:)
1935 type(upperUnit_type) , intent(in) :: classA
1936 type(transSymm_type) , intent(in) :: operationA
1937 end subroutine
1938#endif
1939
1940#if RK1_ENABLED
1941 PURE module subroutine trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
1942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1943 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTSA_CGMB_ONOB_RK1
1944#endif
1945 use pm_kind, only: RKG => RK1
1946 real(RKG) , intent(in) , contiguous :: matA(:,:)
1947 real(RKG) , intent(inout) , contiguous :: matB(:)
1948 type(upperUnit_type) , intent(in) :: classA
1949 type(transSymm_type) , intent(in) :: operationA
1950 end subroutine
1951#endif
1952
1953 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1954
1955 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1957 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1958
1959 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1960
1961#if CK5_ENABLED
1962 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
1963#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1964 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK5
1965#endif
1966 use pm_kind, only: CKG => CK5
1967 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1968 complex(CKG) , intent(inout) , contiguous :: matB(:)
1969 type(upperUnit_type) , intent(in) :: classA
1970 type(transHerm_type) , intent(in) :: operationA
1971 end subroutine
1972#endif
1973
1974#if CK4_ENABLED
1975 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
1976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1977 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK4
1978#endif
1979 use pm_kind, only: CKG => CK4
1980 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1981 complex(CKG) , intent(inout) , contiguous :: matB(:)
1982 type(upperUnit_type) , intent(in) :: classA
1983 type(transHerm_type) , intent(in) :: operationA
1984 end subroutine
1985#endif
1986
1987#if CK3_ENABLED
1988 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
1989#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1990 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK3
1991#endif
1992 use pm_kind, only: CKG => CK3
1993 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1994 complex(CKG) , intent(inout) , contiguous :: matB(:)
1995 type(upperUnit_type) , intent(in) :: classA
1996 type(transHerm_type) , intent(in) :: operationA
1997 end subroutine
1998#endif
1999
2000#if CK2_ENABLED
2001 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
2002#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2003 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK2
2004#endif
2005 use pm_kind, only: CKG => CK2
2006 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2007 complex(CKG) , intent(inout) , contiguous :: matB(:)
2008 type(upperUnit_type) , intent(in) :: classA
2009 type(transHerm_type) , intent(in) :: operationA
2010 end subroutine
2011#endif
2012
2013#if CK1_ENABLED
2014 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
2015#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2016 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_CK1
2017#endif
2018 use pm_kind, only: CKG => CK1
2019 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2020 complex(CKG) , intent(inout) , contiguous :: matB(:)
2021 type(upperUnit_type) , intent(in) :: classA
2022 type(transHerm_type) , intent(in) :: operationA
2023 end subroutine
2024#endif
2025
2026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2027
2028#if RK5_ENABLED
2029 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
2030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2031 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK5
2032#endif
2033 use pm_kind, only: RKG => RK5
2034 real(RKG) , intent(in) , contiguous :: matA(:,:)
2035 real(RKG) , intent(inout) , contiguous :: matB(:)
2036 type(upperUnit_type) , intent(in) :: classA
2037 type(transHerm_type) , intent(in) :: operationA
2038 end subroutine
2039#endif
2040
2041#if RK4_ENABLED
2042 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
2043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2044 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK4
2045#endif
2046 use pm_kind, only: RKG => RK4
2047 real(RKG) , intent(in) , contiguous :: matA(:,:)
2048 real(RKG) , intent(inout) , contiguous :: matB(:)
2049 type(upperUnit_type) , intent(in) :: classA
2050 type(transHerm_type) , intent(in) :: operationA
2051 end subroutine
2052#endif
2053
2054#if RK3_ENABLED
2055 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
2056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2057 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK3
2058#endif
2059 use pm_kind, only: RKG => RK3
2060 real(RKG) , intent(in) , contiguous :: matA(:,:)
2061 real(RKG) , intent(inout) , contiguous :: matB(:)
2062 type(upperUnit_type) , intent(in) :: classA
2063 type(transHerm_type) , intent(in) :: operationA
2064 end subroutine
2065#endif
2066
2067#if RK2_ENABLED
2068 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
2069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2070 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK2
2071#endif
2072 use pm_kind, only: RKG => RK2
2073 real(RKG) , intent(in) , contiguous :: matA(:,:)
2074 real(RKG) , intent(inout) , contiguous :: matB(:)
2075 type(upperUnit_type) , intent(in) :: classA
2076 type(transHerm_type) , intent(in) :: operationA
2077 end subroutine
2078#endif
2079
2080#if RK1_ENABLED
2081 PURE module subroutine trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
2082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2083 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_ASS_CUUA_OTHA_CGMB_ONOB_RK1
2084#endif
2085 use pm_kind, only: RKG => RK1
2086 real(RKG) , intent(in) , contiguous :: matA(:,:)
2087 real(RKG) , intent(inout) , contiguous :: matB(:)
2088 type(upperUnit_type) , intent(in) :: classA
2089 type(transHerm_type) , intent(in) :: operationA
2090 end subroutine
2091#endif
2092
2093 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2094
2095 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2096 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2097 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2098
2099 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2100 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2101 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2102
2103 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2104 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2105 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2106
2107 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2108
2109#if CK5_ENABLED
2110 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2111#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2112 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK5
2113#endif
2114 use pm_kind, only: CKG => CK5
2115 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2116 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2117 complex(CKG) , intent(inout) , contiguous :: matB(:)
2118 type(lowerDiag_type) , intent(in) :: classA
2119 type(nothing_type) , intent(in) :: operationA
2120 end subroutine
2121#endif
2122
2123#if CK4_ENABLED
2124 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2125#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2126 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK4
2127#endif
2128 use pm_kind, only: CKG => CK4
2129 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2130 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2131 complex(CKG) , intent(inout) , contiguous :: matB(:)
2132 type(lowerDiag_type) , intent(in) :: classA
2133 type(nothing_type) , intent(in) :: operationA
2134 end subroutine
2135#endif
2136
2137#if CK3_ENABLED
2138 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2139#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2140 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK3
2141#endif
2142 use pm_kind, only: CKG => CK3
2143 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2144 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2145 complex(CKG) , intent(inout) , contiguous :: matB(:)
2146 type(lowerDiag_type) , intent(in) :: classA
2147 type(nothing_type) , intent(in) :: operationA
2148 end subroutine
2149#endif
2150
2151#if CK2_ENABLED
2152 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2154 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK2
2155#endif
2156 use pm_kind, only: CKG => CK2
2157 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2158 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2159 complex(CKG) , intent(inout) , contiguous :: matB(:)
2160 type(lowerDiag_type) , intent(in) :: classA
2161 type(nothing_type) , intent(in) :: operationA
2162 end subroutine
2163#endif
2164
2165#if CK1_ENABLED
2166 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2168 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_CK1
2169#endif
2170 use pm_kind, only: CKG => CK1
2171 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2172 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2173 complex(CKG) , intent(inout) , contiguous :: matB(:)
2174 type(lowerDiag_type) , intent(in) :: classA
2175 type(nothing_type) , intent(in) :: operationA
2176 end subroutine
2177#endif
2178
2179 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2180
2181#if RK5_ENABLED
2182 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2184 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK5
2185#endif
2186 use pm_kind, only: RKG => RK5
2187 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2188 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2189 real(RKG) , intent(inout) , contiguous :: matB(:)
2190 type(lowerDiag_type) , intent(in) :: classA
2191 type(nothing_type) , intent(in) :: operationA
2192 end subroutine
2193#endif
2194
2195#if RK4_ENABLED
2196 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2198 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK4
2199#endif
2200 use pm_kind, only: RKG => RK4
2201 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2202 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2203 real(RKG) , intent(inout) , contiguous :: matB(:)
2204 type(lowerDiag_type) , intent(in) :: classA
2205 type(nothing_type) , intent(in) :: operationA
2206 end subroutine
2207#endif
2208
2209#if RK3_ENABLED
2210 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2212 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK3
2213#endif
2214 use pm_kind, only: RKG => RK3
2215 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2216 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2217 real(RKG) , intent(inout) , contiguous :: matB(:)
2218 type(lowerDiag_type) , intent(in) :: classA
2219 type(nothing_type) , intent(in) :: operationA
2220 end subroutine
2221#endif
2222
2223#if RK2_ENABLED
2224 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2226 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK2
2227#endif
2228 use pm_kind, only: RKG => RK2
2229 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2230 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2231 real(RKG) , intent(inout) , contiguous :: matB(:)
2232 type(lowerDiag_type) , intent(in) :: classA
2233 type(nothing_type) , intent(in) :: operationA
2234 end subroutine
2235#endif
2236
2237#if RK1_ENABLED
2238 PURE module subroutine trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2240 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_ONOA_CGMB_ONOB_RK1
2241#endif
2242 use pm_kind, only: RKG => RK1
2243 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2244 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2245 real(RKG) , intent(inout) , contiguous :: matB(:)
2246 type(lowerDiag_type) , intent(in) :: classA
2247 type(nothing_type) , intent(in) :: operationA
2248 end subroutine
2249#endif
2250
2251 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2252
2253 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2254 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2255 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2256
2257 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2258
2259#if CK5_ENABLED
2260 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2262 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK5
2263#endif
2264 use pm_kind, only: CKG => CK5
2265 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2266 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2267 complex(CKG) , intent(inout) , contiguous :: matB(:)
2268 type(lowerDiag_type) , intent(in) :: classA
2269 type(transSymm_type) , intent(in) :: operationA
2270 end subroutine
2271#endif
2272
2273#if CK4_ENABLED
2274 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2276 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK4
2277#endif
2278 use pm_kind, only: CKG => CK4
2279 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2280 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2281 complex(CKG) , intent(inout) , contiguous :: matB(:)
2282 type(lowerDiag_type) , intent(in) :: classA
2283 type(transSymm_type) , intent(in) :: operationA
2284 end subroutine
2285#endif
2286
2287#if CK3_ENABLED
2288 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2290 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK3
2291#endif
2292 use pm_kind, only: CKG => CK3
2293 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2294 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2295 complex(CKG) , intent(inout) , contiguous :: matB(:)
2296 type(lowerDiag_type) , intent(in) :: classA
2297 type(transSymm_type) , intent(in) :: operationA
2298 end subroutine
2299#endif
2300
2301#if CK2_ENABLED
2302 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2304 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK2
2305#endif
2306 use pm_kind, only: CKG => CK2
2307 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2308 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2309 complex(CKG) , intent(inout) , contiguous :: matB(:)
2310 type(lowerDiag_type) , intent(in) :: classA
2311 type(transSymm_type) , intent(in) :: operationA
2312 end subroutine
2313#endif
2314
2315#if CK1_ENABLED
2316 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2318 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_CK1
2319#endif
2320 use pm_kind, only: CKG => CK1
2321 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2322 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2323 complex(CKG) , intent(inout) , contiguous :: matB(:)
2324 type(lowerDiag_type) , intent(in) :: classA
2325 type(transSymm_type) , intent(in) :: operationA
2326 end subroutine
2327#endif
2328
2329 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2330
2331#if RK5_ENABLED
2332 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2334 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK5
2335#endif
2336 use pm_kind, only: RKG => RK5
2337 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2338 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2339 real(RKG) , intent(inout) , contiguous :: matB(:)
2340 type(lowerDiag_type) , intent(in) :: classA
2341 type(transSymm_type) , intent(in) :: operationA
2342 end subroutine
2343#endif
2344
2345#if RK4_ENABLED
2346 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2348 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK4
2349#endif
2350 use pm_kind, only: RKG => RK4
2351 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2352 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2353 real(RKG) , intent(inout) , contiguous :: matB(:)
2354 type(lowerDiag_type) , intent(in) :: classA
2355 type(transSymm_type) , intent(in) :: operationA
2356 end subroutine
2357#endif
2358
2359#if RK3_ENABLED
2360 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2362 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK3
2363#endif
2364 use pm_kind, only: RKG => RK3
2365 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2366 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2367 real(RKG) , intent(inout) , contiguous :: matB(:)
2368 type(lowerDiag_type) , intent(in) :: classA
2369 type(transSymm_type) , intent(in) :: operationA
2370 end subroutine
2371#endif
2372
2373#if RK2_ENABLED
2374 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2376 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK2
2377#endif
2378 use pm_kind, only: RKG => RK2
2379 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2380 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2381 real(RKG) , intent(inout) , contiguous :: matB(:)
2382 type(lowerDiag_type) , intent(in) :: classA
2383 type(transSymm_type) , intent(in) :: operationA
2384 end subroutine
2385#endif
2386
2387#if RK1_ENABLED
2388 PURE module subroutine trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2390 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTSA_CGMB_ONOB_RK1
2391#endif
2392 use pm_kind, only: RKG => RK1
2393 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2394 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2395 real(RKG) , intent(inout) , contiguous :: matB(:)
2396 type(lowerDiag_type) , intent(in) :: classA
2397 type(transSymm_type) , intent(in) :: operationA
2398 end subroutine
2399#endif
2400
2401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2402
2403 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2404 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2405 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2406
2407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2408
2409#if CK5_ENABLED
2410 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2412 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK5
2413#endif
2414 use pm_kind, only: CKG => CK5
2415 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2416 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2417 complex(CKG) , intent(inout) , contiguous :: matB(:)
2418 type(lowerDiag_type) , intent(in) :: classA
2419 type(transHerm_type) , intent(in) :: operationA
2420 end subroutine
2421#endif
2422
2423#if CK4_ENABLED
2424 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2426 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK4
2427#endif
2428 use pm_kind, only: CKG => CK4
2429 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2430 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2431 complex(CKG) , intent(inout) , contiguous :: matB(:)
2432 type(lowerDiag_type) , intent(in) :: classA
2433 type(transHerm_type) , intent(in) :: operationA
2434 end subroutine
2435#endif
2436
2437#if CK3_ENABLED
2438 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2440 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK3
2441#endif
2442 use pm_kind, only: CKG => CK3
2443 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2444 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2445 complex(CKG) , intent(inout) , contiguous :: matB(:)
2446 type(lowerDiag_type) , intent(in) :: classA
2447 type(transHerm_type) , intent(in) :: operationA
2448 end subroutine
2449#endif
2450
2451#if CK2_ENABLED
2452 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2454 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK2
2455#endif
2456 use pm_kind, only: CKG => CK2
2457 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2458 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2459 complex(CKG) , intent(inout) , contiguous :: matB(:)
2460 type(lowerDiag_type) , intent(in) :: classA
2461 type(transHerm_type) , intent(in) :: operationA
2462 end subroutine
2463#endif
2464
2465#if CK1_ENABLED
2466 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2468 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_CK1
2469#endif
2470 use pm_kind, only: CKG => CK1
2471 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2472 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2473 complex(CKG) , intent(inout) , contiguous :: matB(:)
2474 type(lowerDiag_type) , intent(in) :: classA
2475 type(transHerm_type) , intent(in) :: operationA
2476 end subroutine
2477#endif
2478
2479 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2480
2481#if RK5_ENABLED
2482 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2484 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK5
2485#endif
2486 use pm_kind, only: RKG => RK5
2487 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2488 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2489 real(RKG) , intent(inout) , contiguous :: matB(:)
2490 type(lowerDiag_type) , intent(in) :: classA
2491 type(transHerm_type) , intent(in) :: operationA
2492 end subroutine
2493#endif
2494
2495#if RK4_ENABLED
2496 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2498 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK4
2499#endif
2500 use pm_kind, only: RKG => RK4
2501 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2502 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2503 real(RKG) , intent(inout) , contiguous :: matB(:)
2504 type(lowerDiag_type) , intent(in) :: classA
2505 type(transHerm_type) , intent(in) :: operationA
2506 end subroutine
2507#endif
2508
2509#if RK3_ENABLED
2510 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2512 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK3
2513#endif
2514 use pm_kind, only: RKG => RK3
2515 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2516 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2517 real(RKG) , intent(inout) , contiguous :: matB(:)
2518 type(lowerDiag_type) , intent(in) :: classA
2519 type(transHerm_type) , intent(in) :: operationA
2520 end subroutine
2521#endif
2522
2523#if RK2_ENABLED
2524 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2525#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2526 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK2
2527#endif
2528 use pm_kind, only: RKG => RK2
2529 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2530 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2531 real(RKG) , intent(inout) , contiguous :: matB(:)
2532 type(lowerDiag_type) , intent(in) :: classA
2533 type(transHerm_type) , intent(in) :: operationA
2534 end subroutine
2535#endif
2536
2537#if RK1_ENABLED
2538 PURE module subroutine trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2540 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLDA_OTHA_CGMB_ONOB_RK1
2541#endif
2542 use pm_kind, only: RKG => RK1
2543 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2544 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2545 real(RKG) , intent(inout) , contiguous :: matB(:)
2546 type(lowerDiag_type) , intent(in) :: classA
2547 type(transHerm_type) , intent(in) :: operationA
2548 end subroutine
2549#endif
2550
2551 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2552
2553 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2554 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2556
2557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2559 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2560
2561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2562
2563#if CK5_ENABLED
2564 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2566 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK5
2567#endif
2568 use pm_kind, only: CKG => CK5
2569 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2570 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2571 complex(CKG) , intent(inout) , contiguous :: matB(:)
2572 type(upperDiag_type) , intent(in) :: classA
2573 type(nothing_type) , intent(in) :: operationA
2574 end subroutine
2575#endif
2576
2577#if CK4_ENABLED
2578 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2580 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK4
2581#endif
2582 use pm_kind, only: CKG => CK4
2583 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2584 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2585 complex(CKG) , intent(inout) , contiguous :: matB(:)
2586 type(upperDiag_type) , intent(in) :: classA
2587 type(nothing_type) , intent(in) :: operationA
2588 end subroutine
2589#endif
2590
2591#if CK3_ENABLED
2592 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2594 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK3
2595#endif
2596 use pm_kind, only: CKG => CK3
2597 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2598 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2599 complex(CKG) , intent(inout) , contiguous :: matB(:)
2600 type(upperDiag_type) , intent(in) :: classA
2601 type(nothing_type) , intent(in) :: operationA
2602 end subroutine
2603#endif
2604
2605#if CK2_ENABLED
2606 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2608 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK2
2609#endif
2610 use pm_kind, only: CKG => CK2
2611 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2612 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2613 complex(CKG) , intent(inout) , contiguous :: matB(:)
2614 type(upperDiag_type) , intent(in) :: classA
2615 type(nothing_type) , intent(in) :: operationA
2616 end subroutine
2617#endif
2618
2619#if CK1_ENABLED
2620 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2622 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_CK1
2623#endif
2624 use pm_kind, only: CKG => CK1
2625 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2626 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2627 complex(CKG) , intent(inout) , contiguous :: matB(:)
2628 type(upperDiag_type) , intent(in) :: classA
2629 type(nothing_type) , intent(in) :: operationA
2630 end subroutine
2631#endif
2632
2633 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2634
2635#if RK5_ENABLED
2636 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2638 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK5
2639#endif
2640 use pm_kind, only: RKG => RK5
2641 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2642 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2643 real(RKG) , intent(inout) , contiguous :: matB(:)
2644 type(upperDiag_type) , intent(in) :: classA
2645 type(nothing_type) , intent(in) :: operationA
2646 end subroutine
2647#endif
2648
2649#if RK4_ENABLED
2650 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2652 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK4
2653#endif
2654 use pm_kind, only: RKG => RK4
2655 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2656 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2657 real(RKG) , intent(inout) , contiguous :: matB(:)
2658 type(upperDiag_type) , intent(in) :: classA
2659 type(nothing_type) , intent(in) :: operationA
2660 end subroutine
2661#endif
2662
2663#if RK3_ENABLED
2664 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2666 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK3
2667#endif
2668 use pm_kind, only: RKG => RK3
2669 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2670 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2671 real(RKG) , intent(inout) , contiguous :: matB(:)
2672 type(upperDiag_type) , intent(in) :: classA
2673 type(nothing_type) , intent(in) :: operationA
2674 end subroutine
2675#endif
2676
2677#if RK2_ENABLED
2678 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2680 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK2
2681#endif
2682 use pm_kind, only: RKG => RK2
2683 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2684 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2685 real(RKG) , intent(inout) , contiguous :: matB(:)
2686 type(upperDiag_type) , intent(in) :: classA
2687 type(nothing_type) , intent(in) :: operationA
2688 end subroutine
2689#endif
2690
2691#if RK1_ENABLED
2692 PURE module subroutine trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2694 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_ONOA_CGMB_ONOB_RK1
2695#endif
2696 use pm_kind, only: RKG => RK1
2697 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2698 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2699 real(RKG) , intent(inout) , contiguous :: matB(:)
2700 type(upperDiag_type) , intent(in) :: classA
2701 type(nothing_type) , intent(in) :: operationA
2702 end subroutine
2703#endif
2704
2705 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2706
2707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2709 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2710
2711 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2712
2713#if CK5_ENABLED
2714 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2715#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2716 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK5
2717#endif
2718 use pm_kind, only: CKG => CK5
2719 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2720 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2721 complex(CKG) , intent(inout) , contiguous :: matB(:)
2722 type(upperDiag_type) , intent(in) :: classA
2723 type(transSymm_type) , intent(in) :: operationA
2724 end subroutine
2725#endif
2726
2727#if CK4_ENABLED
2728 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2729#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2730 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK4
2731#endif
2732 use pm_kind, only: CKG => CK4
2733 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2734 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2735 complex(CKG) , intent(inout) , contiguous :: matB(:)
2736 type(upperDiag_type) , intent(in) :: classA
2737 type(transSymm_type) , intent(in) :: operationA
2738 end subroutine
2739#endif
2740
2741#if CK3_ENABLED
2742 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2743#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2744 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK3
2745#endif
2746 use pm_kind, only: CKG => CK3
2747 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2748 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2749 complex(CKG) , intent(inout) , contiguous :: matB(:)
2750 type(upperDiag_type) , intent(in) :: classA
2751 type(transSymm_type) , intent(in) :: operationA
2752 end subroutine
2753#endif
2754
2755#if CK2_ENABLED
2756 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2757#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2758 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK2
2759#endif
2760 use pm_kind, only: CKG => CK2
2761 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2762 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2763 complex(CKG) , intent(inout) , contiguous :: matB(:)
2764 type(upperDiag_type) , intent(in) :: classA
2765 type(transSymm_type) , intent(in) :: operationA
2766 end subroutine
2767#endif
2768
2769#if CK1_ENABLED
2770 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2772 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_CK1
2773#endif
2774 use pm_kind, only: CKG => CK1
2775 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2776 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2777 complex(CKG) , intent(inout) , contiguous :: matB(:)
2778 type(upperDiag_type) , intent(in) :: classA
2779 type(transSymm_type) , intent(in) :: operationA
2780 end subroutine
2781#endif
2782
2783 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2784
2785#if RK5_ENABLED
2786 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2788 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK5
2789#endif
2790 use pm_kind, only: RKG => RK5
2791 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2792 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2793 real(RKG) , intent(inout) , contiguous :: matB(:)
2794 type(upperDiag_type) , intent(in) :: classA
2795 type(transSymm_type) , intent(in) :: operationA
2796 end subroutine
2797#endif
2798
2799#if RK4_ENABLED
2800 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2802 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK4
2803#endif
2804 use pm_kind, only: RKG => RK4
2805 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2806 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2807 real(RKG) , intent(inout) , contiguous :: matB(:)
2808 type(upperDiag_type) , intent(in) :: classA
2809 type(transSymm_type) , intent(in) :: operationA
2810 end subroutine
2811#endif
2812
2813#if RK3_ENABLED
2814 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2816 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK3
2817#endif
2818 use pm_kind, only: RKG => RK3
2819 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2820 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2821 real(RKG) , intent(inout) , contiguous :: matB(:)
2822 type(upperDiag_type) , intent(in) :: classA
2823 type(transSymm_type) , intent(in) :: operationA
2824 end subroutine
2825#endif
2826
2827#if RK2_ENABLED
2828 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2829#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2830 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK2
2831#endif
2832 use pm_kind, only: RKG => RK2
2833 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2834 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2835 real(RKG) , intent(inout) , contiguous :: matB(:)
2836 type(upperDiag_type) , intent(in) :: classA
2837 type(transSymm_type) , intent(in) :: operationA
2838 end subroutine
2839#endif
2840
2841#if RK1_ENABLED
2842 PURE module subroutine trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2844 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTSA_CGMB_ONOB_RK1
2845#endif
2846 use pm_kind, only: RKG => RK1
2847 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2848 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2849 real(RKG) , intent(inout) , contiguous :: matB(:)
2850 type(upperDiag_type) , intent(in) :: classA
2851 type(transSymm_type) , intent(in) :: operationA
2852 end subroutine
2853#endif
2854
2855 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2856
2857 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2858 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2859 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2860
2861 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2862
2863#if CK5_ENABLED
2864 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2866 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK5
2867#endif
2868 use pm_kind, only: CKG => CK5
2869 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2870 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2871 complex(CKG) , intent(inout) , contiguous :: matB(:)
2872 type(upperDiag_type) , intent(in) :: classA
2873 type(transHerm_type) , intent(in) :: operationA
2874 end subroutine
2875#endif
2876
2877#if CK4_ENABLED
2878 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2880 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK4
2881#endif
2882 use pm_kind, only: CKG => CK4
2883 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2884 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2885 complex(CKG) , intent(inout) , contiguous :: matB(:)
2886 type(upperDiag_type) , intent(in) :: classA
2887 type(transHerm_type) , intent(in) :: operationA
2888 end subroutine
2889#endif
2890
2891#if CK3_ENABLED
2892 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2893#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2894 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK3
2895#endif
2896 use pm_kind, only: CKG => CK3
2897 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2898 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2899 complex(CKG) , intent(inout) , contiguous :: matB(:)
2900 type(upperDiag_type) , intent(in) :: classA
2901 type(transHerm_type) , intent(in) :: operationA
2902 end subroutine
2903#endif
2904
2905#if CK2_ENABLED
2906 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2908 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK2
2909#endif
2910 use pm_kind, only: CKG => CK2
2911 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2912 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2913 complex(CKG) , intent(inout) , contiguous :: matB(:)
2914 type(upperDiag_type) , intent(in) :: classA
2915 type(transHerm_type) , intent(in) :: operationA
2916 end subroutine
2917#endif
2918
2919#if CK1_ENABLED
2920 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2922 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_CK1
2923#endif
2924 use pm_kind, only: CKG => CK1
2925 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2926 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2927 complex(CKG) , intent(inout) , contiguous :: matB(:)
2928 type(upperDiag_type) , intent(in) :: classA
2929 type(transHerm_type) , intent(in) :: operationA
2930 end subroutine
2931#endif
2932
2933 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2934
2935#if RK5_ENABLED
2936 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2938 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK5
2939#endif
2940 use pm_kind, only: RKG => RK5
2941 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2942 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2943 real(RKG) , intent(inout) , contiguous :: matB(:)
2944 type(upperDiag_type) , intent(in) :: classA
2945 type(transHerm_type) , intent(in) :: operationA
2946 end subroutine
2947#endif
2948
2949#if RK4_ENABLED
2950 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2951#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2952 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK4
2953#endif
2954 use pm_kind, only: RKG => RK4
2955 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2956 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2957 real(RKG) , intent(inout) , contiguous :: matB(:)
2958 type(upperDiag_type) , intent(in) :: classA
2959 type(transHerm_type) , intent(in) :: operationA
2960 end subroutine
2961#endif
2962
2963#if RK3_ENABLED
2964 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2966 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK3
2967#endif
2968 use pm_kind, only: RKG => RK3
2969 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2970 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2971 real(RKG) , intent(inout) , contiguous :: matB(:)
2972 type(upperDiag_type) , intent(in) :: classA
2973 type(transHerm_type) , intent(in) :: operationA
2974 end subroutine
2975#endif
2976
2977#if RK2_ENABLED
2978 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2979#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2980 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK2
2981#endif
2982 use pm_kind, only: RKG => RK2
2983 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2984 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2985 real(RKG) , intent(inout) , contiguous :: matB(:)
2986 type(upperDiag_type) , intent(in) :: classA
2987 type(transHerm_type) , intent(in) :: operationA
2988 end subroutine
2989#endif
2990
2991#if RK1_ENABLED
2992 PURE module subroutine trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
2993#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2994 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUDA_OTHA_CGMB_ONOB_RK1
2995#endif
2996 use pm_kind, only: RKG => RK1
2997 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
2998 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2999 real(RKG) , intent(inout) , contiguous :: matB(:)
3000 type(upperDiag_type) , intent(in) :: classA
3001 type(transHerm_type) , intent(in) :: operationA
3002 end subroutine
3003#endif
3004
3005 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3006
3007 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3008 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3009 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3010
3011 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3013 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3014
3015 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3016
3017#if CK5_ENABLED
3018 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3019#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3020 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK5
3021#endif
3022 use pm_kind, only: CKG => CK5
3023 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3024 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3025 complex(CKG) , intent(inout) , contiguous :: matB(:)
3026 type(lowerUnit_type) , intent(in) :: classA
3027 type(nothing_type) , intent(in) :: operationA
3028 end subroutine
3029#endif
3030
3031#if CK4_ENABLED
3032 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3034 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK4
3035#endif
3036 use pm_kind, only: CKG => CK4
3037 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3038 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3039 complex(CKG) , intent(inout) , contiguous :: matB(:)
3040 type(lowerUnit_type) , intent(in) :: classA
3041 type(nothing_type) , intent(in) :: operationA
3042 end subroutine
3043#endif
3044
3045#if CK3_ENABLED
3046 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3048 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK3
3049#endif
3050 use pm_kind, only: CKG => CK3
3051 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3052 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3053 complex(CKG) , intent(inout) , contiguous :: matB(:)
3054 type(lowerUnit_type) , intent(in) :: classA
3055 type(nothing_type) , intent(in) :: operationA
3056 end subroutine
3057#endif
3058
3059#if CK2_ENABLED
3060 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3062 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK2
3063#endif
3064 use pm_kind, only: CKG => CK2
3065 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3066 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3067 complex(CKG) , intent(inout) , contiguous :: matB(:)
3068 type(lowerUnit_type) , intent(in) :: classA
3069 type(nothing_type) , intent(in) :: operationA
3070 end subroutine
3071#endif
3072
3073#if CK1_ENABLED
3074 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3076 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_CK1
3077#endif
3078 use pm_kind, only: CKG => CK1
3079 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3080 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3081 complex(CKG) , intent(inout) , contiguous :: matB(:)
3082 type(lowerUnit_type) , intent(in) :: classA
3083 type(nothing_type) , intent(in) :: operationA
3084 end subroutine
3085#endif
3086
3087 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3088
3089#if RK5_ENABLED
3090 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3092 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK5
3093#endif
3094 use pm_kind, only: RKG => RK5
3095 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3096 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3097 real(RKG) , intent(inout) , contiguous :: matB(:)
3098 type(lowerUnit_type) , intent(in) :: classA
3099 type(nothing_type) , intent(in) :: operationA
3100 end subroutine
3101#endif
3102
3103#if RK4_ENABLED
3104 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3106 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK4
3107#endif
3108 use pm_kind, only: RKG => RK4
3109 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3110 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3111 real(RKG) , intent(inout) , contiguous :: matB(:)
3112 type(lowerUnit_type) , intent(in) :: classA
3113 type(nothing_type) , intent(in) :: operationA
3114 end subroutine
3115#endif
3116
3117#if RK3_ENABLED
3118 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3120 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK3
3121#endif
3122 use pm_kind, only: RKG => RK3
3123 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3124 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3125 real(RKG) , intent(inout) , contiguous :: matB(:)
3126 type(lowerUnit_type) , intent(in) :: classA
3127 type(nothing_type) , intent(in) :: operationA
3128 end subroutine
3129#endif
3130
3131#if RK2_ENABLED
3132 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3134 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK2
3135#endif
3136 use pm_kind, only: RKG => RK2
3137 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3138 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3139 real(RKG) , intent(inout) , contiguous :: matB(:)
3140 type(lowerUnit_type) , intent(in) :: classA
3141 type(nothing_type) , intent(in) :: operationA
3142 end subroutine
3143#endif
3144
3145#if RK1_ENABLED
3146 PURE module subroutine trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3148 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_ONOA_CGMB_ONOB_RK1
3149#endif
3150 use pm_kind, only: RKG => RK1
3151 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3152 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3153 real(RKG) , intent(inout) , contiguous :: matB(:)
3154 type(lowerUnit_type) , intent(in) :: classA
3155 type(nothing_type) , intent(in) :: operationA
3156 end subroutine
3157#endif
3158
3159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3160
3161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3162 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3164
3165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3166
3167#if CK5_ENABLED
3168 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3170 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK5
3171#endif
3172 use pm_kind, only: CKG => CK5
3173 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3174 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3175 complex(CKG) , intent(inout) , contiguous :: matB(:)
3176 type(lowerUnit_type) , intent(in) :: classA
3177 type(transSymm_type) , intent(in) :: operationA
3178 end subroutine
3179#endif
3180
3181#if CK4_ENABLED
3182 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3184 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK4
3185#endif
3186 use pm_kind, only: CKG => CK4
3187 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3188 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3189 complex(CKG) , intent(inout) , contiguous :: matB(:)
3190 type(lowerUnit_type) , intent(in) :: classA
3191 type(transSymm_type) , intent(in) :: operationA
3192 end subroutine
3193#endif
3194
3195#if CK3_ENABLED
3196 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3198 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK3
3199#endif
3200 use pm_kind, only: CKG => CK3
3201 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3202 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3203 complex(CKG) , intent(inout) , contiguous :: matB(:)
3204 type(lowerUnit_type) , intent(in) :: classA
3205 type(transSymm_type) , intent(in) :: operationA
3206 end subroutine
3207#endif
3208
3209#if CK2_ENABLED
3210 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3212 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK2
3213#endif
3214 use pm_kind, only: CKG => CK2
3215 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3216 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3217 complex(CKG) , intent(inout) , contiguous :: matB(:)
3218 type(lowerUnit_type) , intent(in) :: classA
3219 type(transSymm_type) , intent(in) :: operationA
3220 end subroutine
3221#endif
3222
3223#if CK1_ENABLED
3224 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3226 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_CK1
3227#endif
3228 use pm_kind, only: CKG => CK1
3229 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3230 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3231 complex(CKG) , intent(inout) , contiguous :: matB(:)
3232 type(lowerUnit_type) , intent(in) :: classA
3233 type(transSymm_type) , intent(in) :: operationA
3234 end subroutine
3235#endif
3236
3237 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3238
3239#if RK5_ENABLED
3240 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3242 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK5
3243#endif
3244 use pm_kind, only: RKG => RK5
3245 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3246 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3247 real(RKG) , intent(inout) , contiguous :: matB(:)
3248 type(lowerUnit_type) , intent(in) :: classA
3249 type(transSymm_type) , intent(in) :: operationA
3250 end subroutine
3251#endif
3252
3253#if RK4_ENABLED
3254 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3256 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK4
3257#endif
3258 use pm_kind, only: RKG => RK4
3259 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3260 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3261 real(RKG) , intent(inout) , contiguous :: matB(:)
3262 type(lowerUnit_type) , intent(in) :: classA
3263 type(transSymm_type) , intent(in) :: operationA
3264 end subroutine
3265#endif
3266
3267#if RK3_ENABLED
3268 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3270 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK3
3271#endif
3272 use pm_kind, only: RKG => RK3
3273 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3274 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3275 real(RKG) , intent(inout) , contiguous :: matB(:)
3276 type(lowerUnit_type) , intent(in) :: classA
3277 type(transSymm_type) , intent(in) :: operationA
3278 end subroutine
3279#endif
3280
3281#if RK2_ENABLED
3282 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3284 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK2
3285#endif
3286 use pm_kind, only: RKG => RK2
3287 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3288 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3289 real(RKG) , intent(inout) , contiguous :: matB(:)
3290 type(lowerUnit_type) , intent(in) :: classA
3291 type(transSymm_type) , intent(in) :: operationA
3292 end subroutine
3293#endif
3294
3295#if RK1_ENABLED
3296 PURE module subroutine trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3298 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTSA_CGMB_ONOB_RK1
3299#endif
3300 use pm_kind, only: RKG => RK1
3301 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3302 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3303 real(RKG) , intent(inout) , contiguous :: matB(:)
3304 type(lowerUnit_type) , intent(in) :: classA
3305 type(transSymm_type) , intent(in) :: operationA
3306 end subroutine
3307#endif
3308
3309 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3310
3311 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3312 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3313 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3314
3315 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3316
3317#if CK5_ENABLED
3318 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3319#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3320 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK5
3321#endif
3322 use pm_kind, only: CKG => CK5
3323 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3324 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3325 complex(CKG) , intent(inout) , contiguous :: matB(:)
3326 type(lowerUnit_type) , intent(in) :: classA
3327 type(transHerm_type) , intent(in) :: operationA
3328 end subroutine
3329#endif
3330
3331#if CK4_ENABLED
3332 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3334 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK4
3335#endif
3336 use pm_kind, only: CKG => CK4
3337 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3338 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3339 complex(CKG) , intent(inout) , contiguous :: matB(:)
3340 type(lowerUnit_type) , intent(in) :: classA
3341 type(transHerm_type) , intent(in) :: operationA
3342 end subroutine
3343#endif
3344
3345#if CK3_ENABLED
3346 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3348 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK3
3349#endif
3350 use pm_kind, only: CKG => CK3
3351 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3352 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3353 complex(CKG) , intent(inout) , contiguous :: matB(:)
3354 type(lowerUnit_type) , intent(in) :: classA
3355 type(transHerm_type) , intent(in) :: operationA
3356 end subroutine
3357#endif
3358
3359#if CK2_ENABLED
3360 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3362 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK2
3363#endif
3364 use pm_kind, only: CKG => CK2
3365 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3366 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3367 complex(CKG) , intent(inout) , contiguous :: matB(:)
3368 type(lowerUnit_type) , intent(in) :: classA
3369 type(transHerm_type) , intent(in) :: operationA
3370 end subroutine
3371#endif
3372
3373#if CK1_ENABLED
3374 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3376 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_CK1
3377#endif
3378 use pm_kind, only: CKG => CK1
3379 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3380 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3381 complex(CKG) , intent(inout) , contiguous :: matB(:)
3382 type(lowerUnit_type) , intent(in) :: classA
3383 type(transHerm_type) , intent(in) :: operationA
3384 end subroutine
3385#endif
3386
3387 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3388
3389#if RK5_ENABLED
3390 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3392 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK5
3393#endif
3394 use pm_kind, only: RKG => RK5
3395 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3396 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3397 real(RKG) , intent(inout) , contiguous :: matB(:)
3398 type(lowerUnit_type) , intent(in) :: classA
3399 type(transHerm_type) , intent(in) :: operationA
3400 end subroutine
3401#endif
3402
3403#if RK4_ENABLED
3404 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3406 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK4
3407#endif
3408 use pm_kind, only: RKG => RK4
3409 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3410 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3411 real(RKG) , intent(inout) , contiguous :: matB(:)
3412 type(lowerUnit_type) , intent(in) :: classA
3413 type(transHerm_type) , intent(in) :: operationA
3414 end subroutine
3415#endif
3416
3417#if RK3_ENABLED
3418 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3420 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK3
3421#endif
3422 use pm_kind, only: RKG => RK3
3423 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3424 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3425 real(RKG) , intent(inout) , contiguous :: matB(:)
3426 type(lowerUnit_type) , intent(in) :: classA
3427 type(transHerm_type) , intent(in) :: operationA
3428 end subroutine
3429#endif
3430
3431#if RK2_ENABLED
3432 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3434 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK2
3435#endif
3436 use pm_kind, only: RKG => RK2
3437 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3438 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3439 real(RKG) , intent(inout) , contiguous :: matB(:)
3440 type(lowerUnit_type) , intent(in) :: classA
3441 type(transHerm_type) , intent(in) :: operationA
3442 end subroutine
3443#endif
3444
3445#if RK1_ENABLED
3446 PURE module subroutine trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3448 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CLUA_OTHA_CGMB_ONOB_RK1
3449#endif
3450 use pm_kind, only: RKG => RK1
3451 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3452 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3453 real(RKG) , intent(inout) , contiguous :: matB(:)
3454 type(lowerUnit_type) , intent(in) :: classA
3455 type(transHerm_type) , intent(in) :: operationA
3456 end subroutine
3457#endif
3458
3459 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3460
3461 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3463 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3464
3465 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3467 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3468
3469 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3470
3471#if CK5_ENABLED
3472 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3474 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK5
3475#endif
3476 use pm_kind, only: CKG => CK5
3477 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3478 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3479 complex(CKG) , intent(inout) , contiguous :: matB(:)
3480 type(upperUnit_type) , intent(in) :: classA
3481 type(nothing_type) , intent(in) :: operationA
3482 end subroutine
3483#endif
3484
3485#if CK4_ENABLED
3486 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3488 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK4
3489#endif
3490 use pm_kind, only: CKG => CK4
3491 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3492 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3493 complex(CKG) , intent(inout) , contiguous :: matB(:)
3494 type(upperUnit_type) , intent(in) :: classA
3495 type(nothing_type) , intent(in) :: operationA
3496 end subroutine
3497#endif
3498
3499#if CK3_ENABLED
3500 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3502 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK3
3503#endif
3504 use pm_kind, only: CKG => CK3
3505 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3506 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3507 complex(CKG) , intent(inout) , contiguous :: matB(:)
3508 type(upperUnit_type) , intent(in) :: classA
3509 type(nothing_type) , intent(in) :: operationA
3510 end subroutine
3511#endif
3512
3513#if CK2_ENABLED
3514 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3516 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK2
3517#endif
3518 use pm_kind, only: CKG => CK2
3519 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3520 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3521 complex(CKG) , intent(inout) , contiguous :: matB(:)
3522 type(upperUnit_type) , intent(in) :: classA
3523 type(nothing_type) , intent(in) :: operationA
3524 end subroutine
3525#endif
3526
3527#if CK1_ENABLED
3528 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3530 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_CK1
3531#endif
3532 use pm_kind, only: CKG => CK1
3533 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3534 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3535 complex(CKG) , intent(inout) , contiguous :: matB(:)
3536 type(upperUnit_type) , intent(in) :: classA
3537 type(nothing_type) , intent(in) :: operationA
3538 end subroutine
3539#endif
3540
3541 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3542
3543#if RK5_ENABLED
3544 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3546 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK5
3547#endif
3548 use pm_kind, only: RKG => RK5
3549 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3550 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3551 real(RKG) , intent(inout) , contiguous :: matB(:)
3552 type(upperUnit_type) , intent(in) :: classA
3553 type(nothing_type) , intent(in) :: operationA
3554 end subroutine
3555#endif
3556
3557#if RK4_ENABLED
3558 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3560 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK4
3561#endif
3562 use pm_kind, only: RKG => RK4
3563 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3564 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3565 real(RKG) , intent(inout) , contiguous :: matB(:)
3566 type(upperUnit_type) , intent(in) :: classA
3567 type(nothing_type) , intent(in) :: operationA
3568 end subroutine
3569#endif
3570
3571#if RK3_ENABLED
3572 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3574 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK3
3575#endif
3576 use pm_kind, only: RKG => RK3
3577 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3578 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3579 real(RKG) , intent(inout) , contiguous :: matB(:)
3580 type(upperUnit_type) , intent(in) :: classA
3581 type(nothing_type) , intent(in) :: operationA
3582 end subroutine
3583#endif
3584
3585#if RK2_ENABLED
3586 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3588 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK2
3589#endif
3590 use pm_kind, only: RKG => RK2
3591 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3592 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3593 real(RKG) , intent(inout) , contiguous :: matB(:)
3594 type(upperUnit_type) , intent(in) :: classA
3595 type(nothing_type) , intent(in) :: operationA
3596 end subroutine
3597#endif
3598
3599#if RK1_ENABLED
3600 PURE module subroutine trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3602 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_ONOA_CGMB_ONOB_RK1
3603#endif
3604 use pm_kind, only: RKG => RK1
3605 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3606 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3607 real(RKG) , intent(inout) , contiguous :: matB(:)
3608 type(upperUnit_type) , intent(in) :: classA
3609 type(nothing_type) , intent(in) :: operationA
3610 end subroutine
3611#endif
3612
3613 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3614
3615 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3616 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3617 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3618
3619 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3620
3621#if CK5_ENABLED
3622 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3624 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK5
3625#endif
3626 use pm_kind, only: CKG => CK5
3627 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3628 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3629 complex(CKG) , intent(inout) , contiguous :: matB(:)
3630 type(upperUnit_type) , intent(in) :: classA
3631 type(transSymm_type) , intent(in) :: operationA
3632 end subroutine
3633#endif
3634
3635#if CK4_ENABLED
3636 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3638 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK4
3639#endif
3640 use pm_kind, only: CKG => CK4
3641 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3642 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3643 complex(CKG) , intent(inout) , contiguous :: matB(:)
3644 type(upperUnit_type) , intent(in) :: classA
3645 type(transSymm_type) , intent(in) :: operationA
3646 end subroutine
3647#endif
3648
3649#if CK3_ENABLED
3650 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3652 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK3
3653#endif
3654 use pm_kind, only: CKG => CK3
3655 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3656 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3657 complex(CKG) , intent(inout) , contiguous :: matB(:)
3658 type(upperUnit_type) , intent(in) :: classA
3659 type(transSymm_type) , intent(in) :: operationA
3660 end subroutine
3661#endif
3662
3663#if CK2_ENABLED
3664 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3666 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK2
3667#endif
3668 use pm_kind, only: CKG => CK2
3669 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3670 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3671 complex(CKG) , intent(inout) , contiguous :: matB(:)
3672 type(upperUnit_type) , intent(in) :: classA
3673 type(transSymm_type) , intent(in) :: operationA
3674 end subroutine
3675#endif
3676
3677#if CK1_ENABLED
3678 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3680 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_CK1
3681#endif
3682 use pm_kind, only: CKG => CK1
3683 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3684 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3685 complex(CKG) , intent(inout) , contiguous :: matB(:)
3686 type(upperUnit_type) , intent(in) :: classA
3687 type(transSymm_type) , intent(in) :: operationA
3688 end subroutine
3689#endif
3690
3691 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3692
3693#if RK5_ENABLED
3694 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3696 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK5
3697#endif
3698 use pm_kind, only: RKG => RK5
3699 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3700 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3701 real(RKG) , intent(inout) , contiguous :: matB(:)
3702 type(upperUnit_type) , intent(in) :: classA
3703 type(transSymm_type) , intent(in) :: operationA
3704 end subroutine
3705#endif
3706
3707#if RK4_ENABLED
3708 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3710 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK4
3711#endif
3712 use pm_kind, only: RKG => RK4
3713 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3714 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3715 real(RKG) , intent(inout) , contiguous :: matB(:)
3716 type(upperUnit_type) , intent(in) :: classA
3717 type(transSymm_type) , intent(in) :: operationA
3718 end subroutine
3719#endif
3720
3721#if RK3_ENABLED
3722 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3724 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK3
3725#endif
3726 use pm_kind, only: RKG => RK3
3727 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3728 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3729 real(RKG) , intent(inout) , contiguous :: matB(:)
3730 type(upperUnit_type) , intent(in) :: classA
3731 type(transSymm_type) , intent(in) :: operationA
3732 end subroutine
3733#endif
3734
3735#if RK2_ENABLED
3736 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3738 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK2
3739#endif
3740 use pm_kind, only: RKG => RK2
3741 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3742 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3743 real(RKG) , intent(inout) , contiguous :: matB(:)
3744 type(upperUnit_type) , intent(in) :: classA
3745 type(transSymm_type) , intent(in) :: operationA
3746 end subroutine
3747#endif
3748
3749#if RK1_ENABLED
3750 PURE module subroutine trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3752 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTSA_CGMB_ONOB_RK1
3753#endif
3754 use pm_kind, only: RKG => RK1
3755 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3756 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3757 real(RKG) , intent(inout) , contiguous :: matB(:)
3758 type(upperUnit_type) , intent(in) :: classA
3759 type(transSymm_type) , intent(in) :: operationA
3760 end subroutine
3761#endif
3762
3763 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3764
3765 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3766 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3768
3769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3770
3771#if CK5_ENABLED
3772 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3774 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK5
3775#endif
3776 use pm_kind, only: CKG => CK5
3777 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3778 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3779 complex(CKG) , intent(inout) , contiguous :: matB(:)
3780 type(upperUnit_type) , intent(in) :: classA
3781 type(transHerm_type) , intent(in) :: operationA
3782 end subroutine
3783#endif
3784
3785#if CK4_ENABLED
3786 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3788 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK4
3789#endif
3790 use pm_kind, only: CKG => CK4
3791 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3792 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3793 complex(CKG) , intent(inout) , contiguous :: matB(:)
3794 type(upperUnit_type) , intent(in) :: classA
3795 type(transHerm_type) , intent(in) :: operationA
3796 end subroutine
3797#endif
3798
3799#if CK3_ENABLED
3800 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3802 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK3
3803#endif
3804 use pm_kind, only: CKG => CK3
3805 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3806 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3807 complex(CKG) , intent(inout) , contiguous :: matB(:)
3808 type(upperUnit_type) , intent(in) :: classA
3809 type(transHerm_type) , intent(in) :: operationA
3810 end subroutine
3811#endif
3812
3813#if CK2_ENABLED
3814 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3816 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK2
3817#endif
3818 use pm_kind, only: CKG => CK2
3819 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3820 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3821 complex(CKG) , intent(inout) , contiguous :: matB(:)
3822 type(upperUnit_type) , intent(in) :: classA
3823 type(transHerm_type) , intent(in) :: operationA
3824 end subroutine
3825#endif
3826
3827#if CK1_ENABLED
3828 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3829#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3830 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_CK1
3831#endif
3832 use pm_kind, only: CKG => CK1
3833 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3834 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3835 complex(CKG) , intent(inout) , contiguous :: matB(:)
3836 type(upperUnit_type) , intent(in) :: classA
3837 type(transHerm_type) , intent(in) :: operationA
3838 end subroutine
3839#endif
3840
3841 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3842
3843#if RK5_ENABLED
3844 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK5(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3846 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK5
3847#endif
3848 use pm_kind, only: RKG => RK5
3849 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3850 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3851 real(RKG) , intent(inout) , contiguous :: matB(:)
3852 type(upperUnit_type) , intent(in) :: classA
3853 type(transHerm_type) , intent(in) :: operationA
3854 end subroutine
3855#endif
3856
3857#if RK4_ENABLED
3858 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK4(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3860 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK4
3861#endif
3862 use pm_kind, only: RKG => RK4
3863 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3864 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3865 real(RKG) , intent(inout) , contiguous :: matB(:)
3866 type(upperUnit_type) , intent(in) :: classA
3867 type(transHerm_type) , intent(in) :: operationA
3868 end subroutine
3869#endif
3870
3871#if RK3_ENABLED
3872 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK3(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3874 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK3
3875#endif
3876 use pm_kind, only: RKG => RK3
3877 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3878 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3879 real(RKG) , intent(inout) , contiguous :: matB(:)
3880 type(upperUnit_type) , intent(in) :: classA
3881 type(transHerm_type) , intent(in) :: operationA
3882 end subroutine
3883#endif
3884
3885#if RK2_ENABLED
3886 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK2(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3887#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3888 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK2
3889#endif
3890 use pm_kind, only: RKG => RK2
3891 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3892 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3893 real(RKG) , intent(inout) , contiguous :: matB(:)
3894 type(upperUnit_type) , intent(in) :: classA
3895 type(transHerm_type) , intent(in) :: operationA
3896 end subroutine
3897#endif
3898
3899#if RK1_ENABLED
3900 PURE module subroutine trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK1(matA, classA, operationA, matB, nrow, roffA, coffA, incB)
3901#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3902 !DEC$ ATTRIBUTES DLLEXPORT :: trmv_EXP_CUUA_OTHA_CGMB_ONOB_RK1
3903#endif
3904 use pm_kind, only: RKG => RK1
3905 integer(IK) , intent(in) :: nrow, roffA, coffA, incB
3906 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3907 real(RKG) , intent(inout) , contiguous :: matB(:)
3908 type(upperUnit_type) , intent(in) :: classA
3909 type(transHerm_type) , intent(in) :: operationA
3910 end subroutine
3911#endif
3912
3913 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3914
3915 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3916 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3917 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3918
3919 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3920 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3921 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3922
3923 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3924 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3925 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3926
3927 end interface
3928
3929 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3930 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3931 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3932
3933 ! BLAS LEVEL 2 - `STRSV`, `DTRSV`, `CTRSV`, and `ZTRSV`
3934
3935 interface setMatMulTri
3936
3937 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3938 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3939 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3940
3941 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3942 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3943 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3944
3945 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3946 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3947 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3948
3949 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3950
3951#if CK5_ENABLED
3952 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
3953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3954 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_CK5
3955#endif
3956 use pm_kind, only: CKG => CK5
3957 complex(CKG) , intent(in) , contiguous :: matA(:,:)
3958 complex(CKG) , intent(inout) , contiguous :: matB(:)
3959 type(lowerDiag_type) , intent(in) :: classA
3960 type(inversion_type) , intent(in) :: operationA
3961 end subroutine
3962#endif
3963
3964#if CK4_ENABLED
3965 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
3966#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3967 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_CK4
3968#endif
3969 use pm_kind, only: CKG => CK4
3970 complex(CKG) , intent(in) , contiguous :: matA(:,:)
3971 complex(CKG) , intent(inout) , contiguous :: matB(:)
3972 type(lowerDiag_type) , intent(in) :: classA
3973 type(inversion_type) , intent(in) :: operationA
3974 end subroutine
3975#endif
3976
3977#if CK3_ENABLED
3978 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
3979#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3980 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_CK3
3981#endif
3982 use pm_kind, only: CKG => CK3
3983 complex(CKG) , intent(in) , contiguous :: matA(:,:)
3984 complex(CKG) , intent(inout) , contiguous :: matB(:)
3985 type(lowerDiag_type) , intent(in) :: classA
3986 type(inversion_type) , intent(in) :: operationA
3987 end subroutine
3988#endif
3989
3990#if CK2_ENABLED
3991 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
3992#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3993 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_CK2
3994#endif
3995 use pm_kind, only: CKG => CK2
3996 complex(CKG) , intent(in) , contiguous :: matA(:,:)
3997 complex(CKG) , intent(inout) , contiguous :: matB(:)
3998 type(lowerDiag_type) , intent(in) :: classA
3999 type(inversion_type) , intent(in) :: operationA
4000 end subroutine
4001#endif
4002
4003#if CK1_ENABLED
4004 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4006 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_CK1
4007#endif
4008 use pm_kind, only: CKG => CK1
4009 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4010 complex(CKG) , intent(inout) , contiguous :: matB(:)
4011 type(lowerDiag_type) , intent(in) :: classA
4012 type(inversion_type) , intent(in) :: operationA
4013 end subroutine
4014#endif
4015
4016 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4017
4018#if RK5_ENABLED
4019 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4020#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4021 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_RK5
4022#endif
4023 use pm_kind, only: RKG => RK5
4024 real(RKG) , intent(in) , contiguous :: matA(:,:)
4025 real(RKG) , intent(inout) , contiguous :: matB(:)
4026 type(lowerDiag_type) , intent(in) :: classA
4027 type(inversion_type) , intent(in) :: operationA
4028 end subroutine
4029#endif
4030
4031#if RK4_ENABLED
4032 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4034 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_RK4
4035#endif
4036 use pm_kind, only: RKG => RK4
4037 real(RKG) , intent(in) , contiguous :: matA(:,:)
4038 real(RKG) , intent(inout) , contiguous :: matB(:)
4039 type(lowerDiag_type) , intent(in) :: classA
4040 type(inversion_type) , intent(in) :: operationA
4041 end subroutine
4042#endif
4043
4044#if RK3_ENABLED
4045 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4047 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_RK3
4048#endif
4049 use pm_kind, only: RKG => RK3
4050 real(RKG) , intent(in) , contiguous :: matA(:,:)
4051 real(RKG) , intent(inout) , contiguous :: matB(:)
4052 type(lowerDiag_type) , intent(in) :: classA
4053 type(inversion_type) , intent(in) :: operationA
4054 end subroutine
4055#endif
4056
4057#if RK2_ENABLED
4058 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4060 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_RK2
4061#endif
4062 use pm_kind, only: RKG => RK2
4063 real(RKG) , intent(in) , contiguous :: matA(:,:)
4064 real(RKG) , intent(inout) , contiguous :: matB(:)
4065 type(lowerDiag_type) , intent(in) :: classA
4066 type(inversion_type) , intent(in) :: operationA
4067 end subroutine
4068#endif
4069
4070#if RK1_ENABLED
4071 PURE module subroutine trsv_ASS_CLDA_INVA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
4072#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4073 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_INVA_CGMB_ONOB_RK1
4074#endif
4075 use pm_kind, only: RKG => RK1
4076 real(RKG) , intent(in) , contiguous :: matA(:,:)
4077 real(RKG) , intent(inout) , contiguous :: matB(:)
4078 type(lowerDiag_type) , intent(in) :: classA
4079 type(inversion_type) , intent(in) :: operationA
4080 end subroutine
4081#endif
4082
4083 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4084
4085 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4086 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4087 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4088
4089 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4090
4091#if CK5_ENABLED
4092 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
4093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4094 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK5
4095#endif
4096 use pm_kind, only: CKG => CK5
4097 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4098 complex(CKG) , intent(inout) , contiguous :: matB(:)
4099 type(lowerDiag_type) , intent(in) :: classA
4100 type(transOrth_type) , intent(in) :: operationA
4101 end subroutine
4102#endif
4103
4104#if CK4_ENABLED
4105 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
4106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4107 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK4
4108#endif
4109 use pm_kind, only: CKG => CK4
4110 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4111 complex(CKG) , intent(inout) , contiguous :: matB(:)
4112 type(lowerDiag_type) , intent(in) :: classA
4113 type(transOrth_type) , intent(in) :: operationA
4114 end subroutine
4115#endif
4116
4117#if CK3_ENABLED
4118 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
4119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4120 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK3
4121#endif
4122 use pm_kind, only: CKG => CK3
4123 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4124 complex(CKG) , intent(inout) , contiguous :: matB(:)
4125 type(lowerDiag_type) , intent(in) :: classA
4126 type(transOrth_type) , intent(in) :: operationA
4127 end subroutine
4128#endif
4129
4130#if CK2_ENABLED
4131 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
4132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4133 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK2
4134#endif
4135 use pm_kind, only: CKG => CK2
4136 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4137 complex(CKG) , intent(inout) , contiguous :: matB(:)
4138 type(lowerDiag_type) , intent(in) :: classA
4139 type(transOrth_type) , intent(in) :: operationA
4140 end subroutine
4141#endif
4142
4143#if CK1_ENABLED
4144 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4146 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_CK1
4147#endif
4148 use pm_kind, only: CKG => CK1
4149 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4150 complex(CKG) , intent(inout) , contiguous :: matB(:)
4151 type(lowerDiag_type) , intent(in) :: classA
4152 type(transOrth_type) , intent(in) :: operationA
4153 end subroutine
4154#endif
4155
4156 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4157
4158#if RK5_ENABLED
4159 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4161 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK5
4162#endif
4163 use pm_kind, only: RKG => RK5
4164 real(RKG) , intent(in) , contiguous :: matA(:,:)
4165 real(RKG) , intent(inout) , contiguous :: matB(:)
4166 type(lowerDiag_type) , intent(in) :: classA
4167 type(transOrth_type) , intent(in) :: operationA
4168 end subroutine
4169#endif
4170
4171#if RK4_ENABLED
4172 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4173#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4174 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK4
4175#endif
4176 use pm_kind, only: RKG => RK4
4177 real(RKG) , intent(in) , contiguous :: matA(:,:)
4178 real(RKG) , intent(inout) , contiguous :: matB(:)
4179 type(lowerDiag_type) , intent(in) :: classA
4180 type(transOrth_type) , intent(in) :: operationA
4181 end subroutine
4182#endif
4183
4184#if RK3_ENABLED
4185 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4187 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK3
4188#endif
4189 use pm_kind, only: RKG => RK3
4190 real(RKG) , intent(in) , contiguous :: matA(:,:)
4191 real(RKG) , intent(inout) , contiguous :: matB(:)
4192 type(lowerDiag_type) , intent(in) :: classA
4193 type(transOrth_type) , intent(in) :: operationA
4194 end subroutine
4195#endif
4196
4197#if RK2_ENABLED
4198 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4200 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK2
4201#endif
4202 use pm_kind, only: RKG => RK2
4203 real(RKG) , intent(in) , contiguous :: matA(:,:)
4204 real(RKG) , intent(inout) , contiguous :: matB(:)
4205 type(lowerDiag_type) , intent(in) :: classA
4206 type(transOrth_type) , intent(in) :: operationA
4207 end subroutine
4208#endif
4209
4210#if RK1_ENABLED
4211 PURE module subroutine trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
4212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4213 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTOA_CGMB_ONOB_RK1
4214#endif
4215 use pm_kind, only: RKG => RK1
4216 real(RKG) , intent(in) , contiguous :: matA(:,:)
4217 real(RKG) , intent(inout) , contiguous :: matB(:)
4218 type(lowerDiag_type) , intent(in) :: classA
4219 type(transOrth_type) , intent(in) :: operationA
4220 end subroutine
4221#endif
4222
4223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4224
4225 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4227 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4228
4229 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4230
4231#if CK5_ENABLED
4232 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
4233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4234 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK5
4235#endif
4236 use pm_kind, only: CKG => CK5
4237 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4238 complex(CKG) , intent(inout) , contiguous :: matB(:)
4239 type(lowerDiag_type) , intent(in) :: classA
4240 type(transUnit_type) , intent(in) :: operationA
4241 end subroutine
4242#endif
4243
4244#if CK4_ENABLED
4245 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
4246#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4247 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK4
4248#endif
4249 use pm_kind, only: CKG => CK4
4250 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4251 complex(CKG) , intent(inout) , contiguous :: matB(:)
4252 type(lowerDiag_type) , intent(in) :: classA
4253 type(transUnit_type) , intent(in) :: operationA
4254 end subroutine
4255#endif
4256
4257#if CK3_ENABLED
4258 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
4259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4260 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK3
4261#endif
4262 use pm_kind, only: CKG => CK3
4263 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4264 complex(CKG) , intent(inout) , contiguous :: matB(:)
4265 type(lowerDiag_type) , intent(in) :: classA
4266 type(transUnit_type) , intent(in) :: operationA
4267 end subroutine
4268#endif
4269
4270#if CK2_ENABLED
4271 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
4272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4273 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK2
4274#endif
4275 use pm_kind, only: CKG => CK2
4276 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4277 complex(CKG) , intent(inout) , contiguous :: matB(:)
4278 type(lowerDiag_type) , intent(in) :: classA
4279 type(transUnit_type) , intent(in) :: operationA
4280 end subroutine
4281#endif
4282
4283#if CK1_ENABLED
4284 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4286 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_CK1
4287#endif
4288 use pm_kind, only: CKG => CK1
4289 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4290 complex(CKG) , intent(inout) , contiguous :: matB(:)
4291 type(lowerDiag_type) , intent(in) :: classA
4292 type(transUnit_type) , intent(in) :: operationA
4293 end subroutine
4294#endif
4295
4296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4297
4298#if RK5_ENABLED
4299 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4301 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK5
4302#endif
4303 use pm_kind, only: RKG => RK5
4304 real(RKG) , intent(in) , contiguous :: matA(:,:)
4305 real(RKG) , intent(inout) , contiguous :: matB(:)
4306 type(lowerDiag_type) , intent(in) :: classA
4307 type(transUnit_type) , intent(in) :: operationA
4308 end subroutine
4309#endif
4310
4311#if RK4_ENABLED
4312 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4314 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK4
4315#endif
4316 use pm_kind, only: RKG => RK4
4317 real(RKG) , intent(in) , contiguous :: matA(:,:)
4318 real(RKG) , intent(inout) , contiguous :: matB(:)
4319 type(lowerDiag_type) , intent(in) :: classA
4320 type(transUnit_type) , intent(in) :: operationA
4321 end subroutine
4322#endif
4323
4324#if RK3_ENABLED
4325 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4327 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK3
4328#endif
4329 use pm_kind, only: RKG => RK3
4330 real(RKG) , intent(in) , contiguous :: matA(:,:)
4331 real(RKG) , intent(inout) , contiguous :: matB(:)
4332 type(lowerDiag_type) , intent(in) :: classA
4333 type(transUnit_type) , intent(in) :: operationA
4334 end subroutine
4335#endif
4336
4337#if RK2_ENABLED
4338 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4340 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK2
4341#endif
4342 use pm_kind, only: RKG => RK2
4343 real(RKG) , intent(in) , contiguous :: matA(:,:)
4344 real(RKG) , intent(inout) , contiguous :: matB(:)
4345 type(lowerDiag_type) , intent(in) :: classA
4346 type(transUnit_type) , intent(in) :: operationA
4347 end subroutine
4348#endif
4349
4350#if RK1_ENABLED
4351 PURE module subroutine trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
4352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4353 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLDA_OTUA_CGMB_ONOB_RK1
4354#endif
4355 use pm_kind, only: RKG => RK1
4356 real(RKG) , intent(in) , contiguous :: matA(:,:)
4357 real(RKG) , intent(inout) , contiguous :: matB(:)
4358 type(lowerDiag_type) , intent(in) :: classA
4359 type(transUnit_type) , intent(in) :: operationA
4360 end subroutine
4361#endif
4362
4363 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4364
4365 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4366 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4367 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4368
4369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4370 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4371 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4372
4373 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4374
4375#if CK5_ENABLED
4376 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
4377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4378 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_CK5
4379#endif
4380 use pm_kind, only: CKG => CK5
4381 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4382 complex(CKG) , intent(inout) , contiguous :: matB(:)
4383 type(upperDiag_type) , intent(in) :: classA
4384 type(inversion_type) , intent(in) :: operationA
4385 end subroutine
4386#endif
4387
4388#if CK4_ENABLED
4389 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
4390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4391 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_CK4
4392#endif
4393 use pm_kind, only: CKG => CK4
4394 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4395 complex(CKG) , intent(inout) , contiguous :: matB(:)
4396 type(upperDiag_type) , intent(in) :: classA
4397 type(inversion_type) , intent(in) :: operationA
4398 end subroutine
4399#endif
4400
4401#if CK3_ENABLED
4402 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
4403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4404 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_CK3
4405#endif
4406 use pm_kind, only: CKG => CK3
4407 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4408 complex(CKG) , intent(inout) , contiguous :: matB(:)
4409 type(upperDiag_type) , intent(in) :: classA
4410 type(inversion_type) , intent(in) :: operationA
4411 end subroutine
4412#endif
4413
4414#if CK2_ENABLED
4415 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
4416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4417 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_CK2
4418#endif
4419 use pm_kind, only: CKG => CK2
4420 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4421 complex(CKG) , intent(inout) , contiguous :: matB(:)
4422 type(upperDiag_type) , intent(in) :: classA
4423 type(inversion_type) , intent(in) :: operationA
4424 end subroutine
4425#endif
4426
4427#if CK1_ENABLED
4428 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4430 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_CK1
4431#endif
4432 use pm_kind, only: CKG => CK1
4433 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4434 complex(CKG) , intent(inout) , contiguous :: matB(:)
4435 type(upperDiag_type) , intent(in) :: classA
4436 type(inversion_type) , intent(in) :: operationA
4437 end subroutine
4438#endif
4439
4440 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4441
4442#if RK5_ENABLED
4443 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4445 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_RK5
4446#endif
4447 use pm_kind, only: RKG => RK5
4448 real(RKG) , intent(in) , contiguous :: matA(:,:)
4449 real(RKG) , intent(inout) , contiguous :: matB(:)
4450 type(upperDiag_type) , intent(in) :: classA
4451 type(inversion_type) , intent(in) :: operationA
4452 end subroutine
4453#endif
4454
4455#if RK4_ENABLED
4456 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4458 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_RK4
4459#endif
4460 use pm_kind, only: RKG => RK4
4461 real(RKG) , intent(in) , contiguous :: matA(:,:)
4462 real(RKG) , intent(inout) , contiguous :: matB(:)
4463 type(upperDiag_type) , intent(in) :: classA
4464 type(inversion_type) , intent(in) :: operationA
4465 end subroutine
4466#endif
4467
4468#if RK3_ENABLED
4469 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4471 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_RK3
4472#endif
4473 use pm_kind, only: RKG => RK3
4474 real(RKG) , intent(in) , contiguous :: matA(:,:)
4475 real(RKG) , intent(inout) , contiguous :: matB(:)
4476 type(upperDiag_type) , intent(in) :: classA
4477 type(inversion_type) , intent(in) :: operationA
4478 end subroutine
4479#endif
4480
4481#if RK2_ENABLED
4482 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4484 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_RK2
4485#endif
4486 use pm_kind, only: RKG => RK2
4487 real(RKG) , intent(in) , contiguous :: matA(:,:)
4488 real(RKG) , intent(inout) , contiguous :: matB(:)
4489 type(upperDiag_type) , intent(in) :: classA
4490 type(inversion_type) , intent(in) :: operationA
4491 end subroutine
4492#endif
4493
4494#if RK1_ENABLED
4495 PURE module subroutine trsv_ASS_CUDA_INVA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
4496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4497 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_INVA_CGMB_ONOB_RK1
4498#endif
4499 use pm_kind, only: RKG => RK1
4500 real(RKG) , intent(in) , contiguous :: matA(:,:)
4501 real(RKG) , intent(inout) , contiguous :: matB(:)
4502 type(upperDiag_type) , intent(in) :: classA
4503 type(inversion_type) , intent(in) :: operationA
4504 end subroutine
4505#endif
4506
4507 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4508
4509 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4510 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4511 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4512
4513 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4514
4515#if CK5_ENABLED
4516 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
4517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4518 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK5
4519#endif
4520 use pm_kind, only: CKG => CK5
4521 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4522 complex(CKG) , intent(inout) , contiguous :: matB(:)
4523 type(upperDiag_type) , intent(in) :: classA
4524 type(transOrth_type) , intent(in) :: operationA
4525 end subroutine
4526#endif
4527
4528#if CK4_ENABLED
4529 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
4530#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4531 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK4
4532#endif
4533 use pm_kind, only: CKG => CK4
4534 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4535 complex(CKG) , intent(inout) , contiguous :: matB(:)
4536 type(upperDiag_type) , intent(in) :: classA
4537 type(transOrth_type) , intent(in) :: operationA
4538 end subroutine
4539#endif
4540
4541#if CK3_ENABLED
4542 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
4543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4544 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK3
4545#endif
4546 use pm_kind, only: CKG => CK3
4547 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4548 complex(CKG) , intent(inout) , contiguous :: matB(:)
4549 type(upperDiag_type) , intent(in) :: classA
4550 type(transOrth_type) , intent(in) :: operationA
4551 end subroutine
4552#endif
4553
4554#if CK2_ENABLED
4555 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
4556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4557 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK2
4558#endif
4559 use pm_kind, only: CKG => CK2
4560 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4561 complex(CKG) , intent(inout) , contiguous :: matB(:)
4562 type(upperDiag_type) , intent(in) :: classA
4563 type(transOrth_type) , intent(in) :: operationA
4564 end subroutine
4565#endif
4566
4567#if CK1_ENABLED
4568 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4570 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_CK1
4571#endif
4572 use pm_kind, only: CKG => CK1
4573 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4574 complex(CKG) , intent(inout) , contiguous :: matB(:)
4575 type(upperDiag_type) , intent(in) :: classA
4576 type(transOrth_type) , intent(in) :: operationA
4577 end subroutine
4578#endif
4579
4580 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4581
4582#if RK5_ENABLED
4583 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4584#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4585 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK5
4586#endif
4587 use pm_kind, only: RKG => RK5
4588 real(RKG) , intent(in) , contiguous :: matA(:,:)
4589 real(RKG) , intent(inout) , contiguous :: matB(:)
4590 type(upperDiag_type) , intent(in) :: classA
4591 type(transOrth_type) , intent(in) :: operationA
4592 end subroutine
4593#endif
4594
4595#if RK4_ENABLED
4596 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4598 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK4
4599#endif
4600 use pm_kind, only: RKG => RK4
4601 real(RKG) , intent(in) , contiguous :: matA(:,:)
4602 real(RKG) , intent(inout) , contiguous :: matB(:)
4603 type(upperDiag_type) , intent(in) :: classA
4604 type(transOrth_type) , intent(in) :: operationA
4605 end subroutine
4606#endif
4607
4608#if RK3_ENABLED
4609 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4611 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK3
4612#endif
4613 use pm_kind, only: RKG => RK3
4614 real(RKG) , intent(in) , contiguous :: matA(:,:)
4615 real(RKG) , intent(inout) , contiguous :: matB(:)
4616 type(upperDiag_type) , intent(in) :: classA
4617 type(transOrth_type) , intent(in) :: operationA
4618 end subroutine
4619#endif
4620
4621#if RK2_ENABLED
4622 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4624 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK2
4625#endif
4626 use pm_kind, only: RKG => RK2
4627 real(RKG) , intent(in) , contiguous :: matA(:,:)
4628 real(RKG) , intent(inout) , contiguous :: matB(:)
4629 type(upperDiag_type) , intent(in) :: classA
4630 type(transOrth_type) , intent(in) :: operationA
4631 end subroutine
4632#endif
4633
4634#if RK1_ENABLED
4635 PURE module subroutine trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
4636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4637 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTOA_CGMB_ONOB_RK1
4638#endif
4639 use pm_kind, only: RKG => RK1
4640 real(RKG) , intent(in) , contiguous :: matA(:,:)
4641 real(RKG) , intent(inout) , contiguous :: matB(:)
4642 type(upperDiag_type) , intent(in) :: classA
4643 type(transOrth_type) , intent(in) :: operationA
4644 end subroutine
4645#endif
4646
4647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4648
4649 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4650 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4651 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4652
4653 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4654
4655#if CK5_ENABLED
4656 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
4657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4658 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK5
4659#endif
4660 use pm_kind, only: CKG => CK5
4661 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4662 complex(CKG) , intent(inout) , contiguous :: matB(:)
4663 type(upperDiag_type) , intent(in) :: classA
4664 type(transUnit_type) , intent(in) :: operationA
4665 end subroutine
4666#endif
4667
4668#if CK4_ENABLED
4669 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
4670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4671 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK4
4672#endif
4673 use pm_kind, only: CKG => CK4
4674 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4675 complex(CKG) , intent(inout) , contiguous :: matB(:)
4676 type(upperDiag_type) , intent(in) :: classA
4677 type(transUnit_type) , intent(in) :: operationA
4678 end subroutine
4679#endif
4680
4681#if CK3_ENABLED
4682 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
4683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4684 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK3
4685#endif
4686 use pm_kind, only: CKG => CK3
4687 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4688 complex(CKG) , intent(inout) , contiguous :: matB(:)
4689 type(upperDiag_type) , intent(in) :: classA
4690 type(transUnit_type) , intent(in) :: operationA
4691 end subroutine
4692#endif
4693
4694#if CK2_ENABLED
4695 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
4696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4697 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK2
4698#endif
4699 use pm_kind, only: CKG => CK2
4700 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4701 complex(CKG) , intent(inout) , contiguous :: matB(:)
4702 type(upperDiag_type) , intent(in) :: classA
4703 type(transUnit_type) , intent(in) :: operationA
4704 end subroutine
4705#endif
4706
4707#if CK1_ENABLED
4708 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4710 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_CK1
4711#endif
4712 use pm_kind, only: CKG => CK1
4713 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4714 complex(CKG) , intent(inout) , contiguous :: matB(:)
4715 type(upperDiag_type) , intent(in) :: classA
4716 type(transUnit_type) , intent(in) :: operationA
4717 end subroutine
4718#endif
4719
4720 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4721
4722#if RK5_ENABLED
4723 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4725 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK5
4726#endif
4727 use pm_kind, only: RKG => RK5
4728 real(RKG) , intent(in) , contiguous :: matA(:,:)
4729 real(RKG) , intent(inout) , contiguous :: matB(:)
4730 type(upperDiag_type) , intent(in) :: classA
4731 type(transUnit_type) , intent(in) :: operationA
4732 end subroutine
4733#endif
4734
4735#if RK4_ENABLED
4736 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4738 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK4
4739#endif
4740 use pm_kind, only: RKG => RK4
4741 real(RKG) , intent(in) , contiguous :: matA(:,:)
4742 real(RKG) , intent(inout) , contiguous :: matB(:)
4743 type(upperDiag_type) , intent(in) :: classA
4744 type(transUnit_type) , intent(in) :: operationA
4745 end subroutine
4746#endif
4747
4748#if RK3_ENABLED
4749 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4751 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK3
4752#endif
4753 use pm_kind, only: RKG => RK3
4754 real(RKG) , intent(in) , contiguous :: matA(:,:)
4755 real(RKG) , intent(inout) , contiguous :: matB(:)
4756 type(upperDiag_type) , intent(in) :: classA
4757 type(transUnit_type) , intent(in) :: operationA
4758 end subroutine
4759#endif
4760
4761#if RK2_ENABLED
4762 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4764 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK2
4765#endif
4766 use pm_kind, only: RKG => RK2
4767 real(RKG) , intent(in) , contiguous :: matA(:,:)
4768 real(RKG) , intent(inout) , contiguous :: matB(:)
4769 type(upperDiag_type) , intent(in) :: classA
4770 type(transUnit_type) , intent(in) :: operationA
4771 end subroutine
4772#endif
4773
4774#if RK1_ENABLED
4775 PURE module subroutine trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK1(matA, classA, operationA, matB)
4776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4777 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CUDA_OTUA_CGMB_ONOB_RK1
4778#endif
4779 use pm_kind, only: RKG => RK1
4780 real(RKG) , intent(in) , contiguous :: matA(:,:)
4781 real(RKG) , intent(inout) , contiguous :: matB(:)
4782 type(upperDiag_type) , intent(in) :: classA
4783 type(transUnit_type) , intent(in) :: operationA
4784 end subroutine
4785#endif
4786
4787 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4788
4789 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4790 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4791 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4792
4793 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4794 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4795 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4796
4797 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4798
4799#if CK5_ENABLED
4800 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_CK5(matA, classA, operationA, matB)
4801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4802 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_CK5
4803#endif
4804 use pm_kind, only: CKG => CK5
4805 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4806 complex(CKG) , intent(inout) , contiguous :: matB(:)
4807 type(lowerUnit_type) , intent(in) :: classA
4808 type(inversion_type) , intent(in) :: operationA
4809 end subroutine
4810#endif
4811
4812#if CK4_ENABLED
4813 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_CK4(matA, classA, operationA, matB)
4814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4815 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_CK4
4816#endif
4817 use pm_kind, only: CKG => CK4
4818 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4819 complex(CKG) , intent(inout) , contiguous :: matB(:)
4820 type(lowerUnit_type) , intent(in) :: classA
4821 type(inversion_type) , intent(in) :: operationA
4822 end subroutine
4823#endif
4824
4825#if CK3_ENABLED
4826 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_CK3(matA, classA, operationA, matB)
4827#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4828 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_CK3
4829#endif
4830 use pm_kind, only: CKG => CK3
4831 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4832 complex(CKG) , intent(inout) , contiguous :: matB(:)
4833 type(lowerUnit_type) , intent(in) :: classA
4834 type(inversion_type) , intent(in) :: operationA
4835 end subroutine
4836#endif
4837
4838#if CK2_ENABLED
4839 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_CK2(matA, classA, operationA, matB)
4840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4841 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_CK2
4842#endif
4843 use pm_kind, only: CKG => CK2
4844 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4845 complex(CKG) , intent(inout) , contiguous :: matB(:)
4846 type(lowerUnit_type) , intent(in) :: classA
4847 type(inversion_type) , intent(in) :: operationA
4848 end subroutine
4849#endif
4850
4851#if CK1_ENABLED
4852 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_CK1(matA, classA, operationA, matB)
4853#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4854 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_CK1
4855#endif
4856 use pm_kind, only: CKG => CK1
4857 complex(CKG) , intent(in) , contiguous :: matA(:,:)
4858 complex(CKG) , intent(inout) , contiguous :: matB(:)
4859 type(lowerUnit_type) , intent(in) :: classA
4860 type(inversion_type) , intent(in) :: operationA
4861 end subroutine
4862#endif
4863
4864 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4865
4866#if RK5_ENABLED
4867 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_RK5(matA, classA, operationA, matB)
4868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4869 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_RK5
4870#endif
4871 use pm_kind, only: RKG => RK5
4872 real(RKG) , intent(in) , contiguous :: matA(:,:)
4873 real(RKG) , intent(inout) , contiguous :: matB(:)
4874 type(lowerUnit_type) , intent(in) :: classA
4875 type(inversion_type) , intent(in) :: operationA
4876 end subroutine
4877#endif
4878
4879#if RK4_ENABLED
4880 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_RK4(matA, classA, operationA, matB)
4881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4882 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_RK4
4883#endif
4884 use pm_kind, only: RKG => RK4
4885 real(RKG) , intent(in) , contiguous :: matA(:,:)
4886 real(RKG) , intent(inout) , contiguous :: matB(:)
4887 type(lowerUnit_type) , intent(in) :: classA
4888 type(inversion_type) , intent(in) :: operationA
4889 end subroutine
4890#endif
4891
4892#if RK3_ENABLED
4893 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_RK3(matA, classA, operationA, matB)
4894#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4895 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_RK3
4896#endif
4897 use pm_kind, only: RKG => RK3
4898 real(RKG) , intent(in) , contiguous :: matA(:,:)
4899 real(RKG) , intent(inout) , contiguous :: matB(:)
4900 type(lowerUnit_type) , intent(in) :: classA
4901 type(inversion_type) , intent(in) :: operationA
4902 end subroutine
4903#endif
4904
4905#if RK2_ENABLED
4906 PURE module subroutine trsv_ASS_CLUA_INVA_CGMB_ONOB_RK2(matA, classA, operationA, matB)
4907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4908 !DEC$ ATTRIBUTES DLLEXPORT :: trsv_ASS_CLUA_INVA_CGMB_ONOB_RK2
4909#endif
4910 use pm_kind, only: RKG => RK2
4911