ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixUpdate.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
113
114!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115
117
118 use pm_kind, only: SK, IK, LK
126 use pm_array, only: nothing, nothing_type
127
128 implicit none
129
130 character(*, SK), parameter :: MODULE_NAME = "@pm_matrixUpdate"
131
132!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133
302 interface setMatUpdate
303
304 ! naming convention:
305 ! shrk_EXP_LXX
306 ! ||||||
307 ! ||||||
308 ! ||||A/S/H => asis/Symmetric/Hermitian
309 ! |||L/U => LowDia/UppDia
310 ! ||O => offset
311 ! |S => shape
312 ! C => coefficients
313
314 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
317
318 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
321
322 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
323 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
325
326 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327
328#if IK5_ENABLED
329 PURE module subroutine shrk_ASS_CSM_SLD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta)
330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
331 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_IK5
332#endif
333 use pm_kind, only: IKG => IK5
334 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
335 integer(IKG) , intent(in) , contiguous :: matA(:,:)
336 integer(IKG) , intent(in) , optional :: alpha, beta
337 type(nothing_type) , intent(in) :: operationA
338 type(lowDia_type) , intent(in) :: subset
339 type(symmetric_type) , intent(in) :: class
340 end subroutine
341#endif
342
343#if IK4_ENABLED
344 PURE module subroutine shrk_ASS_CSM_SLD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta)
345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
346 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_IK4
347#endif
348 use pm_kind, only: IKG => IK4
349 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
350 integer(IKG) , intent(in) , contiguous :: matA(:,:)
351 integer(IKG) , intent(in) , optional :: alpha, beta
352 type(nothing_type) , intent(in) :: operationA
353 type(lowDia_type) , intent(in) :: subset
354 type(symmetric_type) , intent(in) :: class
355 end subroutine
356#endif
357
358#if IK3_ENABLED
359 PURE module subroutine shrk_ASS_CSM_SLD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta)
360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
361 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_IK3
362#endif
363 use pm_kind, only: IKG => IK3
364 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
365 integer(IKG) , intent(in) , contiguous :: matA(:,:)
366 integer(IKG) , intent(in) , optional :: alpha, beta
367 type(nothing_type) , intent(in) :: operationA
368 type(lowDia_type) , intent(in) :: subset
369 type(symmetric_type) , intent(in) :: class
370 end subroutine
371#endif
372
373#if IK2_ENABLED
374 PURE module subroutine shrk_ASS_CSM_SLD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta)
375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
376 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_IK2
377#endif
378 use pm_kind, only: IKG => IK2
379 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
380 integer(IKG) , intent(in) , contiguous :: matA(:,:)
381 integer(IKG) , intent(in) , optional :: alpha, beta
382 type(nothing_type) , intent(in) :: operationA
383 type(lowDia_type) , intent(in) :: subset
384 type(symmetric_type) , intent(in) :: class
385 end subroutine
386#endif
387
388#if IK1_ENABLED
389 PURE module subroutine shrk_ASS_CSM_SLD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta)
390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
391 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_IK1
392#endif
393 use pm_kind, only: IKG => IK1
394 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
395 integer(IKG) , intent(in) , contiguous :: matA(:,:)
396 integer(IKG) , intent(in) , optional :: alpha, beta
397 type(nothing_type) , intent(in) :: operationA
398 type(lowDia_type) , intent(in) :: subset
399 type(symmetric_type) , intent(in) :: class
400 end subroutine
401#endif
402
403 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
404
405#if CK5_ENABLED
406 PURE module subroutine shrk_ASS_CSM_SLD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta)
407#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
408 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_CK5
409#endif
410 use pm_kind, only: CKG => CK5
411 complex(CKG) , intent(in) , optional :: alpha, beta
412 complex(CKG) , intent(in) , contiguous :: matA(:,:)
413 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
414 type(nothing_type) , intent(in) :: operationA
415 type(lowDia_type) , intent(in) :: subset
416 type(symmetric_type) , intent(in) :: class
417 end subroutine
418#endif
419
420#if CK4_ENABLED
421 PURE module subroutine shrk_ASS_CSM_SLD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta)
422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
423 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_CK4
424#endif
425 use pm_kind, only: CKG => CK4
426 complex(CKG) , intent(in) , optional :: alpha, beta
427 complex(CKG) , intent(in) , contiguous :: matA(:,:)
428 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
429 type(nothing_type) , intent(in) :: operationA
430 type(lowDia_type) , intent(in) :: subset
431 type(symmetric_type) , intent(in) :: class
432 end subroutine
433#endif
434
435#if CK3_ENABLED
436 PURE module subroutine shrk_ASS_CSM_SLD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta)
437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
438 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_CK3
439#endif
440 use pm_kind, only: CKG => CK3
441 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
442 complex(CKG) , intent(in) , contiguous :: matA(:,:)
443 complex(CKG) , intent(in) , optional :: alpha, beta
444 type(nothing_type) , intent(in) :: operationA
445 type(lowDia_type) , intent(in) :: subset
446 type(symmetric_type) , intent(in) :: class
447 end subroutine
448#endif
449
450#if CK2_ENABLED
451 PURE module subroutine shrk_ASS_CSM_SLD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta)
452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
453 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_CK2
454#endif
455 use pm_kind, only: CKG => CK2
456 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
457 complex(CKG) , intent(in) , contiguous :: matA(:,:)
458 complex(CKG) , intent(in) , optional :: alpha, beta
459 type(nothing_type) , intent(in) :: operationA
460 type(lowDia_type) , intent(in) :: subset
461 type(symmetric_type) , intent(in) :: class
462 end subroutine
463#endif
464
465#if CK1_ENABLED
466 PURE module subroutine shrk_ASS_CSM_SLD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta)
467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
468 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_CK1
469#endif
470 use pm_kind, only: CKG => CK1
471 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
472 complex(CKG) , intent(in) , contiguous :: matA(:,:)
473 complex(CKG) , intent(in) , optional :: alpha, beta
474 type(nothing_type) , intent(in) :: operationA
475 type(lowDia_type) , intent(in) :: subset
476 type(symmetric_type) , intent(in) :: class
477 end subroutine
478#endif
479
480 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
481
482#if RK5_ENABLED
483 PURE module subroutine shrk_ASS_CSM_SLD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta)
484#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
485 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_RK5
486#endif
487 use pm_kind, only: RKG => RK5
488 real(RKG) , intent(inout) , contiguous :: mat(:,:)
489 real(RKG) , intent(in) , contiguous :: matA(:,:)
490 real(RKG) , intent(in) , optional :: alpha, beta
491 type(nothing_type) , intent(in) :: operationA
492 type(lowDia_type) , intent(in) :: subset
493 type(symmetric_type) , intent(in) :: class
494 end subroutine
495#endif
496
497#if RK4_ENABLED
498 PURE module subroutine shrk_ASS_CSM_SLD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta)
499#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
500 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_RK4
501#endif
502 use pm_kind, only: RKG => RK4
503 real(RKG) , intent(inout) , contiguous :: mat(:,:)
504 real(RKG) , intent(in) , contiguous :: matA(:,:)
505 real(RKG) , intent(in) , optional :: alpha, beta
506 type(nothing_type) , intent(in) :: operationA
507 type(lowDia_type) , intent(in) :: subset
508 type(symmetric_type) , intent(in) :: class
509 end subroutine
510#endif
511
512#if RK3_ENABLED
513 PURE module subroutine shrk_ASS_CSM_SLD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta)
514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
515 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_RK3
516#endif
517 use pm_kind, only: RKG => RK3
518 real(RKG) , intent(inout) , contiguous :: mat(:,:)
519 real(RKG) , intent(in) , contiguous :: matA(:,:)
520 real(RKG) , intent(in) , optional :: alpha, beta
521 type(nothing_type) , intent(in) :: operationA
522 type(lowDia_type) , intent(in) :: subset
523 type(symmetric_type) , intent(in) :: class
524 end subroutine
525#endif
526
527#if RK2_ENABLED
528 PURE module subroutine shrk_ASS_CSM_SLD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta)
529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
530 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_RK2
531#endif
532 use pm_kind, only: RKG => RK2
533 real(RKG) , intent(inout) , contiguous :: mat(:,:)
534 real(RKG) , intent(in) , contiguous :: matA(:,:)
535 real(RKG) , intent(in) , optional :: alpha, beta
536 type(nothing_type) , intent(in) :: operationA
537 type(lowDia_type) , intent(in) :: subset
538 type(symmetric_type) , intent(in) :: class
539 end subroutine
540#endif
541
542#if RK1_ENABLED
543 PURE module subroutine shrk_ASS_CSM_SLD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta)
544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
545 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_ONO_RK1
546#endif
547 use pm_kind, only: RKG => RK1
548 real(RKG) , intent(inout) , contiguous :: mat(:,:)
549 real(RKG) , intent(in) , contiguous :: matA(:,:)
550 real(RKG) , intent(in) , optional :: alpha, beta
551 type(nothing_type) , intent(in) :: operationA
552 type(lowDia_type) , intent(in) :: subset
553 type(symmetric_type) , intent(in) :: class
554 end subroutine
555#endif
556
557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558
559 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
562
563 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
564
565#if IK5_ENABLED
566 PURE module subroutine shrk_ASS_CSM_SLD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta)
567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
568 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_IK5
569#endif
570 use pm_kind, only: IKG => IK5
571 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
572 integer(IKG) , intent(in) , contiguous :: matA(:,:)
573 integer(IKG) , intent(in) , optional :: alpha, beta
574 type(trans_type) , intent(in) :: operationA
575 type(lowDia_type) , intent(in) :: subset
576 type(symmetric_type) , intent(in) :: class
577 end subroutine
578#endif
579
580#if IK4_ENABLED
581 PURE module subroutine shrk_ASS_CSM_SLD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta)
582#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
583 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_IK4
584#endif
585 use pm_kind, only: IKG => IK4
586 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
587 integer(IKG) , intent(in) , contiguous :: matA(:,:)
588 integer(IKG) , intent(in) , optional :: alpha, beta
589 type(trans_type) , intent(in) :: operationA
590 type(lowDia_type) , intent(in) :: subset
591 type(symmetric_type) , intent(in) :: class
592 end subroutine
593#endif
594
595#if IK3_ENABLED
596 PURE module subroutine shrk_ASS_CSM_SLD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta)
597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
598 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_IK3
599#endif
600 use pm_kind, only: IKG => IK3
601 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
602 integer(IKG) , intent(in) , contiguous :: matA(:,:)
603 integer(IKG) , intent(in) , optional :: alpha, beta
604 type(trans_type) , intent(in) :: operationA
605 type(lowDia_type) , intent(in) :: subset
606 type(symmetric_type) , intent(in) :: class
607 end subroutine
608#endif
609
610#if IK2_ENABLED
611 PURE module subroutine shrk_ASS_CSM_SLD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta)
612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
613 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_IK2
614#endif
615 use pm_kind, only: IKG => IK2
616 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
617 integer(IKG) , intent(in) , contiguous :: matA(:,:)
618 integer(IKG) , intent(in) , optional :: alpha, beta
619 type(trans_type) , intent(in) :: operationA
620 type(lowDia_type) , intent(in) :: subset
621 type(symmetric_type) , intent(in) :: class
622 end subroutine
623#endif
624
625#if IK1_ENABLED
626 PURE module subroutine shrk_ASS_CSM_SLD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta)
627#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
628 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_IK1
629#endif
630 use pm_kind, only: IKG => IK1
631 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
632 integer(IKG) , intent(in) , contiguous :: matA(:,:)
633 integer(IKG) , intent(in) , optional :: alpha, beta
634 type(trans_type) , intent(in) :: operationA
635 type(lowDia_type) , intent(in) :: subset
636 type(symmetric_type) , intent(in) :: class
637 end subroutine
638#endif
639
640 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
641
642#if CK5_ENABLED
643 PURE module subroutine shrk_ASS_CSM_SLD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta)
644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
645 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_CK5
646#endif
647 use pm_kind, only: CKG => CK5
648 complex(CKG) , intent(in) , optional :: alpha, beta
649 complex(CKG) , intent(in) , contiguous :: matA(:,:)
650 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
651 type(trans_type) , intent(in) :: operationA
652 type(lowDia_type) , intent(in) :: subset
653 type(symmetric_type) , intent(in) :: class
654 end subroutine
655#endif
656
657#if CK4_ENABLED
658 PURE module subroutine shrk_ASS_CSM_SLD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta)
659#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
660 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_CK4
661#endif
662 use pm_kind, only: CKG => CK4
663 complex(CKG) , intent(in) , optional :: alpha, beta
664 complex(CKG) , intent(in) , contiguous :: matA(:,:)
665 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
666 type(trans_type) , intent(in) :: operationA
667 type(lowDia_type) , intent(in) :: subset
668 type(symmetric_type) , intent(in) :: class
669 end subroutine
670#endif
671
672#if CK3_ENABLED
673 PURE module subroutine shrk_ASS_CSM_SLD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta)
674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
675 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_CK3
676#endif
677 use pm_kind, only: CKG => CK3
678 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
679 complex(CKG) , intent(in) , contiguous :: matA(:,:)
680 complex(CKG) , intent(in) , optional :: alpha, beta
681 type(trans_type) , intent(in) :: operationA
682 type(lowDia_type) , intent(in) :: subset
683 type(symmetric_type) , intent(in) :: class
684 end subroutine
685#endif
686
687#if CK2_ENABLED
688 PURE module subroutine shrk_ASS_CSM_SLD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta)
689#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
690 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_CK2
691#endif
692 use pm_kind, only: CKG => CK2
693 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
694 complex(CKG) , intent(in) , contiguous :: matA(:,:)
695 complex(CKG) , intent(in) , optional :: alpha, beta
696 type(trans_type) , intent(in) :: operationA
697 type(lowDia_type) , intent(in) :: subset
698 type(symmetric_type) , intent(in) :: class
699 end subroutine
700#endif
701
702#if CK1_ENABLED
703 PURE module subroutine shrk_ASS_CSM_SLD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta)
704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
705 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_CK1
706#endif
707 use pm_kind, only: CKG => CK1
708 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
709 complex(CKG) , intent(in) , contiguous :: matA(:,:)
710 complex(CKG) , intent(in) , optional :: alpha, beta
711 type(trans_type) , intent(in) :: operationA
712 type(lowDia_type) , intent(in) :: subset
713 type(symmetric_type) , intent(in) :: class
714 end subroutine
715#endif
716
717 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
718
719#if RK5_ENABLED
720 PURE module subroutine shrk_ASS_CSM_SLD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta)
721#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
722 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_RK5
723#endif
724 use pm_kind, only: RKG => RK5
725 real(RKG) , intent(inout) , contiguous :: mat(:,:)
726 real(RKG) , intent(in) , contiguous :: matA(:,:)
727 real(RKG) , intent(in) , optional :: alpha, beta
728 type(trans_type) , intent(in) :: operationA
729 type(lowDia_type) , intent(in) :: subset
730 type(symmetric_type) , intent(in) :: class
731 end subroutine
732#endif
733
734#if RK4_ENABLED
735 PURE module subroutine shrk_ASS_CSM_SLD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta)
736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
737 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_RK4
738#endif
739 use pm_kind, only: RKG => RK4
740 real(RKG) , intent(inout) , contiguous :: mat(:,:)
741 real(RKG) , intent(in) , contiguous :: matA(:,:)
742 real(RKG) , intent(in) , optional :: alpha, beta
743 type(trans_type) , intent(in) :: operationA
744 type(lowDia_type) , intent(in) :: subset
745 type(symmetric_type) , intent(in) :: class
746 end subroutine
747#endif
748
749#if RK3_ENABLED
750 PURE module subroutine shrk_ASS_CSM_SLD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta)
751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
752 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_RK3
753#endif
754 use pm_kind, only: RKG => RK3
755 real(RKG) , intent(inout) , contiguous :: mat(:,:)
756 real(RKG) , intent(in) , contiguous :: matA(:,:)
757 real(RKG) , intent(in) , optional :: alpha, beta
758 type(trans_type) , intent(in) :: operationA
759 type(lowDia_type) , intent(in) :: subset
760 type(symmetric_type) , intent(in) :: class
761 end subroutine
762#endif
763
764#if RK2_ENABLED
765 PURE module subroutine shrk_ASS_CSM_SLD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta)
766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
767 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_RK2
768#endif
769 use pm_kind, only: RKG => RK2
770 real(RKG) , intent(inout) , contiguous :: mat(:,:)
771 real(RKG) , intent(in) , contiguous :: matA(:,:)
772 real(RKG) , intent(in) , optional :: alpha, beta
773 type(trans_type) , intent(in) :: operationA
774 type(lowDia_type) , intent(in) :: subset
775 type(symmetric_type) , intent(in) :: class
776 end subroutine
777#endif
778
779#if RK1_ENABLED
780 PURE module subroutine shrk_ASS_CSM_SLD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta)
781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
782 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SLD_OTP_RK1
783#endif
784 use pm_kind, only: RKG => RK1
785 real(RKG) , intent(inout) , contiguous :: mat(:,:)
786 real(RKG) , intent(in) , contiguous :: matA(:,:)
787 real(RKG) , intent(in) , optional :: alpha, beta
788 type(trans_type) , intent(in) :: operationA
789 type(lowDia_type) , intent(in) :: subset
790 type(symmetric_type) , intent(in) :: class
791 end subroutine
792#endif
793
794 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
795
796 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
797 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
798 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
799
800 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
801 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
802 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
803
804 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
805
806#if IK5_ENABLED
807 PURE module subroutine shrk_ASS_CSM_SUD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta)
808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
809 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_IK5
810#endif
811 use pm_kind, only: IKG => IK5
812 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
813 integer(IKG) , intent(in) , contiguous :: matA(:,:)
814 integer(IKG) , intent(in) , optional :: alpha, beta
815 type(nothing_type) , intent(in) :: operationA
816 type(uppDia_type) , intent(in) :: subset
817 type(symmetric_type) , intent(in) :: class
818 end subroutine
819#endif
820
821#if IK4_ENABLED
822 PURE module subroutine shrk_ASS_CSM_SUD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta)
823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_IK4
825#endif
826 use pm_kind, only: IKG => IK4
827 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
828 integer(IKG) , intent(in) , contiguous :: matA(:,:)
829 integer(IKG) , intent(in) , optional :: alpha, beta
830 type(nothing_type) , intent(in) :: operationA
831 type(uppDia_type) , intent(in) :: subset
832 type(symmetric_type) , intent(in) :: class
833 end subroutine
834#endif
835
836#if IK3_ENABLED
837 PURE module subroutine shrk_ASS_CSM_SUD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta)
838#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
839 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_IK3
840#endif
841 use pm_kind, only: IKG => IK3
842 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
843 integer(IKG) , intent(in) , contiguous :: matA(:,:)
844 integer(IKG) , intent(in) , optional :: alpha, beta
845 type(nothing_type) , intent(in) :: operationA
846 type(uppDia_type) , intent(in) :: subset
847 type(symmetric_type) , intent(in) :: class
848 end subroutine
849#endif
850
851#if IK2_ENABLED
852 PURE module subroutine shrk_ASS_CSM_SUD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta)
853#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
854 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_IK2
855#endif
856 use pm_kind, only: IKG => IK2
857 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
858 integer(IKG) , intent(in) , contiguous :: matA(:,:)
859 integer(IKG) , intent(in) , optional :: alpha, beta
860 type(nothing_type) , intent(in) :: operationA
861 type(uppDia_type) , intent(in) :: subset
862 type(symmetric_type) , intent(in) :: class
863 end subroutine
864#endif
865
866#if IK1_ENABLED
867 PURE module subroutine shrk_ASS_CSM_SUD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta)
868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
869 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_IK1
870#endif
871 use pm_kind, only: IKG => IK1
872 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
873 integer(IKG) , intent(in) , contiguous :: matA(:,:)
874 integer(IKG) , intent(in) , optional :: alpha, beta
875 type(nothing_type) , intent(in) :: operationA
876 type(uppDia_type) , intent(in) :: subset
877 type(symmetric_type) , intent(in) :: class
878 end subroutine
879#endif
880
881 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
882
883#if CK5_ENABLED
884 PURE module subroutine shrk_ASS_CSM_SUD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta)
885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_CK5
887#endif
888 use pm_kind, only: CKG => CK5
889 complex(CKG) , intent(in) , optional :: alpha, beta
890 complex(CKG) , intent(in) , contiguous :: matA(:,:)
891 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
892 type(nothing_type) , intent(in) :: operationA
893 type(uppDia_type) , intent(in) :: subset
894 type(symmetric_type) , intent(in) :: class
895 end subroutine
896#endif
897
898#if CK4_ENABLED
899 PURE module subroutine shrk_ASS_CSM_SUD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta)
900#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
901 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_CK4
902#endif
903 use pm_kind, only: CKG => CK4
904 complex(CKG) , intent(in) , optional :: alpha, beta
905 complex(CKG) , intent(in) , contiguous :: matA(:,:)
906 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
907 type(nothing_type) , intent(in) :: operationA
908 type(uppDia_type) , intent(in) :: subset
909 type(symmetric_type) , intent(in) :: class
910 end subroutine
911#endif
912
913#if CK3_ENABLED
914 PURE module subroutine shrk_ASS_CSM_SUD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta)
915#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
916 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_CK3
917#endif
918 use pm_kind, only: CKG => CK3
919 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
920 complex(CKG) , intent(in) , contiguous :: matA(:,:)
921 complex(CKG) , intent(in) , optional :: alpha, beta
922 type(nothing_type) , intent(in) :: operationA
923 type(uppDia_type) , intent(in) :: subset
924 type(symmetric_type) , intent(in) :: class
925 end subroutine
926#endif
927
928#if CK2_ENABLED
929 PURE module subroutine shrk_ASS_CSM_SUD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta)
930#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
931 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_CK2
932#endif
933 use pm_kind, only: CKG => CK2
934 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
935 complex(CKG) , intent(in) , contiguous :: matA(:,:)
936 complex(CKG) , intent(in) , optional :: alpha, beta
937 type(nothing_type) , intent(in) :: operationA
938 type(uppDia_type) , intent(in) :: subset
939 type(symmetric_type) , intent(in) :: class
940 end subroutine
941#endif
942
943#if CK1_ENABLED
944 PURE module subroutine shrk_ASS_CSM_SUD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta)
945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
946 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_CK1
947#endif
948 use pm_kind, only: CKG => CK1
949 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
950 complex(CKG) , intent(in) , contiguous :: matA(:,:)
951 complex(CKG) , intent(in) , optional :: alpha, beta
952 type(nothing_type) , intent(in) :: operationA
953 type(uppDia_type) , intent(in) :: subset
954 type(symmetric_type) , intent(in) :: class
955 end subroutine
956#endif
957
958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
959
960#if RK5_ENABLED
961 PURE module subroutine shrk_ASS_CSM_SUD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta)
962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
963 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_RK5
964#endif
965 use pm_kind, only: RKG => RK5
966 real(RKG) , intent(inout) , contiguous :: mat(:,:)
967 real(RKG) , intent(in) , contiguous :: matA(:,:)
968 real(RKG) , intent(in) , optional :: alpha, beta
969 type(nothing_type) , intent(in) :: operationA
970 type(uppDia_type) , intent(in) :: subset
971 type(symmetric_type) , intent(in) :: class
972 end subroutine
973#endif
974
975#if RK4_ENABLED
976 PURE module subroutine shrk_ASS_CSM_SUD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta)
977#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
978 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_RK4
979#endif
980 use pm_kind, only: RKG => RK4
981 real(RKG) , intent(inout) , contiguous :: mat(:,:)
982 real(RKG) , intent(in) , contiguous :: matA(:,:)
983 real(RKG) , intent(in) , optional :: alpha, beta
984 type(nothing_type) , intent(in) :: operationA
985 type(uppDia_type) , intent(in) :: subset
986 type(symmetric_type) , intent(in) :: class
987 end subroutine
988#endif
989
990#if RK3_ENABLED
991 PURE module subroutine shrk_ASS_CSM_SUD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta)
992#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
993 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_RK3
994#endif
995 use pm_kind, only: RKG => RK3
996 real(RKG) , intent(inout) , contiguous :: mat(:,:)
997 real(RKG) , intent(in) , contiguous :: matA(:,:)
998 real(RKG) , intent(in) , optional :: alpha, beta
999 type(nothing_type) , intent(in) :: operationA
1000 type(uppDia_type) , intent(in) :: subset
1001 type(symmetric_type) , intent(in) :: class
1002 end subroutine
1003#endif
1004
1005#if RK2_ENABLED
1006 PURE module subroutine shrk_ASS_CSM_SUD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta)
1007#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1008 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_RK2
1009#endif
1010 use pm_kind, only: RKG => RK2
1011 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1012 real(RKG) , intent(in) , contiguous :: matA(:,:)
1013 real(RKG) , intent(in) , optional :: alpha, beta
1014 type(nothing_type) , intent(in) :: operationA
1015 type(uppDia_type) , intent(in) :: subset
1016 type(symmetric_type) , intent(in) :: class
1017 end subroutine
1018#endif
1019
1020#if RK1_ENABLED
1021 PURE module subroutine shrk_ASS_CSM_SUD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta)
1022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1023 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_ONO_RK1
1024#endif
1025 use pm_kind, only: RKG => RK1
1026 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1027 real(RKG) , intent(in) , contiguous :: matA(:,:)
1028 real(RKG) , intent(in) , optional :: alpha, beta
1029 type(nothing_type) , intent(in) :: operationA
1030 type(uppDia_type) , intent(in) :: subset
1031 type(symmetric_type) , intent(in) :: class
1032 end subroutine
1033#endif
1034
1035 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1036
1037 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1038 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1039 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1040
1041 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1042
1043#if IK5_ENABLED
1044 PURE module subroutine shrk_ASS_CSM_SUD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta)
1045#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1046 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_IK5
1047#endif
1048 use pm_kind, only: IKG => IK5
1049 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1050 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1051 integer(IKG) , intent(in) , optional :: alpha, beta
1052 type(trans_type) , intent(in) :: operationA
1053 type(uppDia_type) , intent(in) :: subset
1054 type(symmetric_type) , intent(in) :: class
1055 end subroutine
1056#endif
1057
1058#if IK4_ENABLED
1059 PURE module subroutine shrk_ASS_CSM_SUD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta)
1060#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1061 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_IK4
1062#endif
1063 use pm_kind, only: IKG => IK4
1064 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1065 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1066 integer(IKG) , intent(in) , optional :: alpha, beta
1067 type(trans_type) , intent(in) :: operationA
1068 type(uppDia_type) , intent(in) :: subset
1069 type(symmetric_type) , intent(in) :: class
1070 end subroutine
1071#endif
1072
1073#if IK3_ENABLED
1074 PURE module subroutine shrk_ASS_CSM_SUD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta)
1075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1076 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_IK3
1077#endif
1078 use pm_kind, only: IKG => IK3
1079 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1080 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1081 integer(IKG) , intent(in) , optional :: alpha, beta
1082 type(trans_type) , intent(in) :: operationA
1083 type(uppDia_type) , intent(in) :: subset
1084 type(symmetric_type) , intent(in) :: class
1085 end subroutine
1086#endif
1087
1088#if IK2_ENABLED
1089 PURE module subroutine shrk_ASS_CSM_SUD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta)
1090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1091 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_IK2
1092#endif
1093 use pm_kind, only: IKG => IK2
1094 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1095 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1096 integer(IKG) , intent(in) , optional :: alpha, beta
1097 type(trans_type) , intent(in) :: operationA
1098 type(uppDia_type) , intent(in) :: subset
1099 type(symmetric_type) , intent(in) :: class
1100 end subroutine
1101#endif
1102
1103#if IK1_ENABLED
1104 PURE module subroutine shrk_ASS_CSM_SUD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta)
1105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1106 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_IK1
1107#endif
1108 use pm_kind, only: IKG => IK1
1109 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1110 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1111 integer(IKG) , intent(in) , optional :: alpha, beta
1112 type(trans_type) , intent(in) :: operationA
1113 type(uppDia_type) , intent(in) :: subset
1114 type(symmetric_type) , intent(in) :: class
1115 end subroutine
1116#endif
1117
1118 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1119
1120#if CK5_ENABLED
1121 PURE module subroutine shrk_ASS_CSM_SUD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta)
1122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1123 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_CK5
1124#endif
1125 use pm_kind, only: CKG => CK5
1126 complex(CKG) , intent(in) , optional :: alpha, beta
1127 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1128 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1129 type(trans_type) , intent(in) :: operationA
1130 type(uppDia_type) , intent(in) :: subset
1131 type(symmetric_type) , intent(in) :: class
1132 end subroutine
1133#endif
1134
1135#if CK4_ENABLED
1136 PURE module subroutine shrk_ASS_CSM_SUD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta)
1137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1138 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_CK4
1139#endif
1140 use pm_kind, only: CKG => CK4
1141 complex(CKG) , intent(in) , optional :: alpha, beta
1142 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1143 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1144 type(trans_type) , intent(in) :: operationA
1145 type(uppDia_type) , intent(in) :: subset
1146 type(symmetric_type) , intent(in) :: class
1147 end subroutine
1148#endif
1149
1150#if CK3_ENABLED
1151 PURE module subroutine shrk_ASS_CSM_SUD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta)
1152#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1153 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_CK3
1154#endif
1155 use pm_kind, only: CKG => CK3
1156 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1157 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1158 complex(CKG) , intent(in) , optional :: alpha, beta
1159 type(trans_type) , intent(in) :: operationA
1160 type(uppDia_type) , intent(in) :: subset
1161 type(symmetric_type) , intent(in) :: class
1162 end subroutine
1163#endif
1164
1165#if CK2_ENABLED
1166 PURE module subroutine shrk_ASS_CSM_SUD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta)
1167#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1168 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_CK2
1169#endif
1170 use pm_kind, only: CKG => CK2
1171 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1172 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1173 complex(CKG) , intent(in) , optional :: alpha, beta
1174 type(trans_type) , intent(in) :: operationA
1175 type(uppDia_type) , intent(in) :: subset
1176 type(symmetric_type) , intent(in) :: class
1177 end subroutine
1178#endif
1179
1180#if CK1_ENABLED
1181 PURE module subroutine shrk_ASS_CSM_SUD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta)
1182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1183 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_CK1
1184#endif
1185 use pm_kind, only: CKG => CK1
1186 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1187 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1188 complex(CKG) , intent(in) , optional :: alpha, beta
1189 type(trans_type) , intent(in) :: operationA
1190 type(uppDia_type) , intent(in) :: subset
1191 type(symmetric_type) , intent(in) :: class
1192 end subroutine
1193#endif
1194
1195 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1196
1197#if RK5_ENABLED
1198 PURE module subroutine shrk_ASS_CSM_SUD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta)
1199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1200 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_RK5
1201#endif
1202 use pm_kind, only: RKG => RK5
1203 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1204 real(RKG) , intent(in) , contiguous :: matA(:,:)
1205 real(RKG) , intent(in) , optional :: alpha, beta
1206 type(trans_type) , intent(in) :: operationA
1207 type(uppDia_type) , intent(in) :: subset
1208 type(symmetric_type) , intent(in) :: class
1209 end subroutine
1210#endif
1211
1212#if RK4_ENABLED
1213 PURE module subroutine shrk_ASS_CSM_SUD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta)
1214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1215 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_RK4
1216#endif
1217 use pm_kind, only: RKG => RK4
1218 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1219 real(RKG) , intent(in) , contiguous :: matA(:,:)
1220 real(RKG) , intent(in) , optional :: alpha, beta
1221 type(trans_type) , intent(in) :: operationA
1222 type(uppDia_type) , intent(in) :: subset
1223 type(symmetric_type) , intent(in) :: class
1224 end subroutine
1225#endif
1226
1227#if RK3_ENABLED
1228 PURE module subroutine shrk_ASS_CSM_SUD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta)
1229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1230 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_RK3
1231#endif
1232 use pm_kind, only: RKG => RK3
1233 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1234 real(RKG) , intent(in) , contiguous :: matA(:,:)
1235 real(RKG) , intent(in) , optional :: alpha, beta
1236 type(trans_type) , intent(in) :: operationA
1237 type(uppDia_type) , intent(in) :: subset
1238 type(symmetric_type) , intent(in) :: class
1239 end subroutine
1240#endif
1241
1242#if RK2_ENABLED
1243 PURE module subroutine shrk_ASS_CSM_SUD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta)
1244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1245 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_RK2
1246#endif
1247 use pm_kind, only: RKG => RK2
1248 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1249 real(RKG) , intent(in) , contiguous :: matA(:,:)
1250 real(RKG) , intent(in) , optional :: alpha, beta
1251 type(trans_type) , intent(in) :: operationA
1252 type(uppDia_type) , intent(in) :: subset
1253 type(symmetric_type) , intent(in) :: class
1254 end subroutine
1255#endif
1256
1257#if RK1_ENABLED
1258 PURE module subroutine shrk_ASS_CSM_SUD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta)
1259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1260 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CSM_SUD_OTP_RK1
1261#endif
1262 use pm_kind, only: RKG => RK1
1263 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1264 real(RKG) , intent(in) , contiguous :: matA(:,:)
1265 real(RKG) , intent(in) , optional :: alpha, beta
1266 type(trans_type) , intent(in) :: operationA
1267 type(uppDia_type) , intent(in) :: subset
1268 type(symmetric_type) , intent(in) :: class
1269 end subroutine
1270#endif
1271
1272 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1273
1274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1276 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1277
1278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1279 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1280 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1281
1282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1283 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1284 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1285
1286 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1287
1288#if IK5_ENABLED
1289 PURE module subroutine shrk_ASS_CHM_SLD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta)
1290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1291 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_IK5
1292#endif
1293 use pm_kind, only: IKG => IK5
1294 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1295 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1296 integer(IKG) , intent(in) , optional :: alpha, beta
1297 type(nothing_type) , intent(in) :: operationA
1298 type(lowDia_type) , intent(in) :: subset
1299 type(hermitian_type) , intent(in) :: class
1300 end subroutine
1301#endif
1302
1303#if IK4_ENABLED
1304 PURE module subroutine shrk_ASS_CHM_SLD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta)
1305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1306 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_IK4
1307#endif
1308 use pm_kind, only: IKG => IK4
1309 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1310 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1311 integer(IKG) , intent(in) , optional :: alpha, beta
1312 type(nothing_type) , intent(in) :: operationA
1313 type(lowDia_type) , intent(in) :: subset
1314 type(hermitian_type) , intent(in) :: class
1315 end subroutine
1316#endif
1317
1318#if IK3_ENABLED
1319 PURE module subroutine shrk_ASS_CHM_SLD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta)
1320#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1321 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_IK3
1322#endif
1323 use pm_kind, only: IKG => IK3
1324 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1325 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1326 integer(IKG) , intent(in) , optional :: alpha, beta
1327 type(nothing_type) , intent(in) :: operationA
1328 type(lowDia_type) , intent(in) :: subset
1329 type(hermitian_type) , intent(in) :: class
1330 end subroutine
1331#endif
1332
1333#if IK2_ENABLED
1334 PURE module subroutine shrk_ASS_CHM_SLD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta)
1335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1336 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_IK2
1337#endif
1338 use pm_kind, only: IKG => IK2
1339 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1340 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1341 integer(IKG) , intent(in) , optional :: alpha, beta
1342 type(nothing_type) , intent(in) :: operationA
1343 type(lowDia_type) , intent(in) :: subset
1344 type(hermitian_type) , intent(in) :: class
1345 end subroutine
1346#endif
1347
1348#if IK1_ENABLED
1349 PURE module subroutine shrk_ASS_CHM_SLD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta)
1350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1351 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_IK1
1352#endif
1353 use pm_kind, only: IKG => IK1
1354 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1355 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1356 integer(IKG) , intent(in) , optional :: alpha, beta
1357 type(nothing_type) , intent(in) :: operationA
1358 type(lowDia_type) , intent(in) :: subset
1359 type(hermitian_type) , intent(in) :: class
1360 end subroutine
1361#endif
1362
1363 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1364
1365#if CK5_ENABLED
1366 PURE module subroutine shrk_ASS_CHM_SLD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta)
1367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1368 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_CK5
1369#endif
1370 use pm_kind, only: CKG => CK5
1371 complex(CKG) , intent(in) , optional :: alpha, beta
1372 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1373 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1374 type(nothing_type) , intent(in) :: operationA
1375 type(lowDia_type) , intent(in) :: subset
1376 type(hermitian_type) , intent(in) :: class
1377 end subroutine
1378#endif
1379
1380#if CK4_ENABLED
1381 PURE module subroutine shrk_ASS_CHM_SLD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta)
1382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1383 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_CK4
1384#endif
1385 use pm_kind, only: CKG => CK4
1386 complex(CKG) , intent(in) , optional :: alpha, beta
1387 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1388 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1389 type(nothing_type) , intent(in) :: operationA
1390 type(lowDia_type) , intent(in) :: subset
1391 type(hermitian_type) , intent(in) :: class
1392 end subroutine
1393#endif
1394
1395#if CK3_ENABLED
1396 PURE module subroutine shrk_ASS_CHM_SLD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta)
1397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1398 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_CK3
1399#endif
1400 use pm_kind, only: CKG => CK3
1401 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1402 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1403 complex(CKG) , intent(in) , optional :: alpha, beta
1404 type(nothing_type) , intent(in) :: operationA
1405 type(lowDia_type) , intent(in) :: subset
1406 type(hermitian_type) , intent(in) :: class
1407 end subroutine
1408#endif
1409
1410#if CK2_ENABLED
1411 PURE module subroutine shrk_ASS_CHM_SLD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta)
1412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1413 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_CK2
1414#endif
1415 use pm_kind, only: CKG => CK2
1416 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1417 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1418 complex(CKG) , intent(in) , optional :: alpha, beta
1419 type(nothing_type) , intent(in) :: operationA
1420 type(lowDia_type) , intent(in) :: subset
1421 type(hermitian_type) , intent(in) :: class
1422 end subroutine
1423#endif
1424
1425#if CK1_ENABLED
1426 PURE module subroutine shrk_ASS_CHM_SLD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta)
1427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1428 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_CK1
1429#endif
1430 use pm_kind, only: CKG => CK1
1431 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1432 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1433 complex(CKG) , intent(in) , optional :: alpha, beta
1434 type(nothing_type) , intent(in) :: operationA
1435 type(lowDia_type) , intent(in) :: subset
1436 type(hermitian_type) , intent(in) :: class
1437 end subroutine
1438#endif
1439
1440 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1441
1442#if RK5_ENABLED
1443 PURE module subroutine shrk_ASS_CHM_SLD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta)
1444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1445 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_RK5
1446#endif
1447 use pm_kind, only: RKG => RK5
1448 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1449 real(RKG) , intent(in) , contiguous :: matA(:,:)
1450 real(RKG) , intent(in) , optional :: alpha, beta
1451 type(nothing_type) , intent(in) :: operationA
1452 type(lowDia_type) , intent(in) :: subset
1453 type(hermitian_type) , intent(in) :: class
1454 end subroutine
1455#endif
1456
1457#if RK4_ENABLED
1458 PURE module subroutine shrk_ASS_CHM_SLD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta)
1459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1460 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_RK4
1461#endif
1462 use pm_kind, only: RKG => RK4
1463 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1464 real(RKG) , intent(in) , contiguous :: matA(:,:)
1465 real(RKG) , intent(in) , optional :: alpha, beta
1466 type(nothing_type) , intent(in) :: operationA
1467 type(lowDia_type) , intent(in) :: subset
1468 type(hermitian_type) , intent(in) :: class
1469 end subroutine
1470#endif
1471
1472#if RK3_ENABLED
1473 PURE module subroutine shrk_ASS_CHM_SLD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta)
1474#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1475 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_RK3
1476#endif
1477 use pm_kind, only: RKG => RK3
1478 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1479 real(RKG) , intent(in) , contiguous :: matA(:,:)
1480 real(RKG) , intent(in) , optional :: alpha, beta
1481 type(nothing_type) , intent(in) :: operationA
1482 type(lowDia_type) , intent(in) :: subset
1483 type(hermitian_type) , intent(in) :: class
1484 end subroutine
1485#endif
1486
1487#if RK2_ENABLED
1488 PURE module subroutine shrk_ASS_CHM_SLD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta)
1489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1490 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_RK2
1491#endif
1492 use pm_kind, only: RKG => RK2
1493 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1494 real(RKG) , intent(in) , contiguous :: matA(:,:)
1495 real(RKG) , intent(in) , optional :: alpha, beta
1496 type(nothing_type) , intent(in) :: operationA
1497 type(lowDia_type) , intent(in) :: subset
1498 type(hermitian_type) , intent(in) :: class
1499 end subroutine
1500#endif
1501
1502#if RK1_ENABLED
1503 PURE module subroutine shrk_ASS_CHM_SLD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta)
1504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1505 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_ONO_RK1
1506#endif
1507 use pm_kind, only: RKG => RK1
1508 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1509 real(RKG) , intent(in) , contiguous :: matA(:,:)
1510 real(RKG) , intent(in) , optional :: alpha, beta
1511 type(nothing_type) , intent(in) :: operationA
1512 type(lowDia_type) , intent(in) :: subset
1513 type(hermitian_type) , intent(in) :: class
1514 end subroutine
1515#endif
1516
1517 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1518
1519 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1522
1523 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1524
1525#if IK5_ENABLED
1526 PURE module subroutine shrk_ASS_CHM_SLD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta)
1527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1528 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_IK5
1529#endif
1530 use pm_kind, only: IKG => IK5
1531 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1532 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1533 integer(IKG) , intent(in) , optional :: alpha, beta
1534 type(trans_type) , intent(in) :: operationA
1535 type(lowDia_type) , intent(in) :: subset
1536 type(hermitian_type) , intent(in) :: class
1537 end subroutine
1538#endif
1539
1540#if IK4_ENABLED
1541 PURE module subroutine shrk_ASS_CHM_SLD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta)
1542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1543 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_IK4
1544#endif
1545 use pm_kind, only: IKG => IK4
1546 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1547 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1548 integer(IKG) , intent(in) , optional :: alpha, beta
1549 type(trans_type) , intent(in) :: operationA
1550 type(lowDia_type) , intent(in) :: subset
1551 type(hermitian_type) , intent(in) :: class
1552 end subroutine
1553#endif
1554
1555#if IK3_ENABLED
1556 PURE module subroutine shrk_ASS_CHM_SLD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta)
1557#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1558 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_IK3
1559#endif
1560 use pm_kind, only: IKG => IK3
1561 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1562 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1563 integer(IKG) , intent(in) , optional :: alpha, beta
1564 type(trans_type) , intent(in) :: operationA
1565 type(lowDia_type) , intent(in) :: subset
1566 type(hermitian_type) , intent(in) :: class
1567 end subroutine
1568#endif
1569
1570#if IK2_ENABLED
1571 PURE module subroutine shrk_ASS_CHM_SLD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta)
1572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1573 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_IK2
1574#endif
1575 use pm_kind, only: IKG => IK2
1576 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1577 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1578 integer(IKG) , intent(in) , optional :: alpha, beta
1579 type(trans_type) , intent(in) :: operationA
1580 type(lowDia_type) , intent(in) :: subset
1581 type(hermitian_type) , intent(in) :: class
1582 end subroutine
1583#endif
1584
1585#if IK1_ENABLED
1586 PURE module subroutine shrk_ASS_CHM_SLD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta)
1587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1588 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_IK1
1589#endif
1590 use pm_kind, only: IKG => IK1
1591 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1592 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1593 integer(IKG) , intent(in) , optional :: alpha, beta
1594 type(trans_type) , intent(in) :: operationA
1595 type(lowDia_type) , intent(in) :: subset
1596 type(hermitian_type) , intent(in) :: class
1597 end subroutine
1598#endif
1599
1600 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1601
1602#if CK5_ENABLED
1603 PURE module subroutine shrk_ASS_CHM_SLD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta)
1604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1605 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_CK5
1606#endif
1607 use pm_kind, only: CKG => CK5
1608 complex(CKG) , intent(in) , optional :: alpha, beta
1609 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1610 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1611 type(trans_type) , intent(in) :: operationA
1612 type(lowDia_type) , intent(in) :: subset
1613 type(hermitian_type) , intent(in) :: class
1614 end subroutine
1615#endif
1616
1617#if CK4_ENABLED
1618 PURE module subroutine shrk_ASS_CHM_SLD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta)
1619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1620 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_CK4
1621#endif
1622 use pm_kind, only: CKG => CK4
1623 complex(CKG) , intent(in) , optional :: alpha, beta
1624 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1625 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1626 type(trans_type) , intent(in) :: operationA
1627 type(lowDia_type) , intent(in) :: subset
1628 type(hermitian_type) , intent(in) :: class
1629 end subroutine
1630#endif
1631
1632#if CK3_ENABLED
1633 PURE module subroutine shrk_ASS_CHM_SLD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta)
1634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1635 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_CK3
1636#endif
1637 use pm_kind, only: CKG => CK3
1638 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1639 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1640 complex(CKG) , intent(in) , optional :: alpha, beta
1641 type(trans_type) , intent(in) :: operationA
1642 type(lowDia_type) , intent(in) :: subset
1643 type(hermitian_type) , intent(in) :: class
1644 end subroutine
1645#endif
1646
1647#if CK2_ENABLED
1648 PURE module subroutine shrk_ASS_CHM_SLD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta)
1649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1650 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_CK2
1651#endif
1652 use pm_kind, only: CKG => CK2
1653 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1654 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1655 complex(CKG) , intent(in) , optional :: alpha, beta
1656 type(trans_type) , intent(in) :: operationA
1657 type(lowDia_type) , intent(in) :: subset
1658 type(hermitian_type) , intent(in) :: class
1659 end subroutine
1660#endif
1661
1662#if CK1_ENABLED
1663 PURE module subroutine shrk_ASS_CHM_SLD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta)
1664#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1665 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_CK1
1666#endif
1667 use pm_kind, only: CKG => CK1
1668 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1669 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1670 complex(CKG) , intent(in) , optional :: alpha, beta
1671 type(trans_type) , intent(in) :: operationA
1672 type(lowDia_type) , intent(in) :: subset
1673 type(hermitian_type) , intent(in) :: class
1674 end subroutine
1675#endif
1676
1677 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1678
1679#if RK5_ENABLED
1680 PURE module subroutine shrk_ASS_CHM_SLD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta)
1681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1682 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_RK5
1683#endif
1684 use pm_kind, only: RKG => RK5
1685 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1686 real(RKG) , intent(in) , contiguous :: matA(:,:)
1687 real(RKG) , intent(in) , optional :: alpha, beta
1688 type(trans_type) , intent(in) :: operationA
1689 type(lowDia_type) , intent(in) :: subset
1690 type(hermitian_type) , intent(in) :: class
1691 end subroutine
1692#endif
1693
1694#if RK4_ENABLED
1695 PURE module subroutine shrk_ASS_CHM_SLD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta)
1696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1697 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_RK4
1698#endif
1699 use pm_kind, only: RKG => RK4
1700 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1701 real(RKG) , intent(in) , contiguous :: matA(:,:)
1702 real(RKG) , intent(in) , optional :: alpha, beta
1703 type(trans_type) , intent(in) :: operationA
1704 type(lowDia_type) , intent(in) :: subset
1705 type(hermitian_type) , intent(in) :: class
1706 end subroutine
1707#endif
1708
1709#if RK3_ENABLED
1710 PURE module subroutine shrk_ASS_CHM_SLD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta)
1711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1712 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_RK3
1713#endif
1714 use pm_kind, only: RKG => RK3
1715 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1716 real(RKG) , intent(in) , contiguous :: matA(:,:)
1717 real(RKG) , intent(in) , optional :: alpha, beta
1718 type(trans_type) , intent(in) :: operationA
1719 type(lowDia_type) , intent(in) :: subset
1720 type(hermitian_type) , intent(in) :: class
1721 end subroutine
1722#endif
1723
1724#if RK2_ENABLED
1725 PURE module subroutine shrk_ASS_CHM_SLD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta)
1726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1727 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_RK2
1728#endif
1729 use pm_kind, only: RKG => RK2
1730 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1731 real(RKG) , intent(in) , contiguous :: matA(:,:)
1732 real(RKG) , intent(in) , optional :: alpha, beta
1733 type(trans_type) , intent(in) :: operationA
1734 type(lowDia_type) , intent(in) :: subset
1735 type(hermitian_type) , intent(in) :: class
1736 end subroutine
1737#endif
1738
1739#if RK1_ENABLED
1740 PURE module subroutine shrk_ASS_CHM_SLD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta)
1741#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1742 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SLD_OTP_RK1
1743#endif
1744 use pm_kind, only: RKG => RK1
1745 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1746 real(RKG) , intent(in) , contiguous :: matA(:,:)
1747 real(RKG) , intent(in) , optional :: alpha, beta
1748 type(trans_type) , intent(in) :: operationA
1749 type(lowDia_type) , intent(in) :: subset
1750 type(hermitian_type) , intent(in) :: class
1751 end subroutine
1752#endif
1753
1754 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1755
1756 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1757 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1758 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1759
1760 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1761 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1762 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1763
1764 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1765
1766#if IK5_ENABLED
1767 PURE module subroutine shrk_ASS_CHM_SUD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta)
1768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1769 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_IK5
1770#endif
1771 use pm_kind, only: IKG => IK5
1772 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1773 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1774 integer(IKG) , intent(in) , optional :: alpha, beta
1775 type(nothing_type) , intent(in) :: operationA
1776 type(uppDia_type) , intent(in) :: subset
1777 type(hermitian_type) , intent(in) :: class
1778 end subroutine
1779#endif
1780
1781#if IK4_ENABLED
1782 PURE module subroutine shrk_ASS_CHM_SUD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta)
1783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1784 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_IK4
1785#endif
1786 use pm_kind, only: IKG => IK4
1787 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1788 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1789 integer(IKG) , intent(in) , optional :: alpha, beta
1790 type(nothing_type) , intent(in) :: operationA
1791 type(uppDia_type) , intent(in) :: subset
1792 type(hermitian_type) , intent(in) :: class
1793 end subroutine
1794#endif
1795
1796#if IK3_ENABLED
1797 PURE module subroutine shrk_ASS_CHM_SUD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta)
1798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1799 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_IK3
1800#endif
1801 use pm_kind, only: IKG => IK3
1802 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1803 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1804 integer(IKG) , intent(in) , optional :: alpha, beta
1805 type(nothing_type) , intent(in) :: operationA
1806 type(uppDia_type) , intent(in) :: subset
1807 type(hermitian_type) , intent(in) :: class
1808 end subroutine
1809#endif
1810
1811#if IK2_ENABLED
1812 PURE module subroutine shrk_ASS_CHM_SUD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta)
1813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1814 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_IK2
1815#endif
1816 use pm_kind, only: IKG => IK2
1817 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1818 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1819 integer(IKG) , intent(in) , optional :: alpha, beta
1820 type(nothing_type) , intent(in) :: operationA
1821 type(uppDia_type) , intent(in) :: subset
1822 type(hermitian_type) , intent(in) :: class
1823 end subroutine
1824#endif
1825
1826#if IK1_ENABLED
1827 PURE module subroutine shrk_ASS_CHM_SUD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta)
1828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1829 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_IK1
1830#endif
1831 use pm_kind, only: IKG => IK1
1832 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
1833 integer(IKG) , intent(in) , contiguous :: matA(:,:)
1834 integer(IKG) , intent(in) , optional :: alpha, beta
1835 type(nothing_type) , intent(in) :: operationA
1836 type(uppDia_type) , intent(in) :: subset
1837 type(hermitian_type) , intent(in) :: class
1838 end subroutine
1839#endif
1840
1841 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1842
1843#if CK5_ENABLED
1844 PURE module subroutine shrk_ASS_CHM_SUD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta)
1845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1846 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_CK5
1847#endif
1848 use pm_kind, only: CKG => CK5
1849 complex(CKG) , intent(in) , optional :: alpha, beta
1850 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1851 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1852 type(nothing_type) , intent(in) :: operationA
1853 type(uppDia_type) , intent(in) :: subset
1854 type(hermitian_type) , intent(in) :: class
1855 end subroutine
1856#endif
1857
1858#if CK4_ENABLED
1859 PURE module subroutine shrk_ASS_CHM_SUD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta)
1860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1861 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_CK4
1862#endif
1863 use pm_kind, only: CKG => CK4
1864 complex(CKG) , intent(in) , optional :: alpha, beta
1865 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1866 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1867 type(nothing_type) , intent(in) :: operationA
1868 type(uppDia_type) , intent(in) :: subset
1869 type(hermitian_type) , intent(in) :: class
1870 end subroutine
1871#endif
1872
1873#if CK3_ENABLED
1874 PURE module subroutine shrk_ASS_CHM_SUD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta)
1875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1876 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_CK3
1877#endif
1878 use pm_kind, only: CKG => CK3
1879 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1880 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1881 complex(CKG) , intent(in) , optional :: alpha, beta
1882 type(nothing_type) , intent(in) :: operationA
1883 type(uppDia_type) , intent(in) :: subset
1884 type(hermitian_type) , intent(in) :: class
1885 end subroutine
1886#endif
1887
1888#if CK2_ENABLED
1889 PURE module subroutine shrk_ASS_CHM_SUD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta)
1890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1891 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_CK2
1892#endif
1893 use pm_kind, only: CKG => CK2
1894 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1895 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1896 complex(CKG) , intent(in) , optional :: alpha, beta
1897 type(nothing_type) , intent(in) :: operationA
1898 type(uppDia_type) , intent(in) :: subset
1899 type(hermitian_type) , intent(in) :: class
1900 end subroutine
1901#endif
1902
1903#if CK1_ENABLED
1904 PURE module subroutine shrk_ASS_CHM_SUD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta)
1905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1906 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_CK1
1907#endif
1908 use pm_kind, only: CKG => CK1
1909 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
1910 complex(CKG) , intent(in) , contiguous :: matA(:,:)
1911 complex(CKG) , intent(in) , optional :: alpha, beta
1912 type(nothing_type) , intent(in) :: operationA
1913 type(uppDia_type) , intent(in) :: subset
1914 type(hermitian_type) , intent(in) :: class
1915 end subroutine
1916#endif
1917
1918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1919
1920#if RK5_ENABLED
1921 PURE module subroutine shrk_ASS_CHM_SUD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta)
1922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1923 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_RK5
1924#endif
1925 use pm_kind, only: RKG => RK5
1926 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1927 real(RKG) , intent(in) , contiguous :: matA(:,:)
1928 real(RKG) , intent(in) , optional :: alpha, beta
1929 type(nothing_type) , intent(in) :: operationA
1930 type(uppDia_type) , intent(in) :: subset
1931 type(hermitian_type) , intent(in) :: class
1932 end subroutine
1933#endif
1934
1935#if RK4_ENABLED
1936 PURE module subroutine shrk_ASS_CHM_SUD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta)
1937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1938 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_RK4
1939#endif
1940 use pm_kind, only: RKG => RK4
1941 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1942 real(RKG) , intent(in) , contiguous :: matA(:,:)
1943 real(RKG) , intent(in) , optional :: alpha, beta
1944 type(nothing_type) , intent(in) :: operationA
1945 type(uppDia_type) , intent(in) :: subset
1946 type(hermitian_type) , intent(in) :: class
1947 end subroutine
1948#endif
1949
1950#if RK3_ENABLED
1951 PURE module subroutine shrk_ASS_CHM_SUD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta)
1952#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1953 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_RK3
1954#endif
1955 use pm_kind, only: RKG => RK3
1956 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1957 real(RKG) , intent(in) , contiguous :: matA(:,:)
1958 real(RKG) , intent(in) , optional :: alpha, beta
1959 type(nothing_type) , intent(in) :: operationA
1960 type(uppDia_type) , intent(in) :: subset
1961 type(hermitian_type) , intent(in) :: class
1962 end subroutine
1963#endif
1964
1965#if RK2_ENABLED
1966 PURE module subroutine shrk_ASS_CHM_SUD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta)
1967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1968 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_RK2
1969#endif
1970 use pm_kind, only: RKG => RK2
1971 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1972 real(RKG) , intent(in) , contiguous :: matA(:,:)
1973 real(RKG) , intent(in) , optional :: alpha, beta
1974 type(nothing_type) , intent(in) :: operationA
1975 type(uppDia_type) , intent(in) :: subset
1976 type(hermitian_type) , intent(in) :: class
1977 end subroutine
1978#endif
1979
1980#if RK1_ENABLED
1981 PURE module subroutine shrk_ASS_CHM_SUD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta)
1982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1983 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_ONO_RK1
1984#endif
1985 use pm_kind, only: RKG => RK1
1986 real(RKG) , intent(inout) , contiguous :: mat(:,:)
1987 real(RKG) , intent(in) , contiguous :: matA(:,:)
1988 real(RKG) , intent(in) , optional :: alpha, beta
1989 type(nothing_type) , intent(in) :: operationA
1990 type(uppDia_type) , intent(in) :: subset
1991 type(hermitian_type) , intent(in) :: class
1992 end subroutine
1993#endif
1994
1995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1996
1997 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1998 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2000
2001 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2002
2003#if IK5_ENABLED
2004 PURE module subroutine shrk_ASS_CHM_SUD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta)
2005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2006 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_IK5
2007#endif
2008 use pm_kind, only: IKG => IK5
2009 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
2010 integer(IKG) , intent(in) , contiguous :: matA(:,:)
2011 integer(IKG) , intent(in) , optional :: alpha, beta
2012 type(trans_type) , intent(in) :: operationA
2013 type(uppDia_type) , intent(in) :: subset
2014 type(hermitian_type) , intent(in) :: class
2015 end subroutine
2016#endif
2017
2018#if IK4_ENABLED
2019 PURE module subroutine shrk_ASS_CHM_SUD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta)
2020#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2021 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_IK4
2022#endif
2023 use pm_kind, only: IKG => IK4
2024 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
2025 integer(IKG) , intent(in) , contiguous :: matA(:,:)
2026 integer(IKG) , intent(in) , optional :: alpha, beta
2027 type(trans_type) , intent(in) :: operationA
2028 type(uppDia_type) , intent(in) :: subset
2029 type(hermitian_type) , intent(in) :: class
2030 end subroutine
2031#endif
2032
2033#if IK3_ENABLED
2034 PURE module subroutine shrk_ASS_CHM_SUD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta)
2035#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2036 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_IK3
2037#endif
2038 use pm_kind, only: IKG => IK3
2039 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
2040 integer(IKG) , intent(in) , contiguous :: matA(:,:)
2041 integer(IKG) , intent(in) , optional :: alpha, beta
2042 type(trans_type) , intent(in) :: operationA
2043 type(uppDia_type) , intent(in) :: subset
2044 type(hermitian_type) , intent(in) :: class
2045 end subroutine
2046#endif
2047
2048#if IK2_ENABLED
2049 PURE module subroutine shrk_ASS_CHM_SUD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta)
2050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2051 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_IK2
2052#endif
2053 use pm_kind, only: IKG => IK2
2054 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
2055 integer(IKG) , intent(in) , contiguous :: matA(:,:)
2056 integer(IKG) , intent(in) , optional :: alpha, beta
2057 type(trans_type) , intent(in) :: operationA
2058 type(uppDia_type) , intent(in) :: subset
2059 type(hermitian_type) , intent(in) :: class
2060 end subroutine
2061#endif
2062
2063#if IK1_ENABLED
2064 PURE module subroutine shrk_ASS_CHM_SUD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta)
2065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2066 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_IK1
2067#endif
2068 use pm_kind, only: IKG => IK1
2069 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
2070 integer(IKG) , intent(in) , contiguous :: matA(:,:)
2071 integer(IKG) , intent(in) , optional :: alpha, beta
2072 type(trans_type) , intent(in) :: operationA
2073 type(uppDia_type) , intent(in) :: subset
2074 type(hermitian_type) , intent(in) :: class
2075 end subroutine
2076#endif
2077
2078 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2079
2080#if CK5_ENABLED
2081 PURE module subroutine shrk_ASS_CHM_SUD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta)
2082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2083 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_CK5
2084#endif
2085 use pm_kind, only: CKG => CK5
2086 complex(CKG) , intent(in) , optional :: alpha, beta
2087 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2088 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
2089 type(trans_type) , intent(in) :: operationA
2090 type(uppDia_type) , intent(in) :: subset
2091 type(hermitian_type) , intent(in) :: class
2092 end subroutine
2093#endif
2094
2095#if CK4_ENABLED
2096 PURE module subroutine shrk_ASS_CHM_SUD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta)
2097#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2098 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_CK4
2099#endif
2100 use pm_kind, only: CKG => CK4
2101 complex(CKG) , intent(in) , optional :: alpha, beta
2102 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2103 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
2104 type(trans_type) , intent(in) :: operationA
2105 type(uppDia_type) , intent(in) :: subset
2106 type(hermitian_type) , intent(in) :: class
2107 end subroutine
2108#endif
2109
2110#if CK3_ENABLED
2111 PURE module subroutine shrk_ASS_CHM_SUD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta)
2112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2113 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_CK3
2114#endif
2115 use pm_kind, only: CKG => CK3
2116 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
2117 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2118 complex(CKG) , intent(in) , optional :: alpha, beta
2119 type(trans_type) , intent(in) :: operationA
2120 type(uppDia_type) , intent(in) :: subset
2121 type(hermitian_type) , intent(in) :: class
2122 end subroutine
2123#endif
2124
2125#if CK2_ENABLED
2126 PURE module subroutine shrk_ASS_CHM_SUD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta)
2127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2128 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_CK2
2129#endif
2130 use pm_kind, only: CKG => CK2
2131 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
2132 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2133 complex(CKG) , intent(in) , optional :: alpha, beta
2134 type(trans_type) , intent(in) :: operationA
2135 type(uppDia_type) , intent(in) :: subset
2136 type(hermitian_type) , intent(in) :: class
2137 end subroutine
2138#endif
2139
2140#if CK1_ENABLED
2141 PURE module subroutine shrk_ASS_CHM_SUD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta)
2142#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2143 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_CK1
2144#endif
2145 use pm_kind, only: CKG => CK1
2146 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
2147 complex(CKG) , intent(in) , contiguous :: matA(:,:)
2148 complex(CKG) , intent(in) , optional :: alpha, beta
2149 type(trans_type) , intent(in) :: operationA
2150 type(uppDia_type) , intent(in) :: subset
2151 type(hermitian_type) , intent(in) :: class
2152 end subroutine
2153#endif
2154
2155 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2156
2157#if RK5_ENABLED
2158 PURE module subroutine shrk_ASS_CHM_SUD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta)
2159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2160 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_RK5
2161#endif
2162 use pm_kind, only: RKG => RK5
2163 real(RKG) , intent(inout) , contiguous :: mat(:,:)
2164 real(RKG) , intent(in) , contiguous :: matA(:,:)
2165 real(RKG) , intent(in) , optional :: alpha, beta
2166 type(trans_type) , intent(in) :: operationA
2167 type(uppDia_type) , intent(in) :: subset
2168 type(hermitian_type) , intent(in) :: class
2169 end subroutine
2170#endif
2171
2172#if RK4_ENABLED
2173 PURE module subroutine shrk_ASS_CHM_SUD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta)
2174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2175 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_RK4
2176#endif
2177 use pm_kind, only: RKG => RK4
2178 real(RKG) , intent(inout) , contiguous :: mat(:,:)
2179 real(RKG) , intent(in) , contiguous :: matA(:,:)
2180 real(RKG) , intent(in) , optional :: alpha, beta
2181 type(trans_type) , intent(in) :: operationA
2182 type(uppDia_type) , intent(in) :: subset
2183 type(hermitian_type) , intent(in) :: class
2184 end subroutine
2185#endif
2186
2187#if RK3_ENABLED
2188 PURE module subroutine shrk_ASS_CHM_SUD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta)
2189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2190 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_RK3
2191#endif
2192 use pm_kind, only: RKG => RK3
2193 real(RKG) , intent(inout) , contiguous :: mat(:,:)
2194 real(RKG) , intent(in) , contiguous :: matA(:,:)
2195 real(RKG) , intent(in) , optional :: alpha, beta
2196 type(trans_type) , intent(in) :: operationA
2197 type(uppDia_type) , intent(in) :: subset
2198 type(hermitian_type) , intent(in) :: class
2199 end subroutine
2200#endif
2201
2202#if RK2_ENABLED
2203 PURE module subroutine shrk_ASS_CHM_SUD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta)
2204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2205 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_RK2
2206#endif
2207 use pm_kind, only: RKG => RK2
2208 real(RKG) , intent(inout) , contiguous :: mat(:,:)
2209 real(RKG) , intent(in) , contiguous :: matA(:,:)
2210 real(RKG) , intent(in) , optional :: alpha, beta
2211 type(trans_type) , intent(in) :: operationA
2212 type(uppDia_type) , intent(in) :: subset
2213 type(hermitian_type) , intent(in) :: class
2214 end subroutine
2215#endif
2216
2217#if RK1_ENABLED
2218 PURE module subroutine shrk_ASS_CHM_SUD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta)
2219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2220 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_ASS_CHM_SUD_OTP_RK1
2221#endif
2222 use pm_kind, only: RKG => RK1
2223 real(RKG) , intent(inout) , contiguous :: mat(:,:)
2224 real(RKG) , intent(in) , contiguous :: matA(:,:)
2225 real(RKG) , intent(in) , optional :: alpha, beta
2226 type(trans_type) , intent(in) :: operationA
2227 type(uppDia_type) , intent(in) :: subset
2228 type(hermitian_type) , intent(in) :: class
2229 end subroutine
2230#endif
2231
2232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2233
2234 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2235 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2236 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2237
2238 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2239 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2241
2242 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2243 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2244 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2245
2246 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2247
2248#if IK5_ENABLED
2249 PURE module subroutine shrk_EXP_CSM_SLD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2251 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_IK5
2252#endif
2253 use pm_kind, only: IKG => IK5
2254 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2255 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2256 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2257 integer(IKG) , intent(in) :: alpha, beta
2258 type(nothing_type) , intent(in) :: operationA
2259 type(lowDia_type) , intent(in) :: subset
2260 type(symmetric_type) , intent(in) :: class
2261 end subroutine
2262#endif
2263
2264#if IK4_ENABLED
2265 PURE module subroutine shrk_EXP_CSM_SLD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2267 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_IK4
2268#endif
2269 use pm_kind, only: IKG => IK4
2270 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2271 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2272 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2273 integer(IKG) , intent(in) :: alpha, beta
2274 type(nothing_type) , intent(in) :: operationA
2275 type(lowDia_type) , intent(in) :: subset
2276 type(symmetric_type) , intent(in) :: class
2277 end subroutine
2278#endif
2279
2280#if IK3_ENABLED
2281 PURE module subroutine shrk_EXP_CSM_SLD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2283 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_IK3
2284#endif
2285 use pm_kind, only: IKG => IK3
2286 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2287 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2288 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2289 integer(IKG) , intent(in) :: alpha, beta
2290 type(nothing_type) , intent(in) :: operationA
2291 type(lowDia_type) , intent(in) :: subset
2292 type(symmetric_type) , intent(in) :: class
2293 end subroutine
2294#endif
2295
2296#if IK2_ENABLED
2297 PURE module subroutine shrk_EXP_CSM_SLD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2299 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_IK2
2300#endif
2301 use pm_kind, only: IKG => IK2
2302 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2303 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2304 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2305 integer(IKG) , intent(in) :: alpha, beta
2306 type(nothing_type) , intent(in) :: operationA
2307 type(lowDia_type) , intent(in) :: subset
2308 type(symmetric_type) , intent(in) :: class
2309 end subroutine
2310#endif
2311
2312#if IK1_ENABLED
2313 PURE module subroutine shrk_EXP_CSM_SLD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2315 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_IK1
2316#endif
2317 use pm_kind, only: IKG => IK1
2318 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2319 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2320 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2321 integer(IKG) , intent(in) :: alpha, beta
2322 type(nothing_type) , intent(in) :: operationA
2323 type(lowDia_type) , intent(in) :: subset
2324 type(symmetric_type) , intent(in) :: class
2325 end subroutine
2326#endif
2327
2328 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2329
2330#if CK5_ENABLED
2331 PURE module subroutine shrk_EXP_CSM_SLD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2332#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2333 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_CK5
2334#endif
2335 use pm_kind, only: CKG => CK5
2336 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2337 complex(CKG) , intent(in) :: alpha, beta
2338 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2339 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2340 type(nothing_type) , intent(in) :: operationA
2341 type(lowDia_type) , intent(in) :: subset
2342 type(symmetric_type) , intent(in) :: class
2343 end subroutine
2344#endif
2345
2346#if CK4_ENABLED
2347 PURE module subroutine shrk_EXP_CSM_SLD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2349 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_CK4
2350#endif
2351 use pm_kind, only: CKG => CK4
2352 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2353 complex(CKG) , intent(in) :: alpha, beta
2354 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2355 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2356 type(nothing_type) , intent(in) :: operationA
2357 type(lowDia_type) , intent(in) :: subset
2358 type(symmetric_type) , intent(in) :: class
2359 end subroutine
2360#endif
2361
2362#if CK3_ENABLED
2363 PURE module subroutine shrk_EXP_CSM_SLD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2365 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_CK3
2366#endif
2367 use pm_kind, only: CKG => CK3
2368 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2369 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2370 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2371 complex(CKG) , intent(in) :: alpha, beta
2372 type(nothing_type) , intent(in) :: operationA
2373 type(lowDia_type) , intent(in) :: subset
2374 type(symmetric_type) , intent(in) :: class
2375 end subroutine
2376#endif
2377
2378#if CK2_ENABLED
2379 PURE module subroutine shrk_EXP_CSM_SLD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2381 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_CK2
2382#endif
2383 use pm_kind, only: CKG => CK2
2384 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2385 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2386 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2387 complex(CKG) , intent(in) :: alpha, beta
2388 type(nothing_type) , intent(in) :: operationA
2389 type(lowDia_type) , intent(in) :: subset
2390 type(symmetric_type) , intent(in) :: class
2391 end subroutine
2392#endif
2393
2394#if CK1_ENABLED
2395 PURE module subroutine shrk_EXP_CSM_SLD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2397 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_CK1
2398#endif
2399 use pm_kind, only: CKG => CK1
2400 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2401 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2402 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2403 complex(CKG) , intent(in) :: alpha, beta
2404 type(nothing_type) , intent(in) :: operationA
2405 type(lowDia_type) , intent(in) :: subset
2406 type(symmetric_type) , intent(in) :: class
2407 end subroutine
2408#endif
2409
2410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2411
2412#if RK5_ENABLED
2413 PURE module subroutine shrk_EXP_CSM_SLD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2415 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_RK5
2416#endif
2417 use pm_kind, only: RKG => RK5
2418 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2419 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2420 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2421 real(RKG) , intent(in) :: alpha, beta
2422 type(nothing_type) , intent(in) :: operationA
2423 type(lowDia_type) , intent(in) :: subset
2424 type(symmetric_type) , intent(in) :: class
2425 end subroutine
2426#endif
2427
2428#if RK4_ENABLED
2429 PURE module subroutine shrk_EXP_CSM_SLD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2431 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_RK4
2432#endif
2433 use pm_kind, only: RKG => RK4
2434 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2435 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2436 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2437 real(RKG) , intent(in) :: alpha, beta
2438 type(nothing_type) , intent(in) :: operationA
2439 type(lowDia_type) , intent(in) :: subset
2440 type(symmetric_type) , intent(in) :: class
2441 end subroutine
2442#endif
2443
2444#if RK3_ENABLED
2445 PURE module subroutine shrk_EXP_CSM_SLD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2446#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2447 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_RK3
2448#endif
2449 use pm_kind, only: RKG => RK3
2450 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2451 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2452 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2453 real(RKG) , intent(in) :: alpha, beta
2454 type(nothing_type) , intent(in) :: operationA
2455 type(lowDia_type) , intent(in) :: subset
2456 type(symmetric_type) , intent(in) :: class
2457 end subroutine
2458#endif
2459
2460#if RK2_ENABLED
2461 PURE module subroutine shrk_EXP_CSM_SLD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2462#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2463 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_RK2
2464#endif
2465 use pm_kind, only: RKG => RK2
2466 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2467 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2468 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2469 real(RKG) , intent(in) :: alpha, beta
2470 type(nothing_type) , intent(in) :: operationA
2471 type(lowDia_type) , intent(in) :: subset
2472 type(symmetric_type) , intent(in) :: class
2473 end subroutine
2474#endif
2475
2476#if RK1_ENABLED
2477 PURE module subroutine shrk_EXP_CSM_SLD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2479 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_ONO_RK1
2480#endif
2481 use pm_kind, only: RKG => RK1
2482 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2483 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2484 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2485 real(RKG) , intent(in) :: alpha, beta
2486 type(nothing_type) , intent(in) :: operationA
2487 type(lowDia_type) , intent(in) :: subset
2488 type(symmetric_type) , intent(in) :: class
2489 end subroutine
2490#endif
2491
2492 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2493
2494 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2495 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2496 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2497
2498 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2499
2500#if IK5_ENABLED
2501 PURE module subroutine shrk_EXP_CSM_SLD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2503 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_IK5
2504#endif
2505 use pm_kind, only: IKG => IK5
2506 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2507 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2508 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2509 integer(IKG) , intent(in) :: alpha, beta
2510 type(trans_type) , intent(in) :: operationA
2511 type(lowDia_type) , intent(in) :: subset
2512 type(symmetric_type) , intent(in) :: class
2513 end subroutine
2514#endif
2515
2516#if IK4_ENABLED
2517 PURE module subroutine shrk_EXP_CSM_SLD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2519 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_IK4
2520#endif
2521 use pm_kind, only: IKG => IK4
2522 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2523 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2524 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2525 integer(IKG) , intent(in) :: alpha, beta
2526 type(trans_type) , intent(in) :: operationA
2527 type(lowDia_type) , intent(in) :: subset
2528 type(symmetric_type) , intent(in) :: class
2529 end subroutine
2530#endif
2531
2532#if IK3_ENABLED
2533 PURE module subroutine shrk_EXP_CSM_SLD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2535 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_IK3
2536#endif
2537 use pm_kind, only: IKG => IK3
2538 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2539 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2540 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2541 integer(IKG) , intent(in) :: alpha, beta
2542 type(trans_type) , intent(in) :: operationA
2543 type(lowDia_type) , intent(in) :: subset
2544 type(symmetric_type) , intent(in) :: class
2545 end subroutine
2546#endif
2547
2548#if IK2_ENABLED
2549 PURE module subroutine shrk_EXP_CSM_SLD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2551 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_IK2
2552#endif
2553 use pm_kind, only: IKG => IK2
2554 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2555 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2556 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2557 integer(IKG) , intent(in) :: alpha, beta
2558 type(trans_type) , intent(in) :: operationA
2559 type(lowDia_type) , intent(in) :: subset
2560 type(symmetric_type) , intent(in) :: class
2561 end subroutine
2562#endif
2563
2564#if IK1_ENABLED
2565 PURE module subroutine shrk_EXP_CSM_SLD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2566#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2567 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_IK1
2568#endif
2569 use pm_kind, only: IKG => IK1
2570 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2571 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2572 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2573 integer(IKG) , intent(in) :: alpha, beta
2574 type(trans_type) , intent(in) :: operationA
2575 type(lowDia_type) , intent(in) :: subset
2576 type(symmetric_type) , intent(in) :: class
2577 end subroutine
2578#endif
2579
2580 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2581
2582#if CK5_ENABLED
2583 PURE module subroutine shrk_EXP_CSM_SLD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2584#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2585 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_CK5
2586#endif
2587 use pm_kind, only: CKG => CK5
2588 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2589 complex(CKG) , intent(in) :: alpha, beta
2590 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2591 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2592 type(trans_type) , intent(in) :: operationA
2593 type(lowDia_type) , intent(in) :: subset
2594 type(symmetric_type) , intent(in) :: class
2595 end subroutine
2596#endif
2597
2598#if CK4_ENABLED
2599 PURE module subroutine shrk_EXP_CSM_SLD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2601 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_CK4
2602#endif
2603 use pm_kind, only: CKG => CK4
2604 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2605 complex(CKG) , intent(in) :: alpha, beta
2606 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2607 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2608 type(trans_type) , intent(in) :: operationA
2609 type(lowDia_type) , intent(in) :: subset
2610 type(symmetric_type) , intent(in) :: class
2611 end subroutine
2612#endif
2613
2614#if CK3_ENABLED
2615 PURE module subroutine shrk_EXP_CSM_SLD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2617 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_CK3
2618#endif
2619 use pm_kind, only: CKG => CK3
2620 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2621 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2622 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2623 complex(CKG) , intent(in) :: alpha, beta
2624 type(trans_type) , intent(in) :: operationA
2625 type(lowDia_type) , intent(in) :: subset
2626 type(symmetric_type) , intent(in) :: class
2627 end subroutine
2628#endif
2629
2630#if CK2_ENABLED
2631 PURE module subroutine shrk_EXP_CSM_SLD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2633 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_CK2
2634#endif
2635 use pm_kind, only: CKG => CK2
2636 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2637 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2638 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2639 complex(CKG) , intent(in) :: alpha, beta
2640 type(trans_type) , intent(in) :: operationA
2641 type(lowDia_type) , intent(in) :: subset
2642 type(symmetric_type) , intent(in) :: class
2643 end subroutine
2644#endif
2645
2646#if CK1_ENABLED
2647 PURE module subroutine shrk_EXP_CSM_SLD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2648#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2649 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_CK1
2650#endif
2651 use pm_kind, only: CKG => CK1
2652 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2653 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2654 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2655 complex(CKG) , intent(in) :: alpha, beta
2656 type(trans_type) , intent(in) :: operationA
2657 type(lowDia_type) , intent(in) :: subset
2658 type(symmetric_type) , intent(in) :: class
2659 end subroutine
2660#endif
2661
2662 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2663
2664#if RK5_ENABLED
2665 PURE module subroutine shrk_EXP_CSM_SLD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2667 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_RK5
2668#endif
2669 use pm_kind, only: RKG => RK5
2670 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2671 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2672 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2673 real(RKG) , intent(in) :: alpha, beta
2674 type(trans_type) , intent(in) :: operationA
2675 type(lowDia_type) , intent(in) :: subset
2676 type(symmetric_type) , intent(in) :: class
2677 end subroutine
2678#endif
2679
2680#if RK4_ENABLED
2681 PURE module subroutine shrk_EXP_CSM_SLD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2682#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2683 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_RK4
2684#endif
2685 use pm_kind, only: RKG => RK4
2686 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2687 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2688 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2689 real(RKG) , intent(in) :: alpha, beta
2690 type(trans_type) , intent(in) :: operationA
2691 type(lowDia_type) , intent(in) :: subset
2692 type(symmetric_type) , intent(in) :: class
2693 end subroutine
2694#endif
2695
2696#if RK3_ENABLED
2697 PURE module subroutine shrk_EXP_CSM_SLD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2699 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_RK3
2700#endif
2701 use pm_kind, only: RKG => RK3
2702 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2703 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2704 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2705 real(RKG) , intent(in) :: alpha, beta
2706 type(trans_type) , intent(in) :: operationA
2707 type(lowDia_type) , intent(in) :: subset
2708 type(symmetric_type) , intent(in) :: class
2709 end subroutine
2710#endif
2711
2712#if RK2_ENABLED
2713 PURE module subroutine shrk_EXP_CSM_SLD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2715 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_RK2
2716#endif
2717 use pm_kind, only: RKG => RK2
2718 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2719 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2720 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2721 real(RKG) , intent(in) :: alpha, beta
2722 type(trans_type) , intent(in) :: operationA
2723 type(lowDia_type) , intent(in) :: subset
2724 type(symmetric_type) , intent(in) :: class
2725 end subroutine
2726#endif
2727
2728#if RK1_ENABLED
2729 PURE module subroutine shrk_EXP_CSM_SLD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2731 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SLD_OTP_RK1
2732#endif
2733 use pm_kind, only: RKG => RK1
2734 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2735 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2736 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2737 real(RKG) , intent(in) :: alpha, beta
2738 type(trans_type) , intent(in) :: operationA
2739 type(lowDia_type) , intent(in) :: subset
2740 type(symmetric_type) , intent(in) :: class
2741 end subroutine
2742#endif
2743
2744 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2745
2746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2748 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2749
2750 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2751 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2752 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2753
2754 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2755
2756#if IK5_ENABLED
2757 PURE module subroutine shrk_EXP_CSM_SUD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2759 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_IK5
2760#endif
2761 use pm_kind, only: IKG => IK5
2762 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2763 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2764 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2765 integer(IKG) , intent(in) :: alpha, beta
2766 type(nothing_type) , intent(in) :: operationA
2767 type(uppDia_type) , intent(in) :: subset
2768 type(symmetric_type) , intent(in) :: class
2769 end subroutine
2770#endif
2771
2772#if IK4_ENABLED
2773 PURE module subroutine shrk_EXP_CSM_SUD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2775 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_IK4
2776#endif
2777 use pm_kind, only: IKG => IK4
2778 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2779 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2780 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2781 integer(IKG) , intent(in) :: alpha, beta
2782 type(nothing_type) , intent(in) :: operationA
2783 type(uppDia_type) , intent(in) :: subset
2784 type(symmetric_type) , intent(in) :: class
2785 end subroutine
2786#endif
2787
2788#if IK3_ENABLED
2789 PURE module subroutine shrk_EXP_CSM_SUD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2791 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_IK3
2792#endif
2793 use pm_kind, only: IKG => IK3
2794 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2795 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2796 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2797 integer(IKG) , intent(in) :: alpha, beta
2798 type(nothing_type) , intent(in) :: operationA
2799 type(uppDia_type) , intent(in) :: subset
2800 type(symmetric_type) , intent(in) :: class
2801 end subroutine
2802#endif
2803
2804#if IK2_ENABLED
2805 PURE module subroutine shrk_EXP_CSM_SUD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2807 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_IK2
2808#endif
2809 use pm_kind, only: IKG => IK2
2810 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2811 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2812 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2813 integer(IKG) , intent(in) :: alpha, beta
2814 type(nothing_type) , intent(in) :: operationA
2815 type(uppDia_type) , intent(in) :: subset
2816 type(symmetric_type) , intent(in) :: class
2817 end subroutine
2818#endif
2819
2820#if IK1_ENABLED
2821 PURE module subroutine shrk_EXP_CSM_SUD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2822#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2823 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_IK1
2824#endif
2825 use pm_kind, only: IKG => IK1
2826 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2827 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2828 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2829 integer(IKG) , intent(in) :: alpha, beta
2830 type(nothing_type) , intent(in) :: operationA
2831 type(uppDia_type) , intent(in) :: subset
2832 type(symmetric_type) , intent(in) :: class
2833 end subroutine
2834#endif
2835
2836 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2837
2838#if CK5_ENABLED
2839 PURE module subroutine shrk_EXP_CSM_SUD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2841 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_CK5
2842#endif
2843 use pm_kind, only: CKG => CK5
2844 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2845 complex(CKG) , intent(in) :: alpha, beta
2846 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2847 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2848 type(nothing_type) , intent(in) :: operationA
2849 type(uppDia_type) , intent(in) :: subset
2850 type(symmetric_type) , intent(in) :: class
2851 end subroutine
2852#endif
2853
2854#if CK4_ENABLED
2855 PURE module subroutine shrk_EXP_CSM_SUD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2857 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_CK4
2858#endif
2859 use pm_kind, only: CKG => CK4
2860 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2861 complex(CKG) , intent(in) :: alpha, beta
2862 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2863 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2864 type(nothing_type) , intent(in) :: operationA
2865 type(uppDia_type) , intent(in) :: subset
2866 type(symmetric_type) , intent(in) :: class
2867 end subroutine
2868#endif
2869
2870#if CK3_ENABLED
2871 PURE module subroutine shrk_EXP_CSM_SUD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2873 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_CK3
2874#endif
2875 use pm_kind, only: CKG => CK3
2876 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2877 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2878 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2879 complex(CKG) , intent(in) :: alpha, beta
2880 type(nothing_type) , intent(in) :: operationA
2881 type(uppDia_type) , intent(in) :: subset
2882 type(symmetric_type) , intent(in) :: class
2883 end subroutine
2884#endif
2885
2886#if CK2_ENABLED
2887 PURE module subroutine shrk_EXP_CSM_SUD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2889 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_CK2
2890#endif
2891 use pm_kind, only: CKG => CK2
2892 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2893 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2894 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2895 complex(CKG) , intent(in) :: alpha, beta
2896 type(nothing_type) , intent(in) :: operationA
2897 type(uppDia_type) , intent(in) :: subset
2898 type(symmetric_type) , intent(in) :: class
2899 end subroutine
2900#endif
2901
2902#if CK1_ENABLED
2903 PURE module subroutine shrk_EXP_CSM_SUD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2905 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_CK1
2906#endif
2907 use pm_kind, only: CKG => CK1
2908 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2909 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2910 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2911 complex(CKG) , intent(in) :: alpha, beta
2912 type(nothing_type) , intent(in) :: operationA
2913 type(uppDia_type) , intent(in) :: subset
2914 type(symmetric_type) , intent(in) :: class
2915 end subroutine
2916#endif
2917
2918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2919
2920#if RK5_ENABLED
2921 PURE module subroutine shrk_EXP_CSM_SUD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2923 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_RK5
2924#endif
2925 use pm_kind, only: RKG => RK5
2926 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2927 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2928 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2929 real(RKG) , intent(in) :: alpha, beta
2930 type(nothing_type) , intent(in) :: operationA
2931 type(uppDia_type) , intent(in) :: subset
2932 type(symmetric_type) , intent(in) :: class
2933 end subroutine
2934#endif
2935
2936#if RK4_ENABLED
2937 PURE module subroutine shrk_EXP_CSM_SUD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2939 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_RK4
2940#endif
2941 use pm_kind, only: RKG => RK4
2942 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2943 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2944 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2945 real(RKG) , intent(in) :: alpha, beta
2946 type(nothing_type) , intent(in) :: operationA
2947 type(uppDia_type) , intent(in) :: subset
2948 type(symmetric_type) , intent(in) :: class
2949 end subroutine
2950#endif
2951
2952#if RK3_ENABLED
2953 PURE module subroutine shrk_EXP_CSM_SUD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2955 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_RK3
2956#endif
2957 use pm_kind, only: RKG => RK3
2958 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2959 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2960 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2961 real(RKG) , intent(in) :: alpha, beta
2962 type(nothing_type) , intent(in) :: operationA
2963 type(uppDia_type) , intent(in) :: subset
2964 type(symmetric_type) , intent(in) :: class
2965 end subroutine
2966#endif
2967
2968#if RK2_ENABLED
2969 PURE module subroutine shrk_EXP_CSM_SUD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2971 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_RK2
2972#endif
2973 use pm_kind, only: RKG => RK2
2974 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2975 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2976 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2977 real(RKG) , intent(in) :: alpha, beta
2978 type(nothing_type) , intent(in) :: operationA
2979 type(uppDia_type) , intent(in) :: subset
2980 type(symmetric_type) , intent(in) :: class
2981 end subroutine
2982#endif
2983
2984#if RK1_ENABLED
2985 PURE module subroutine shrk_EXP_CSM_SUD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
2986#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2987 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_ONO_RK1
2988#endif
2989 use pm_kind, only: RKG => RK1
2990 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
2991 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
2992 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
2993 real(RKG) , intent(in) :: alpha, beta
2994 type(nothing_type) , intent(in) :: operationA
2995 type(uppDia_type) , intent(in) :: subset
2996 type(symmetric_type) , intent(in) :: class
2997 end subroutine
2998#endif
2999
3000 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3001
3002 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3003 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3004 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3005
3006 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3007
3008#if IK5_ENABLED
3009 PURE module subroutine shrk_EXP_CSM_SUD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3011 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_IK5
3012#endif
3013 use pm_kind, only: IKG => IK5
3014 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3015 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3016 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3017 integer(IKG) , intent(in) :: alpha, beta
3018 type(trans_type) , intent(in) :: operationA
3019 type(uppDia_type) , intent(in) :: subset
3020 type(symmetric_type) , intent(in) :: class
3021 end subroutine
3022#endif
3023
3024#if IK4_ENABLED
3025 PURE module subroutine shrk_EXP_CSM_SUD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3027 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_IK4
3028#endif
3029 use pm_kind, only: IKG => IK4
3030 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3031 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3032 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3033 integer(IKG) , intent(in) :: alpha, beta
3034 type(trans_type) , intent(in) :: operationA
3035 type(uppDia_type) , intent(in) :: subset
3036 type(symmetric_type) , intent(in) :: class
3037 end subroutine
3038#endif
3039
3040#if IK3_ENABLED
3041 PURE module subroutine shrk_EXP_CSM_SUD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3043 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_IK3
3044#endif
3045 use pm_kind, only: IKG => IK3
3046 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3047 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3048 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3049 integer(IKG) , intent(in) :: alpha, beta
3050 type(trans_type) , intent(in) :: operationA
3051 type(uppDia_type) , intent(in) :: subset
3052 type(symmetric_type) , intent(in) :: class
3053 end subroutine
3054#endif
3055
3056#if IK2_ENABLED
3057 PURE module subroutine shrk_EXP_CSM_SUD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3058#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3059 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_IK2
3060#endif
3061 use pm_kind, only: IKG => IK2
3062 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3063 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3064 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3065 integer(IKG) , intent(in) :: alpha, beta
3066 type(trans_type) , intent(in) :: operationA
3067 type(uppDia_type) , intent(in) :: subset
3068 type(symmetric_type) , intent(in) :: class
3069 end subroutine
3070#endif
3071
3072#if IK1_ENABLED
3073 PURE module subroutine shrk_EXP_CSM_SUD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3075 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_IK1
3076#endif
3077 use pm_kind, only: IKG => IK1
3078 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3079 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3080 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3081 integer(IKG) , intent(in) :: alpha, beta
3082 type(trans_type) , intent(in) :: operationA
3083 type(uppDia_type) , intent(in) :: subset
3084 type(symmetric_type) , intent(in) :: class
3085 end subroutine
3086#endif
3087
3088 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3089
3090#if CK5_ENABLED
3091 PURE module subroutine shrk_EXP_CSM_SUD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3093 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_CK5
3094#endif
3095 use pm_kind, only: CKG => CK5
3096 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3097 complex(CKG) , intent(in) :: alpha, beta
3098 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3099 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3100 type(trans_type) , intent(in) :: operationA
3101 type(uppDia_type) , intent(in) :: subset
3102 type(symmetric_type) , intent(in) :: class
3103 end subroutine
3104#endif
3105
3106#if CK4_ENABLED
3107 PURE module subroutine shrk_EXP_CSM_SUD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3109 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_CK4
3110#endif
3111 use pm_kind, only: CKG => CK4
3112 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3113 complex(CKG) , intent(in) :: alpha, beta
3114 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3115 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3116 type(trans_type) , intent(in) :: operationA
3117 type(uppDia_type) , intent(in) :: subset
3118 type(symmetric_type) , intent(in) :: class
3119 end subroutine
3120#endif
3121
3122#if CK3_ENABLED
3123 PURE module subroutine shrk_EXP_CSM_SUD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3125 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_CK3
3126#endif
3127 use pm_kind, only: CKG => CK3
3128 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3129 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3130 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3131 complex(CKG) , intent(in) :: alpha, beta
3132 type(trans_type) , intent(in) :: operationA
3133 type(uppDia_type) , intent(in) :: subset
3134 type(symmetric_type) , intent(in) :: class
3135 end subroutine
3136#endif
3137
3138#if CK2_ENABLED
3139 PURE module subroutine shrk_EXP_CSM_SUD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3141 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_CK2
3142#endif
3143 use pm_kind, only: CKG => CK2
3144 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3145 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3146 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3147 complex(CKG) , intent(in) :: alpha, beta
3148 type(trans_type) , intent(in) :: operationA
3149 type(uppDia_type) , intent(in) :: subset
3150 type(symmetric_type) , intent(in) :: class
3151 end subroutine
3152#endif
3153
3154#if CK1_ENABLED
3155 PURE module subroutine shrk_EXP_CSM_SUD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3156#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3157 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_CK1
3158#endif
3159 use pm_kind, only: CKG => CK1
3160 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3161 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3162 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3163 complex(CKG) , intent(in) :: alpha, beta
3164 type(trans_type) , intent(in) :: operationA
3165 type(uppDia_type) , intent(in) :: subset
3166 type(symmetric_type) , intent(in) :: class
3167 end subroutine
3168#endif
3169
3170 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3171
3172#if RK5_ENABLED
3173 PURE module subroutine shrk_EXP_CSM_SUD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3175 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_RK5
3176#endif
3177 use pm_kind, only: RKG => RK5
3178 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3179 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3180 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3181 real(RKG) , intent(in) :: alpha, beta
3182 type(trans_type) , intent(in) :: operationA
3183 type(uppDia_type) , intent(in) :: subset
3184 type(symmetric_type) , intent(in) :: class
3185 end subroutine
3186#endif
3187
3188#if RK4_ENABLED
3189 PURE module subroutine shrk_EXP_CSM_SUD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3190#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3191 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_RK4
3192#endif
3193 use pm_kind, only: RKG => RK4
3194 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3195 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3196 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3197 real(RKG) , intent(in) :: alpha, beta
3198 type(trans_type) , intent(in) :: operationA
3199 type(uppDia_type) , intent(in) :: subset
3200 type(symmetric_type) , intent(in) :: class
3201 end subroutine
3202#endif
3203
3204#if RK3_ENABLED
3205 PURE module subroutine shrk_EXP_CSM_SUD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3207 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_RK3
3208#endif
3209 use pm_kind, only: RKG => RK3
3210 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3211 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3212 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3213 real(RKG) , intent(in) :: alpha, beta
3214 type(trans_type) , intent(in) :: operationA
3215 type(uppDia_type) , intent(in) :: subset
3216 type(symmetric_type) , intent(in) :: class
3217 end subroutine
3218#endif
3219
3220#if RK2_ENABLED
3221 PURE module subroutine shrk_EXP_CSM_SUD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3223 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_RK2
3224#endif
3225 use pm_kind, only: RKG => RK2
3226 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3227 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3228 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3229 real(RKG) , intent(in) :: alpha, beta
3230 type(trans_type) , intent(in) :: operationA
3231 type(uppDia_type) , intent(in) :: subset
3232 type(symmetric_type) , intent(in) :: class
3233 end subroutine
3234#endif
3235
3236#if RK1_ENABLED
3237 PURE module subroutine shrk_EXP_CSM_SUD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3239 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CSM_SUD_OTP_RK1
3240#endif
3241 use pm_kind, only: RKG => RK1
3242 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3243 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3244 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3245 real(RKG) , intent(in) :: alpha, beta
3246 type(trans_type) , intent(in) :: operationA
3247 type(uppDia_type) , intent(in) :: subset
3248 type(symmetric_type) , intent(in) :: class
3249 end subroutine
3250#endif
3251
3252 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3253
3254 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3255 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3257
3258 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3259 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3260 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3261
3262 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3264 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3265
3266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3267
3268#if IK5_ENABLED
3269 PURE module subroutine shrk_EXP_CHM_SLD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3270#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3271 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_IK5
3272#endif
3273 use pm_kind, only: IKG => IK5
3274 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3275 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3276 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3277 integer(IKG) , intent(in) :: alpha, beta
3278 type(nothing_type) , intent(in) :: operationA
3279 type(lowDia_type) , intent(in) :: subset
3280 type(hermitian_type) , intent(in) :: class
3281 end subroutine
3282#endif
3283
3284#if IK4_ENABLED
3285 PURE module subroutine shrk_EXP_CHM_SLD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3287 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_IK4
3288#endif
3289 use pm_kind, only: IKG => IK4
3290 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3291 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3292 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3293 integer(IKG) , intent(in) :: alpha, beta
3294 type(nothing_type) , intent(in) :: operationA
3295 type(lowDia_type) , intent(in) :: subset
3296 type(hermitian_type) , intent(in) :: class
3297 end subroutine
3298#endif
3299
3300#if IK3_ENABLED
3301 PURE module subroutine shrk_EXP_CHM_SLD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3303 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_IK3
3304#endif
3305 use pm_kind, only: IKG => IK3
3306 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3307 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3308 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3309 integer(IKG) , intent(in) :: alpha, beta
3310 type(nothing_type) , intent(in) :: operationA
3311 type(lowDia_type) , intent(in) :: subset
3312 type(hermitian_type) , intent(in) :: class
3313 end subroutine
3314#endif
3315
3316#if IK2_ENABLED
3317 PURE module subroutine shrk_EXP_CHM_SLD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3319 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_IK2
3320#endif
3321 use pm_kind, only: IKG => IK2
3322 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3323 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3324 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3325 integer(IKG) , intent(in) :: alpha, beta
3326 type(nothing_type) , intent(in) :: operationA
3327 type(lowDia_type) , intent(in) :: subset
3328 type(hermitian_type) , intent(in) :: class
3329 end subroutine
3330#endif
3331
3332#if IK1_ENABLED
3333 PURE module subroutine shrk_EXP_CHM_SLD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3335 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_IK1
3336#endif
3337 use pm_kind, only: IKG => IK1
3338 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3339 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3340 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3341 integer(IKG) , intent(in) :: alpha, beta
3342 type(nothing_type) , intent(in) :: operationA
3343 type(lowDia_type) , intent(in) :: subset
3344 type(hermitian_type) , intent(in) :: class
3345 end subroutine
3346#endif
3347
3348 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3349
3350#if CK5_ENABLED
3351 PURE module subroutine shrk_EXP_CHM_SLD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3353 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_CK5
3354#endif
3355 use pm_kind, only: CKG => CK5
3356 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3357 complex(CKG) , intent(in) :: alpha, beta
3358 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3359 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3360 type(nothing_type) , intent(in) :: operationA
3361 type(lowDia_type) , intent(in) :: subset
3362 type(hermitian_type) , intent(in) :: class
3363 end subroutine
3364#endif
3365
3366#if CK4_ENABLED
3367 PURE module subroutine shrk_EXP_CHM_SLD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3369 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_CK4
3370#endif
3371 use pm_kind, only: CKG => CK4
3372 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3373 complex(CKG) , intent(in) :: alpha, beta
3374 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3375 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3376 type(nothing_type) , intent(in) :: operationA
3377 type(lowDia_type) , intent(in) :: subset
3378 type(hermitian_type) , intent(in) :: class
3379 end subroutine
3380#endif
3381
3382#if CK3_ENABLED
3383 PURE module subroutine shrk_EXP_CHM_SLD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3385 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_CK3
3386#endif
3387 use pm_kind, only: CKG => CK3
3388 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3389 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3390 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3391 complex(CKG) , intent(in) :: alpha, beta
3392 type(nothing_type) , intent(in) :: operationA
3393 type(lowDia_type) , intent(in) :: subset
3394 type(hermitian_type) , intent(in) :: class
3395 end subroutine
3396#endif
3397
3398#if CK2_ENABLED
3399 PURE module subroutine shrk_EXP_CHM_SLD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3401 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_CK2
3402#endif
3403 use pm_kind, only: CKG => CK2
3404 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3405 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3406 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3407 complex(CKG) , intent(in) :: alpha, beta
3408 type(nothing_type) , intent(in) :: operationA
3409 type(lowDia_type) , intent(in) :: subset
3410 type(hermitian_type) , intent(in) :: class
3411 end subroutine
3412#endif
3413
3414#if CK1_ENABLED
3415 PURE module subroutine shrk_EXP_CHM_SLD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3417 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_CK1
3418#endif
3419 use pm_kind, only: CKG => CK1
3420 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3421 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3422 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3423 complex(CKG) , intent(in) :: alpha, beta
3424 type(nothing_type) , intent(in) :: operationA
3425 type(lowDia_type) , intent(in) :: subset
3426 type(hermitian_type) , intent(in) :: class
3427 end subroutine
3428#endif
3429
3430 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3431
3432#if RK5_ENABLED
3433 PURE module subroutine shrk_EXP_CHM_SLD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3435 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_RK5
3436#endif
3437 use pm_kind, only: RKG => RK5
3438 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3439 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3440 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3441 real(RKG) , intent(in) :: alpha, beta
3442 type(nothing_type) , intent(in) :: operationA
3443 type(lowDia_type) , intent(in) :: subset
3444 type(hermitian_type) , intent(in) :: class
3445 end subroutine
3446#endif
3447
3448#if RK4_ENABLED
3449 PURE module subroutine shrk_EXP_CHM_SLD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3451 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_RK4
3452#endif
3453 use pm_kind, only: RKG => RK4
3454 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3455 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3456 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3457 real(RKG) , intent(in) :: alpha, beta
3458 type(nothing_type) , intent(in) :: operationA
3459 type(lowDia_type) , intent(in) :: subset
3460 type(hermitian_type) , intent(in) :: class
3461 end subroutine
3462#endif
3463
3464#if RK3_ENABLED
3465 PURE module subroutine shrk_EXP_CHM_SLD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3467 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_RK3
3468#endif
3469 use pm_kind, only: RKG => RK3
3470 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3471 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3472 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3473 real(RKG) , intent(in) :: alpha, beta
3474 type(nothing_type) , intent(in) :: operationA
3475 type(lowDia_type) , intent(in) :: subset
3476 type(hermitian_type) , intent(in) :: class
3477 end subroutine
3478#endif
3479
3480#if RK2_ENABLED
3481 PURE module subroutine shrk_EXP_CHM_SLD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3483 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_RK2
3484#endif
3485 use pm_kind, only: RKG => RK2
3486 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3487 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3488 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3489 real(RKG) , intent(in) :: alpha, beta
3490 type(nothing_type) , intent(in) :: operationA
3491 type(lowDia_type) , intent(in) :: subset
3492 type(hermitian_type) , intent(in) :: class
3493 end subroutine
3494#endif
3495
3496#if RK1_ENABLED
3497 PURE module subroutine shrk_EXP_CHM_SLD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3499 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_ONO_RK1
3500#endif
3501 use pm_kind, only: RKG => RK1
3502 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3503 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3504 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3505 real(RKG) , intent(in) :: alpha, beta
3506 type(nothing_type) , intent(in) :: operationA
3507 type(lowDia_type) , intent(in) :: subset
3508 type(hermitian_type) , intent(in) :: class
3509 end subroutine
3510#endif
3511
3512 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3513
3514 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3515 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3516 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3517
3518 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3519
3520#if IK5_ENABLED
3521 PURE module subroutine shrk_EXP_CHM_SLD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3522#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3523 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_IK5
3524#endif
3525 use pm_kind, only: IKG => IK5
3526 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3527 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3528 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3529 integer(IKG) , intent(in) :: alpha, beta
3530 type(trans_type) , intent(in) :: operationA
3531 type(lowDia_type) , intent(in) :: subset
3532 type(hermitian_type) , intent(in) :: class
3533 end subroutine
3534#endif
3535
3536#if IK4_ENABLED
3537 PURE module subroutine shrk_EXP_CHM_SLD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3539 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_IK4
3540#endif
3541 use pm_kind, only: IKG => IK4
3542 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3543 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3544 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3545 integer(IKG) , intent(in) :: alpha, beta
3546 type(trans_type) , intent(in) :: operationA
3547 type(lowDia_type) , intent(in) :: subset
3548 type(hermitian_type) , intent(in) :: class
3549 end subroutine
3550#endif
3551
3552#if IK3_ENABLED
3553 PURE module subroutine shrk_EXP_CHM_SLD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3554#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3555 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_IK3
3556#endif
3557 use pm_kind, only: IKG => IK3
3558 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3559 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3560 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3561 integer(IKG) , intent(in) :: alpha, beta
3562 type(trans_type) , intent(in) :: operationA
3563 type(lowDia_type) , intent(in) :: subset
3564 type(hermitian_type) , intent(in) :: class
3565 end subroutine
3566#endif
3567
3568#if IK2_ENABLED
3569 PURE module subroutine shrk_EXP_CHM_SLD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3571 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_IK2
3572#endif
3573 use pm_kind, only: IKG => IK2
3574 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3575 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3576 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3577 integer(IKG) , intent(in) :: alpha, beta
3578 type(trans_type) , intent(in) :: operationA
3579 type(lowDia_type) , intent(in) :: subset
3580 type(hermitian_type) , intent(in) :: class
3581 end subroutine
3582#endif
3583
3584#if IK1_ENABLED
3585 PURE module subroutine shrk_EXP_CHM_SLD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3587 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_IK1
3588#endif
3589 use pm_kind, only: IKG => IK1
3590 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3591 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3592 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3593 integer(IKG) , intent(in) :: alpha, beta
3594 type(trans_type) , intent(in) :: operationA
3595 type(lowDia_type) , intent(in) :: subset
3596 type(hermitian_type) , intent(in) :: class
3597 end subroutine
3598#endif
3599
3600 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3601
3602#if CK5_ENABLED
3603 PURE module subroutine shrk_EXP_CHM_SLD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3605 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_CK5
3606#endif
3607 use pm_kind, only: CKG => CK5
3608 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3609 complex(CKG) , intent(in) :: alpha, beta
3610 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3611 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3612 type(trans_type) , intent(in) :: operationA
3613 type(lowDia_type) , intent(in) :: subset
3614 type(hermitian_type) , intent(in) :: class
3615 end subroutine
3616#endif
3617
3618#if CK4_ENABLED
3619 PURE module subroutine shrk_EXP_CHM_SLD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3620#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3621 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_CK4
3622#endif
3623 use pm_kind, only: CKG => CK4
3624 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3625 complex(CKG) , intent(in) :: alpha, beta
3626 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3627 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3628 type(trans_type) , intent(in) :: operationA
3629 type(lowDia_type) , intent(in) :: subset
3630 type(hermitian_type) , intent(in) :: class
3631 end subroutine
3632#endif
3633
3634#if CK3_ENABLED
3635 PURE module subroutine shrk_EXP_CHM_SLD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3637 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_CK3
3638#endif
3639 use pm_kind, only: CKG => CK3
3640 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3641 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3642 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3643 complex(CKG) , intent(in) :: alpha, beta
3644 type(trans_type) , intent(in) :: operationA
3645 type(lowDia_type) , intent(in) :: subset
3646 type(hermitian_type) , intent(in) :: class
3647 end subroutine
3648#endif
3649
3650#if CK2_ENABLED
3651 PURE module subroutine shrk_EXP_CHM_SLD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3653 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_CK2
3654#endif
3655 use pm_kind, only: CKG => CK2
3656 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3657 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3658 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3659 complex(CKG) , intent(in) :: alpha, beta
3660 type(trans_type) , intent(in) :: operationA
3661 type(lowDia_type) , intent(in) :: subset
3662 type(hermitian_type) , intent(in) :: class
3663 end subroutine
3664#endif
3665
3666#if CK1_ENABLED
3667 PURE module subroutine shrk_EXP_CHM_SLD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3668#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3669 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_CK1
3670#endif
3671 use pm_kind, only: CKG => CK1
3672 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3673 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3674 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3675 complex(CKG) , intent(in) :: alpha, beta
3676 type(trans_type) , intent(in) :: operationA
3677 type(lowDia_type) , intent(in) :: subset
3678 type(hermitian_type) , intent(in) :: class
3679 end subroutine
3680#endif
3681
3682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3683
3684#if RK5_ENABLED
3685 PURE module subroutine shrk_EXP_CHM_SLD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3687 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_RK5
3688#endif
3689 use pm_kind, only: RKG => RK5
3690 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3691 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3692 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3693 real(RKG) , intent(in) :: alpha, beta
3694 type(trans_type) , intent(in) :: operationA
3695 type(lowDia_type) , intent(in) :: subset
3696 type(hermitian_type) , intent(in) :: class
3697 end subroutine
3698#endif
3699
3700#if RK4_ENABLED
3701 PURE module subroutine shrk_EXP_CHM_SLD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3703 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_RK4
3704#endif
3705 use pm_kind, only: RKG => RK4
3706 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3707 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3708 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3709 real(RKG) , intent(in) :: alpha, beta
3710 type(trans_type) , intent(in) :: operationA
3711 type(lowDia_type) , intent(in) :: subset
3712 type(hermitian_type) , intent(in) :: class
3713 end subroutine
3714#endif
3715
3716#if RK3_ENABLED
3717 PURE module subroutine shrk_EXP_CHM_SLD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3719 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_RK3
3720#endif
3721 use pm_kind, only: RKG => RK3
3722 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3723 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3724 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3725 real(RKG) , intent(in) :: alpha, beta
3726 type(trans_type) , intent(in) :: operationA
3727 type(lowDia_type) , intent(in) :: subset
3728 type(hermitian_type) , intent(in) :: class
3729 end subroutine
3730#endif
3731
3732#if RK2_ENABLED
3733 PURE module subroutine shrk_EXP_CHM_SLD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3734#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3735 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_RK2
3736#endif
3737 use pm_kind, only: RKG => RK2
3738 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3739 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3740 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3741 real(RKG) , intent(in) :: alpha, beta
3742 type(trans_type) , intent(in) :: operationA
3743 type(lowDia_type) , intent(in) :: subset
3744 type(hermitian_type) , intent(in) :: class
3745 end subroutine
3746#endif
3747
3748#if RK1_ENABLED
3749 PURE module subroutine shrk_EXP_CHM_SLD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3751 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SLD_OTP_RK1
3752#endif
3753 use pm_kind, only: RKG => RK1
3754 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3755 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3756 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3757 real(RKG) , intent(in) :: alpha, beta
3758 type(trans_type) , intent(in) :: operationA
3759 type(lowDia_type) , intent(in) :: subset
3760 type(hermitian_type) , intent(in) :: class
3761 end subroutine
3762#endif
3763
3764 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3765
3766 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3768 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3769
3770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3773
3774 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3775
3776#if IK5_ENABLED
3777 PURE module subroutine shrk_EXP_CHM_SUD_ONO_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3778#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3779 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_IK5
3780#endif
3781 use pm_kind, only: IKG => IK5
3782 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3783 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3784 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3785 integer(IKG) , intent(in) :: alpha, beta
3786 type(nothing_type) , intent(in) :: operationA
3787 type(uppDia_type) , intent(in) :: subset
3788 type(hermitian_type) , intent(in) :: class
3789 end subroutine
3790#endif
3791
3792#if IK4_ENABLED
3793 PURE module subroutine shrk_EXP_CHM_SUD_ONO_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3795 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_IK4
3796#endif
3797 use pm_kind, only: IKG => IK4
3798 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3799 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3800 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3801 integer(IKG) , intent(in) :: alpha, beta
3802 type(nothing_type) , intent(in) :: operationA
3803 type(uppDia_type) , intent(in) :: subset
3804 type(hermitian_type) , intent(in) :: class
3805 end subroutine
3806#endif
3807
3808#if IK3_ENABLED
3809 PURE module subroutine shrk_EXP_CHM_SUD_ONO_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3810#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3811 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_IK3
3812#endif
3813 use pm_kind, only: IKG => IK3
3814 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3815 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3816 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3817 integer(IKG) , intent(in) :: alpha, beta
3818 type(nothing_type) , intent(in) :: operationA
3819 type(uppDia_type) , intent(in) :: subset
3820 type(hermitian_type) , intent(in) :: class
3821 end subroutine
3822#endif
3823
3824#if IK2_ENABLED
3825 PURE module subroutine shrk_EXP_CHM_SUD_ONO_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3827 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_IK2
3828#endif
3829 use pm_kind, only: IKG => IK2
3830 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3831 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3832 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3833 integer(IKG) , intent(in) :: alpha, beta
3834 type(nothing_type) , intent(in) :: operationA
3835 type(uppDia_type) , intent(in) :: subset
3836 type(hermitian_type) , intent(in) :: class
3837 end subroutine
3838#endif
3839
3840#if IK1_ENABLED
3841 PURE module subroutine shrk_EXP_CHM_SUD_ONO_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3843 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_IK1
3844#endif
3845 use pm_kind, only: IKG => IK1
3846 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3847 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3848 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3849 integer(IKG) , intent(in) :: alpha, beta
3850 type(nothing_type) , intent(in) :: operationA
3851 type(uppDia_type) , intent(in) :: subset
3852 type(hermitian_type) , intent(in) :: class
3853 end subroutine
3854#endif
3855
3856 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3857
3858#if CK5_ENABLED
3859 PURE module subroutine shrk_EXP_CHM_SUD_ONO_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3861 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_CK5
3862#endif
3863 use pm_kind, only: CKG => CK5
3864 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3865 complex(CKG) , intent(in) :: alpha, beta
3866 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3867 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3868 type(nothing_type) , intent(in) :: operationA
3869 type(uppDia_type) , intent(in) :: subset
3870 type(hermitian_type) , intent(in) :: class
3871 end subroutine
3872#endif
3873
3874#if CK4_ENABLED
3875 PURE module subroutine shrk_EXP_CHM_SUD_ONO_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3877 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_CK4
3878#endif
3879 use pm_kind, only: CKG => CK4
3880 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3881 complex(CKG) , intent(in) :: alpha, beta
3882 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3883 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3884 type(nothing_type) , intent(in) :: operationA
3885 type(uppDia_type) , intent(in) :: subset
3886 type(hermitian_type) , intent(in) :: class
3887 end subroutine
3888#endif
3889
3890#if CK3_ENABLED
3891 PURE module subroutine shrk_EXP_CHM_SUD_ONO_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3893 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_CK3
3894#endif
3895 use pm_kind, only: CKG => CK3
3896 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3897 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3898 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3899 complex(CKG) , intent(in) :: alpha, beta
3900 type(nothing_type) , intent(in) :: operationA
3901 type(uppDia_type) , intent(in) :: subset
3902 type(hermitian_type) , intent(in) :: class
3903 end subroutine
3904#endif
3905
3906#if CK2_ENABLED
3907 PURE module subroutine shrk_EXP_CHM_SUD_ONO_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3908#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3909 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_CK2
3910#endif
3911 use pm_kind, only: CKG => CK2
3912 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3913 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3914 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3915 complex(CKG) , intent(in) :: alpha, beta
3916 type(nothing_type) , intent(in) :: operationA
3917 type(uppDia_type) , intent(in) :: subset
3918 type(hermitian_type) , intent(in) :: class
3919 end subroutine
3920#endif
3921
3922#if CK1_ENABLED
3923 PURE module subroutine shrk_EXP_CHM_SUD_ONO_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3924#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3925 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_CK1
3926#endif
3927 use pm_kind, only: CKG => CK1
3928 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3929 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3930 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3931 complex(CKG) , intent(in) :: alpha, beta
3932 type(nothing_type) , intent(in) :: operationA
3933 type(uppDia_type) , intent(in) :: subset
3934 type(hermitian_type) , intent(in) :: class
3935 end subroutine
3936#endif
3937
3938 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3939
3940#if RK5_ENABLED
3941 PURE module subroutine shrk_EXP_CHM_SUD_ONO_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3943 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_RK5
3944#endif
3945 use pm_kind, only: RKG => RK5
3946 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3947 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3948 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3949 real(RKG) , intent(in) :: alpha, beta
3950 type(nothing_type) , intent(in) :: operationA
3951 type(uppDia_type) , intent(in) :: subset
3952 type(hermitian_type) , intent(in) :: class
3953 end subroutine
3954#endif
3955
3956#if RK4_ENABLED
3957 PURE module subroutine shrk_EXP_CHM_SUD_ONO_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3959 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_RK4
3960#endif
3961 use pm_kind, only: RKG => RK4
3962 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3963 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3964 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3965 real(RKG) , intent(in) :: alpha, beta
3966 type(nothing_type) , intent(in) :: operationA
3967 type(uppDia_type) , intent(in) :: subset
3968 type(hermitian_type) , intent(in) :: class
3969 end subroutine
3970#endif
3971
3972#if RK3_ENABLED
3973 PURE module subroutine shrk_EXP_CHM_SUD_ONO_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3974#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3975 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_RK3
3976#endif
3977 use pm_kind, only: RKG => RK3
3978 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3979 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3980 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3981 real(RKG) , intent(in) :: alpha, beta
3982 type(nothing_type) , intent(in) :: operationA
3983 type(uppDia_type) , intent(in) :: subset
3984 type(hermitian_type) , intent(in) :: class
3985 end subroutine
3986#endif
3987
3988#if RK2_ENABLED
3989 PURE module subroutine shrk_EXP_CHM_SUD_ONO_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
3990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3991 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_RK2
3992#endif
3993 use pm_kind, only: RKG => RK2
3994 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
3995 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
3996 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
3997 real(RKG) , intent(in) :: alpha, beta
3998 type(nothing_type) , intent(in) :: operationA
3999 type(uppDia_type) , intent(in) :: subset
4000 type(hermitian_type) , intent(in) :: class
4001 end subroutine
4002#endif
4003
4004#if RK1_ENABLED
4005 PURE module subroutine shrk_EXP_CHM_SUD_ONO_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4007 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_ONO_RK1
4008#endif
4009 use pm_kind, only: RKG => RK1
4010 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4011 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4012 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4013 real(RKG) , intent(in) :: alpha, beta
4014 type(nothing_type) , intent(in) :: operationA
4015 type(uppDia_type) , intent(in) :: subset
4016 type(hermitian_type) , intent(in) :: class
4017 end subroutine
4018#endif
4019
4020 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4021
4022 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4023 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4024 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4025
4026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4027
4028#if IK5_ENABLED
4029 PURE module subroutine shrk_EXP_CHM_SUD_OTP_IK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4031 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_IK5
4032#endif
4033 use pm_kind, only: IKG => IK5
4034 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4035 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4036 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4037 integer(IKG) , intent(in) :: alpha, beta
4038 type(trans_type) , intent(in) :: operationA
4039 type(uppDia_type) , intent(in) :: subset
4040 type(hermitian_type) , intent(in) :: class
4041 end subroutine
4042#endif
4043
4044#if IK4_ENABLED
4045 PURE module subroutine shrk_EXP_CHM_SUD_OTP_IK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4047 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_IK4
4048#endif
4049 use pm_kind, only: IKG => IK4
4050 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4051 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4052 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4053 integer(IKG) , intent(in) :: alpha, beta
4054 type(trans_type) , intent(in) :: operationA
4055 type(uppDia_type) , intent(in) :: subset
4056 type(hermitian_type) , intent(in) :: class
4057 end subroutine
4058#endif
4059
4060#if IK3_ENABLED
4061 PURE module subroutine shrk_EXP_CHM_SUD_OTP_IK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4063 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_IK3
4064#endif
4065 use pm_kind, only: IKG => IK3
4066 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4067 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4068 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4069 integer(IKG) , intent(in) :: alpha, beta
4070 type(trans_type) , intent(in) :: operationA
4071 type(uppDia_type) , intent(in) :: subset
4072 type(hermitian_type) , intent(in) :: class
4073 end subroutine
4074#endif
4075
4076#if IK2_ENABLED
4077 PURE module subroutine shrk_EXP_CHM_SUD_OTP_IK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4079 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_IK2
4080#endif
4081 use pm_kind, only: IKG => IK2
4082 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4083 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4084 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4085 integer(IKG) , intent(in) :: alpha, beta
4086 type(trans_type) , intent(in) :: operationA
4087 type(uppDia_type) , intent(in) :: subset
4088 type(hermitian_type) , intent(in) :: class
4089 end subroutine
4090#endif
4091
4092#if IK1_ENABLED
4093 PURE module subroutine shrk_EXP_CHM_SUD_OTP_IK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4094#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4095 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_IK1
4096#endif
4097 use pm_kind, only: IKG => IK1
4098 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4099 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4100 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4101 integer(IKG) , intent(in) :: alpha, beta
4102 type(trans_type) , intent(in) :: operationA
4103 type(uppDia_type) , intent(in) :: subset
4104 type(hermitian_type) , intent(in) :: class
4105 end subroutine
4106#endif
4107
4108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4109
4110#if CK5_ENABLED
4111 PURE module subroutine shrk_EXP_CHM_SUD_OTP_CK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4113 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_CK5
4114#endif
4115 use pm_kind, only: CKG => CK5
4116 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4117 complex(CKG) , intent(in) :: alpha, beta
4118 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4119 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4120 type(trans_type) , intent(in) :: operationA
4121 type(uppDia_type) , intent(in) :: subset
4122 type(hermitian_type) , intent(in) :: class
4123 end subroutine
4124#endif
4125
4126#if CK4_ENABLED
4127 PURE module subroutine shrk_EXP_CHM_SUD_OTP_CK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4129 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_CK4
4130#endif
4131 use pm_kind, only: CKG => CK4
4132 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4133 complex(CKG) , intent(in) :: alpha, beta
4134 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4135 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4136 type(trans_type) , intent(in) :: operationA
4137 type(uppDia_type) , intent(in) :: subset
4138 type(hermitian_type) , intent(in) :: class
4139 end subroutine
4140#endif
4141
4142#if CK3_ENABLED
4143 PURE module subroutine shrk_EXP_CHM_SUD_OTP_CK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4145 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_CK3
4146#endif
4147 use pm_kind, only: CKG => CK3
4148 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4149 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4150 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4151 complex(CKG) , intent(in) :: alpha, beta
4152 type(trans_type) , intent(in) :: operationA
4153 type(uppDia_type) , intent(in) :: subset
4154 type(hermitian_type) , intent(in) :: class
4155 end subroutine
4156#endif
4157
4158#if CK2_ENABLED
4159 PURE module subroutine shrk_EXP_CHM_SUD_OTP_CK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4161 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_CK2
4162#endif
4163 use pm_kind, only: CKG => CK2
4164 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4165 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4166 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4167 complex(CKG) , intent(in) :: alpha, beta
4168 type(trans_type) , intent(in) :: operationA
4169 type(uppDia_type) , intent(in) :: subset
4170 type(hermitian_type) , intent(in) :: class
4171 end subroutine
4172#endif
4173
4174#if CK1_ENABLED
4175 PURE module subroutine shrk_EXP_CHM_SUD_OTP_CK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4177 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_CK1
4178#endif
4179 use pm_kind, only: CKG => CK1
4180 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4181 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4182 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4183 complex(CKG) , intent(in) :: alpha, beta
4184 type(trans_type) , intent(in) :: operationA
4185 type(uppDia_type) , intent(in) :: subset
4186 type(hermitian_type) , intent(in) :: class
4187 end subroutine
4188#endif
4189
4190 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4191
4192#if RK5_ENABLED
4193 PURE module subroutine shrk_EXP_CHM_SUD_OTP_RK5(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4195 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_RK5
4196#endif
4197 use pm_kind, only: RKG => RK5
4198 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4199 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4200 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4201 real(RKG) , intent(in) :: alpha, beta
4202 type(trans_type) , intent(in) :: operationA
4203 type(uppDia_type) , intent(in) :: subset
4204 type(hermitian_type) , intent(in) :: class
4205 end subroutine
4206#endif
4207
4208#if RK4_ENABLED
4209 PURE module subroutine shrk_EXP_CHM_SUD_OTP_RK4(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4211 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_RK4
4212#endif
4213 use pm_kind, only: RKG => RK4
4214 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4215 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4216 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4217 real(RKG) , intent(in) :: alpha, beta
4218 type(trans_type) , intent(in) :: operationA
4219 type(uppDia_type) , intent(in) :: subset
4220 type(hermitian_type) , intent(in) :: class
4221 end subroutine
4222#endif
4223
4224#if RK3_ENABLED
4225 PURE module subroutine shrk_EXP_CHM_SUD_OTP_RK3(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4227 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_RK3
4228#endif
4229 use pm_kind, only: RKG => RK3
4230 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4231 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4232 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4233 real(RKG) , intent(in) :: alpha, beta
4234 type(trans_type) , intent(in) :: operationA
4235 type(uppDia_type) , intent(in) :: subset
4236 type(hermitian_type) , intent(in) :: class
4237 end subroutine
4238#endif
4239
4240#if RK2_ENABLED
4241 PURE module subroutine shrk_EXP_CHM_SUD_OTP_RK2(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4243 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_RK2
4244#endif
4245 use pm_kind, only: RKG => RK2
4246 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4247 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4248 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4249 real(RKG) , intent(in) :: alpha, beta
4250 type(trans_type) , intent(in) :: operationA
4251 type(uppDia_type) , intent(in) :: subset
4252 type(hermitian_type) , intent(in) :: class
4253 end subroutine
4254#endif
4255
4256#if RK1_ENABLED
4257 PURE module subroutine shrk_EXP_CHM_SUD_OTP_RK1(mat, class, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
4258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4259 !DEC$ ATTRIBUTES DLLEXPORT :: shrk_EXP_CHM_SUD_OTP_RK1
4260#endif
4261 use pm_kind, only: RKG => RK1
4262 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
4263 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4264 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
4265 real(RKG) , intent(in) :: alpha, beta
4266 type(trans_type) , intent(in) :: operationA
4267 type(uppDia_type) , intent(in) :: subset
4268 type(hermitian_type) , intent(in) :: class
4269 end subroutine
4270#endif
4271
4272 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4273
4274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4276 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4277
4278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4279 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4280 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4281
4282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4283 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4284 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4285
4286 end interface
4287
4288!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4289
4381
4382 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4383 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4384 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4385
4386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4387
4388#if IK5_ENABLED
4389 PURE module subroutine setMatUpdateR1F_IK5(mat, vecA, vecB, incA, incB, roff)
4390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4391 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_IK5
4392#endif
4393 use pm_kind, only: IKG => IK5
4394 integer(IK) , intent(in) :: incA, incB, roff
4395 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4396 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4397 end subroutine
4398#endif
4399
4400#if IK4_ENABLED
4401 PURE module subroutine setMatUpdateR1F_IK4(mat, vecA, vecB, incA, incB, roff)
4402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4403 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_IK4
4404#endif
4405 use pm_kind, only: IKG => IK4
4406 integer(IK) , intent(in) :: incA, incB, roff
4407 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4408 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4409 end subroutine
4410#endif
4411
4412#if IK3_ENABLED
4413 PURE module subroutine setMatUpdateR1F_IK3(mat, vecA, vecB, incA, incB, roff)
4414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4415 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_IK3
4416#endif
4417 use pm_kind, only: IKG => IK3
4418 integer(IK) , intent(in) :: incA, incB, roff
4419 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4420 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4421 end subroutine
4422#endif
4423
4424#if IK2_ENABLED
4425 PURE module subroutine setMatUpdateR1F_IK2(mat, vecA, vecB, incA, incB, roff)
4426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4427 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_IK2
4428#endif
4429 use pm_kind, only: IKG => IK2
4430 integer(IK) , intent(in) :: incA, incB, roff
4431 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4432 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4433 end subroutine
4434#endif
4435
4436#if IK1_ENABLED
4437 PURE module subroutine setMatUpdateR1F_IK1(mat, vecA, vecB, incA, incB, roff)
4438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4439 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_IK1
4440#endif
4441 use pm_kind, only: IKG => IK1
4442 integer(IK) , intent(in) :: incA, incB, roff
4443 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4444 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4445 end subroutine
4446#endif
4447
4448 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4449
4450#if CK5_ENABLED
4451 PURE module subroutine setMatUpdateR1H_CK5(mat, vecA, vecB, operationB, incA, incB, roff)
4452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4453 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1H_CK5
4454#endif
4455 use pm_kind, only: CKG => CK5
4456 integer(IK) , intent(in) :: incA, incB, roff
4457 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4458 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4459 type(transHerm_type) , intent(in) :: operationB
4460 end subroutine
4461#endif
4462
4463#if CK4_ENABLED
4464 PURE module subroutine setMatUpdateR1H_CK4(mat, vecA, vecB, operationB, incA, incB, roff)
4465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4466 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1H_CK4
4467#endif
4468 use pm_kind, only: CKG => CK4
4469 integer(IK) , intent(in) :: incA, incB, roff
4470 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4471 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4472 type(transHerm_type) , intent(in) :: operationB
4473 end subroutine
4474#endif
4475
4476#if CK3_ENABLED
4477 PURE module subroutine setMatUpdateR1H_CK3(mat, vecA, vecB, operationB, incA, incB, roff)
4478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4479 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1H_CK3
4480#endif
4481 use pm_kind, only: CKG => CK3
4482 integer(IK) , intent(in) :: incA, incB, roff
4483 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4484 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4485 type(transHerm_type) , intent(in) :: operationB
4486 end subroutine
4487#endif
4488
4489#if CK2_ENABLED
4490 PURE module subroutine setMatUpdateR1H_CK2(mat, vecA, vecB, operationB, incA, incB, roff)
4491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4492 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1H_CK2
4493#endif
4494 use pm_kind, only: CKG => CK2
4495 integer(IK) , intent(in) :: incA, incB, roff
4496 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4497 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4498 type(transHerm_type) , intent(in) :: operationB
4499 end subroutine
4500#endif
4501
4502#if CK1_ENABLED
4503 PURE module subroutine setMatUpdateR1H_CK1(mat, vecA, vecB, operationB, incA, incB, roff)
4504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4505 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1H_CK1
4506#endif
4507 use pm_kind, only: CKG => CK1
4508 integer(IK) , intent(in) :: incA, incB, roff
4509 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4510 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4511 type(transHerm_type) , intent(in) :: operationB
4512 end subroutine
4513#endif
4514
4515 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4516
4517#if CK5_ENABLED
4518 PURE module subroutine setMatUpdateR1F_CK5(mat, vecA, vecB, incA, incB, roff)
4519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4520 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_CK5
4521#endif
4522 use pm_kind, only: CKG => CK5
4523 integer(IK) , intent(in) :: incA, incB, roff
4524 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4525 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4526 end subroutine
4527#endif
4528
4529#if CK4_ENABLED
4530 PURE module subroutine setMatUpdateR1F_CK4(mat, vecA, vecB, incA, incB, roff)
4531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4532 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_CK4
4533#endif
4534 use pm_kind, only: CKG => CK4
4535 integer(IK) , intent(in) :: incA, incB, roff
4536 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4537 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4538 end subroutine
4539#endif
4540
4541#if CK3_ENABLED
4542 PURE module subroutine setMatUpdateR1F_CK3(mat, vecA, vecB, incA, incB, roff)
4543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4544 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_CK3
4545#endif
4546 use pm_kind, only: CKG => CK3
4547 integer(IK) , intent(in) :: incA, incB, roff
4548 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4549 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4550 end subroutine
4551#endif
4552
4553#if CK2_ENABLED
4554 PURE module subroutine setMatUpdateR1F_CK2(mat, vecA, vecB, incA, incB, roff)
4555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4556 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_CK2
4557#endif
4558 use pm_kind, only: CKG => CK2
4559 integer(IK) , intent(in) :: incA, incB, roff
4560 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4561 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4562 end subroutine
4563#endif
4564
4565#if CK1_ENABLED
4566 PURE module subroutine setMatUpdateR1F_CK1(mat, vecA, vecB, incA, incB, roff)
4567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4568 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_CK1
4569#endif
4570 use pm_kind, only: CKG => CK1
4571 integer(IK) , intent(in) :: incA, incB, roff
4572 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4573 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4574 end subroutine
4575#endif
4576
4577 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4578
4579#if RK5_ENABLED
4580 PURE module subroutine setMatUpdateR1F_RK5(mat, vecA, vecB, incA, incB, roff)
4581#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4582 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_RK5
4583#endif
4584 use pm_kind, only: RKG => RK5
4585 integer(IK) , intent(in) :: incA, incB, roff
4586 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4587 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4588 end subroutine
4589#endif
4590
4591#if RK4_ENABLED
4592 PURE module subroutine setMatUpdateR1F_RK4(mat, vecA, vecB, incA, incB, roff)
4593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4594 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_RK4
4595#endif
4596 use pm_kind, only: RKG => RK4
4597 integer(IK) , intent(in) :: incA, incB, roff
4598 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4599 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4600 end subroutine
4601#endif
4602
4603#if RK3_ENABLED
4604 PURE module subroutine setMatUpdateR1F_RK3(mat, vecA, vecB, incA, incB, roff)
4605#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4606 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_RK3
4607#endif
4608 use pm_kind, only: RKG => RK3
4609 integer(IK) , intent(in) :: incA, incB, roff
4610 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4611 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4612 end subroutine
4613#endif
4614
4615#if RK2_ENABLED
4616 PURE module subroutine setMatUpdateR1F_RK2(mat, vecA, vecB, incA, incB, roff)
4617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4618 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_RK2
4619#endif
4620 use pm_kind, only: RKG => RK2
4621 integer(IK) , intent(in) :: incA, incB, roff
4622 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4623 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4624 end subroutine
4625#endif
4626
4627#if RK1_ENABLED
4628 PURE module subroutine setMatUpdateR1F_RK1(mat, vecA, vecB, incA, incB, roff)
4629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4630 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1F_RK1
4631#endif
4632 use pm_kind, only: RKG => RK1
4633 integer(IK) , intent(in) :: incA, incB, roff
4634 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4635 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4636 end subroutine
4637#endif
4638
4639 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4640
4641 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4642 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4643 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4644
4645 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4646
4647#if IK5_ENABLED
4648 PURE module subroutine setMatUpdateR1A_IK5(mat, vecA, vecB, alpha, incA, incB, roff)
4649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4650 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_IK5
4651#endif
4652 use pm_kind, only: IKG => IK5
4653 integer(IK) , intent(in) :: incA, incB, roff
4654 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4655 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4656 integer(IKG) , intent(in) :: alpha
4657 end subroutine
4658#endif
4659
4660#if IK4_ENABLED
4661 PURE module subroutine setMatUpdateR1A_IK4(mat, vecA, vecB, alpha, incA, incB, roff)
4662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4663 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_IK4
4664#endif
4665 use pm_kind, only: IKG => IK4
4666 integer(IK) , intent(in) :: incA, incB, roff
4667 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4668 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4669 integer(IKG) , intent(in) :: alpha
4670 end subroutine
4671#endif
4672
4673#if IK3_ENABLED
4674 PURE module subroutine setMatUpdateR1A_IK3(mat, vecA, vecB, alpha, incA, incB, roff)
4675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4676 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_IK3
4677#endif
4678 use pm_kind, only: IKG => IK3
4679 integer(IK) , intent(in) :: incA, incB, roff
4680 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4681 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4682 integer(IKG) , intent(in) :: alpha
4683 end subroutine
4684#endif
4685
4686#if IK2_ENABLED
4687 PURE module subroutine setMatUpdateR1A_IK2(mat, vecA, vecB, alpha, incA, incB, roff)
4688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4689 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_IK2
4690#endif
4691 use pm_kind, only: IKG => IK2
4692 integer(IK) , intent(in) :: incA, incB, roff
4693 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4694 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4695 integer(IKG) , intent(in) :: alpha
4696 end subroutine
4697#endif
4698
4699#if IK1_ENABLED
4700 PURE module subroutine setMatUpdateR1A_IK1(mat, vecA, vecB, alpha, incA, incB, roff)
4701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4702 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_IK1
4703#endif
4704 use pm_kind, only: IKG => IK1
4705 integer(IK) , intent(in) :: incA, incB, roff
4706 integer(IKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4707 integer(IKG) , intent(inout) , contiguous :: mat(:,:)
4708 integer(IKG) , intent(in) :: alpha
4709 end subroutine
4710#endif
4711
4712 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4713
4714#if CK5_ENABLED
4715 PURE module subroutine setMatUpdateR1AH_CK5(mat, vecA, vecB, operationB, alpha, incA, incB, roff)
4716#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4717 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1AH_CK5
4718#endif
4719 use pm_kind, only: CKG => CK5
4720 integer(IK) , intent(in) :: incA, incB, roff
4721 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4722 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4723 complex(CKG) , intent(in) :: alpha
4724 type(transHerm_type) , intent(in) :: operationB
4725 end subroutine
4726#endif
4727
4728#if CK4_ENABLED
4729 PURE module subroutine setMatUpdateR1AH_CK4(mat, vecA, vecB, operationB, alpha, incA, incB, roff)
4730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4731 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1AH_CK4
4732#endif
4733 use pm_kind, only: CKG => CK4
4734 integer(IK) , intent(in) :: incA, incB, roff
4735 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4736 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4737 complex(CKG) , intent(in) :: alpha
4738 type(transHerm_type) , intent(in) :: operationB
4739 end subroutine
4740#endif
4741
4742#if CK3_ENABLED
4743 PURE module subroutine setMatUpdateR1AH_CK3(mat, vecA, vecB, operationB, alpha, incA, incB, roff)
4744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4745 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1AH_CK3
4746#endif
4747 use pm_kind, only: CKG => CK3
4748 integer(IK) , intent(in) :: incA, incB, roff
4749 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4750 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4751 complex(CKG) , intent(in) :: alpha
4752 type(transHerm_type) , intent(in) :: operationB
4753 end subroutine
4754#endif
4755
4756#if CK2_ENABLED
4757 PURE module subroutine setMatUpdateR1AH_CK2(mat, vecA, vecB, operationB, alpha, incA, incB, roff)
4758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4759 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1AH_CK2
4760#endif
4761 use pm_kind, only: CKG => CK2
4762 integer(IK) , intent(in) :: incA, incB, roff
4763 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4764 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4765 complex(CKG) , intent(in) :: alpha
4766 type(transHerm_type) , intent(in) :: operationB
4767 end subroutine
4768#endif
4769
4770#if CK1_ENABLED
4771 PURE module subroutine setMatUpdateR1AH_CK1(mat, vecA, vecB, operationB, alpha, incA, incB, roff)
4772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4773 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1AH_CK1
4774#endif
4775 use pm_kind, only: CKG => CK1
4776 integer(IK) , intent(in) :: incA, incB, roff
4777 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4778 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4779 complex(CKG) , intent(in) :: alpha
4780 type(transHerm_type) , intent(in) :: operationB
4781 end subroutine
4782#endif
4783
4784 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4785
4786#if CK5_ENABLED
4787 PURE module subroutine setMatUpdateR1A_CK5(mat, vecA, vecB, alpha, incA, incB, roff)
4788#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4789 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_CK5
4790#endif
4791 use pm_kind, only: CKG => CK5
4792 integer(IK) , intent(in) :: incA, incB, roff
4793 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4794 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4795 complex(CKG) , intent(in) :: alpha
4796 end subroutine
4797#endif
4798
4799#if CK4_ENABLED
4800 PURE module subroutine setMatUpdateR1A_CK4(mat, vecA, vecB, alpha, incA, incB, roff)
4801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4802 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_CK4
4803#endif
4804 use pm_kind, only: CKG => CK4
4805 integer(IK) , intent(in) :: incA, incB, roff
4806 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4807 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4808 complex(CKG) , intent(in) :: alpha
4809 end subroutine
4810#endif
4811
4812#if CK3_ENABLED
4813 PURE module subroutine setMatUpdateR1A_CK3(mat, vecA, vecB, alpha, incA, incB, roff)
4814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4815 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_CK3
4816#endif
4817 use pm_kind, only: CKG => CK3
4818 integer(IK) , intent(in) :: incA, incB, roff
4819 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4820 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4821 complex(CKG) , intent(in) :: alpha
4822 end subroutine
4823#endif
4824
4825#if CK2_ENABLED
4826 PURE module subroutine setMatUpdateR1A_CK2(mat, vecA, vecB, alpha, incA, incB, roff)
4827#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4828 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_CK2
4829#endif
4830 use pm_kind, only: CKG => CK2
4831 integer(IK) , intent(in) :: incA, incB, roff
4832 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4833 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4834 complex(CKG) , intent(in) :: alpha
4835 end subroutine
4836#endif
4837
4838#if CK1_ENABLED
4839 PURE module subroutine setMatUpdateR1A_CK1(mat, vecA, vecB, alpha, incA, incB, roff)
4840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4841 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_CK1
4842#endif
4843 use pm_kind, only: CKG => CK1
4844 integer(IK) , intent(in) :: incA, incB, roff
4845 complex(CKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4846 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
4847 complex(CKG) , intent(in) :: alpha
4848 end subroutine
4849#endif
4850
4851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4852
4853#if RK5_ENABLED
4854 PURE module subroutine setMatUpdateR1A_RK5(mat, vecA, vecB, alpha, incA, incB, roff)
4855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4856 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_RK5
4857#endif
4858 use pm_kind, only: RKG => RK5
4859 integer(IK) , intent(in) :: incA, incB, roff
4860 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4861 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4862 real(RKG) , intent(in) :: alpha
4863 end subroutine
4864#endif
4865
4866#if RK4_ENABLED
4867 PURE module subroutine setMatUpdateR1A_RK4(mat, vecA, vecB, alpha, incA, incB, roff)
4868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4869 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_RK4
4870#endif
4871 use pm_kind, only: RKG => RK4
4872 integer(IK) , intent(in) :: incA, incB, roff
4873 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4874 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4875 real(RKG) , intent(in) :: alpha
4876 end subroutine
4877#endif
4878
4879#if RK3_ENABLED
4880 PURE module subroutine setMatUpdateR1A_RK3(mat, vecA, vecB, alpha, incA, incB, roff)
4881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4882 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_RK3
4883#endif
4884 use pm_kind, only: RKG => RK3
4885 integer(IK) , intent(in) :: incA, incB, roff
4886 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4887 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4888 real(RKG) , intent(in) :: alpha
4889 end subroutine
4890#endif
4891
4892#if RK2_ENABLED
4893 PURE module subroutine setMatUpdateR1A_RK2(mat, vecA, vecB, alpha, incA, incB, roff)
4894#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4895 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_RK2
4896#endif
4897 use pm_kind, only: RKG => RK2
4898 integer(IK) , intent(in) :: incA, incB, roff
4899 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4900 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4901 real(RKG) , intent(in) :: alpha
4902 end subroutine
4903#endif
4904
4905#if RK1_ENABLED
4906 PURE module subroutine setMatUpdateR1A_RK1(mat, vecA, vecB, alpha, incA, incB, roff)
4907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4908 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateR1A_RK1
4909#endif
4910 use pm_kind, only: RKG => RK1
4911 integer(IK) , intent(in) :: incA, incB, roff
4912 real(RKG) , intent(in) , contiguous :: vecA(:), vecB(:)
4913 real(RKG) , intent(inout) , contiguous :: mat(:,:)
4914 real(RKG) , intent(in) :: alpha
4915 end subroutine
4916#endif
4917
4918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4919
4920 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4921 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4922 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4923
4924 end interface
4925
4926!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4927
5096
5097 ! naming convention:
5098 ! setMatUpdateTriangCSOLXX
5099 ! ||||||
5100 ! ||||||
5101 ! ||||A/S/H => asis/Symmetric/Hermitian
5102 ! |||L/U => LowDia/UppDia
5103 ! ||O => offset
5104 ! |S => shape
5105 ! C => coefficients
5106
5107 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5110
5111 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5112
5113#if IK5_ENABLED
5114 PURE module subroutine setMatUpdateTriangCSOLAS_IK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5115#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5116 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_IK5
5117#endif
5118 use pm_kind, only: IKG => IK5
5119 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5120 integer(IKG) , intent(in) :: alpha, beta
5121 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5122 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5123 type(lowDia_type) , intent(in) :: subset
5124 end subroutine
5125#endif
5126
5127#if IK4_ENABLED
5128 PURE module subroutine setMatUpdateTriangCSOLAS_IK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5130 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_IK4
5131#endif
5132 use pm_kind, only: IKG => IK4
5133 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5134 integer(IKG) , intent(in) :: alpha, beta
5135 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5136 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5137 type(lowDia_type) , intent(in) :: subset
5138 end subroutine
5139#endif
5140
5141#if IK3_ENABLED
5142 PURE module subroutine setMatUpdateTriangCSOLAS_IK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5143#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5144 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_IK3
5145#endif
5146 use pm_kind, only: IKG => IK3
5147 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5148 integer(IKG) , intent(in) :: alpha, beta
5149 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5150 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5151 type(lowDia_type) , intent(in) :: subset
5152 end subroutine
5153#endif
5154
5155#if IK2_ENABLED
5156 PURE module subroutine setMatUpdateTriangCSOLAS_IK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5158 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_IK2
5159#endif
5160 use pm_kind, only: IKG => IK2
5161 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5162 integer(IKG) , intent(in) :: alpha, beta
5163 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5164 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5165 type(lowDia_type) , intent(in) :: subset
5166 end subroutine
5167#endif
5168
5169#if IK1_ENABLED
5170 PURE module subroutine setMatUpdateTriangCSOLAS_IK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5172 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_IK1
5173#endif
5174 use pm_kind, only: IKG => IK1
5175 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5176 integer(IKG) , intent(in) :: alpha, beta
5177 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5178 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5179 type(lowDia_type) , intent(in) :: subset
5180 end subroutine
5181#endif
5182
5183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5184
5185#if CK5_ENABLED
5186 PURE module subroutine setMatUpdateTriangCSOLAS_CK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5187#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5188 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_CK5
5189#endif
5190 use pm_kind, only: CKG => CK5
5191 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5192 complex(CKG) , intent(in) :: alpha, beta
5193 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5194 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5195 type(lowDia_type) , intent(in) :: subset
5196 end subroutine
5197#endif
5198
5199#if CK4_ENABLED
5200 PURE module subroutine setMatUpdateTriangCSOLAS_CK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5202 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_CK4
5203#endif
5204 use pm_kind, only: CKG => CK4
5205 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5206 complex(CKG) , intent(in) :: alpha, beta
5207 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5208 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5209 type(lowDia_type) , intent(in) :: subset
5210 end subroutine
5211#endif
5212
5213#if CK3_ENABLED
5214 PURE module subroutine setMatUpdateTriangCSOLAS_CK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5216 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_CK3
5217#endif
5218 use pm_kind, only: CKG => CK3
5219 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5220 complex(CKG) , intent(in) :: alpha, beta
5221 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5222 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5223 type(lowDia_type) , intent(in) :: subset
5224 end subroutine
5225#endif
5226
5227#if CK2_ENABLED
5228 PURE module subroutine setMatUpdateTriangCSOLAS_CK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5230 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_CK2
5231#endif
5232 use pm_kind, only: CKG => CK2
5233 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5234 complex(CKG) , intent(in) :: alpha, beta
5235 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5236 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5237 type(lowDia_type) , intent(in) :: subset
5238 end subroutine
5239#endif
5240
5241#if CK1_ENABLED
5242 PURE module subroutine setMatUpdateTriangCSOLAS_CK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5244 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_CK1
5245#endif
5246 use pm_kind, only: CKG => CK1
5247 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5248 complex(CKG) , intent(in) :: alpha, beta
5249 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5250 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5251 type(lowDia_type) , intent(in) :: subset
5252 end subroutine
5253#endif
5254
5255 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5256
5257#if RK5_ENABLED
5258 PURE module subroutine setMatUpdateTriangCSOLAS_RK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5260 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_RK5
5261#endif
5262 use pm_kind, only: RKG => RK5
5263 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5264 real(RKG) , intent(in) :: alpha, beta
5265 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5266 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5267 type(lowDia_type) , intent(in) :: subset
5268 end subroutine
5269#endif
5270
5271#if RK4_ENABLED
5272 PURE module subroutine setMatUpdateTriangCSOLAS_RK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5274 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_RK4
5275#endif
5276 use pm_kind, only: RKG => RK4
5277 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5278 real(RKG) , intent(in) :: alpha, beta
5279 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5280 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5281 type(lowDia_type) , intent(in) :: subset
5282 end subroutine
5283#endif
5284
5285#if RK3_ENABLED
5286 PURE module subroutine setMatUpdateTriangCSOLAS_RK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5288 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_RK3
5289#endif
5290 use pm_kind, only: RKG => RK3
5291 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5292 real(RKG) , intent(in) :: alpha, beta
5293 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5294 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5295 type(lowDia_type) , intent(in) :: subset
5296 end subroutine
5297#endif
5298
5299#if RK2_ENABLED
5300 PURE module subroutine setMatUpdateTriangCSOLAS_RK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5302 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_RK2
5303#endif
5304 use pm_kind, only: RKG => RK2
5305 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5306 real(RKG) , intent(in) :: alpha, beta
5307 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5308 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5309 type(lowDia_type) , intent(in) :: subset
5310 end subroutine
5311#endif
5312
5313#if RK1_ENABLED
5314 PURE module subroutine setMatUpdateTriangCSOLAS_RK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5316 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAS_RK1
5317#endif
5318 use pm_kind, only: RKG => RK1
5319 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5320 real(RKG) , intent(in) :: alpha, beta
5321 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5322 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5323 type(lowDia_type) , intent(in) :: subset
5324 end subroutine
5325#endif
5326
5327 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5328
5329 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5330 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5331 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5332
5333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5334
5335#if IK5_ENABLED
5336 PURE module subroutine setMatUpdateTriangCSOLSA_IK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5337#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5338 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_IK5
5339#endif
5340 use pm_kind, only: IKG => IK5
5341 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5342 integer(IKG) , intent(in) :: alpha, beta
5343 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5344 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5345 type(lowDia_type) , intent(in) :: subset
5346 type(transSymm_type) , intent(in) :: operationA
5347 end subroutine
5348#endif
5349
5350#if IK4_ENABLED
5351 PURE module subroutine setMatUpdateTriangCSOLSA_IK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5353 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_IK4
5354#endif
5355 use pm_kind, only: IKG => IK4
5356 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5357 integer(IKG) , intent(in) :: alpha, beta
5358 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5359 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5360 type(lowDia_type) , intent(in) :: subset
5361 type(transSymm_type) , intent(in) :: operationA
5362 end subroutine
5363#endif
5364
5365#if IK3_ENABLED
5366 PURE module subroutine setMatUpdateTriangCSOLSA_IK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5368 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_IK3
5369#endif
5370 use pm_kind, only: IKG => IK3
5371 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5372 integer(IKG) , intent(in) :: alpha, beta
5373 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5374 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5375 type(lowDia_type) , intent(in) :: subset
5376 type(transSymm_type) , intent(in) :: operationA
5377 end subroutine
5378#endif
5379
5380#if IK2_ENABLED
5381 PURE module subroutine setMatUpdateTriangCSOLSA_IK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5383 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_IK2
5384#endif
5385 use pm_kind, only: IKG => IK2
5386 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5387 integer(IKG) , intent(in) :: alpha, beta
5388 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5389 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5390 type(lowDia_type) , intent(in) :: subset
5391 type(transSymm_type) , intent(in) :: operationA
5392 end subroutine
5393#endif
5394
5395#if IK1_ENABLED
5396 PURE module subroutine setMatUpdateTriangCSOLSA_IK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5398 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_IK1
5399#endif
5400 use pm_kind, only: IKG => IK1
5401 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5402 integer(IKG) , intent(in) :: alpha, beta
5403 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5404 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5405 type(lowDia_type) , intent(in) :: subset
5406 type(transSymm_type) , intent(in) :: operationA
5407 end subroutine
5408#endif
5409
5410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5411
5412#if CK5_ENABLED
5413 PURE module subroutine setMatUpdateTriangCSOLSA_CK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5415 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_CK5
5416#endif
5417 use pm_kind, only: CKG => CK5
5418 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5419 complex(CKG) , intent(in) :: alpha, beta
5420 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5421 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5422 type(lowDia_type) , intent(in) :: subset
5423 type(transSymm_type) , intent(in) :: operationA
5424 end subroutine
5425#endif
5426
5427#if CK4_ENABLED
5428 PURE module subroutine setMatUpdateTriangCSOLSA_CK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5430 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_CK4
5431#endif
5432 use pm_kind, only: CKG => CK4
5433 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5434 complex(CKG) , intent(in) :: alpha, beta
5435 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5436 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5437 type(lowDia_type) , intent(in) :: subset
5438 type(transSymm_type) , intent(in) :: operationA
5439 end subroutine
5440#endif
5441
5442#if CK3_ENABLED
5443 PURE module subroutine setMatUpdateTriangCSOLSA_CK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5445 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_CK3
5446#endif
5447 use pm_kind, only: CKG => CK3
5448 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5449 complex(CKG) , intent(in) :: alpha, beta
5450 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5451 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5452 type(lowDia_type) , intent(in) :: subset
5453 type(transSymm_type) , intent(in) :: operationA
5454 end subroutine
5455#endif
5456
5457#if CK2_ENABLED
5458 PURE module subroutine setMatUpdateTriangCSOLSA_CK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5460 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_CK2
5461#endif
5462 use pm_kind, only: CKG => CK2
5463 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5464 complex(CKG) , intent(in) :: alpha, beta
5465 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5466 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5467 type(lowDia_type) , intent(in) :: subset
5468 type(transSymm_type) , intent(in) :: operationA
5469 end subroutine
5470#endif
5471
5472#if CK1_ENABLED
5473 PURE module subroutine setMatUpdateTriangCSOLSA_CK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5474#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5475 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_CK1
5476#endif
5477 use pm_kind, only: CKG => CK1
5478 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5479 complex(CKG) , intent(in) :: alpha, beta
5480 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5481 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5482 type(lowDia_type) , intent(in) :: subset
5483 type(transSymm_type) , intent(in) :: operationA
5484 end subroutine
5485#endif
5486
5487 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5488
5489#if RK5_ENABLED
5490 PURE module subroutine setMatUpdateTriangCSOLSA_RK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5492 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_RK5
5493#endif
5494 use pm_kind, only: RKG => RK5
5495 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5496 real(RKG) , intent(in) :: alpha, beta
5497 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5498 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5499 type(lowDia_type) , intent(in) :: subset
5500 type(transSymm_type) , intent(in) :: operationA
5501 end subroutine
5502#endif
5503
5504#if RK4_ENABLED
5505 PURE module subroutine setMatUpdateTriangCSOLSA_RK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5507 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_RK4
5508#endif
5509 use pm_kind, only: RKG => RK4
5510 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5511 real(RKG) , intent(in) :: alpha, beta
5512 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5513 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5514 type(lowDia_type) , intent(in) :: subset
5515 type(transSymm_type) , intent(in) :: operationA
5516 end subroutine
5517#endif
5518
5519#if RK3_ENABLED
5520 PURE module subroutine setMatUpdateTriangCSOLSA_RK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5522 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_RK3
5523#endif
5524 use pm_kind, only: RKG => RK3
5525 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5526 real(RKG) , intent(in) :: alpha, beta
5527 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5528 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5529 type(lowDia_type) , intent(in) :: subset
5530 type(transSymm_type) , intent(in) :: operationA
5531 end subroutine
5532#endif
5533
5534#if RK2_ENABLED
5535 PURE module subroutine setMatUpdateTriangCSOLSA_RK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5537 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_RK2
5538#endif
5539 use pm_kind, only: RKG => RK2
5540 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5541 real(RKG) , intent(in) :: alpha, beta
5542 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5543 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5544 type(lowDia_type) , intent(in) :: subset
5545 type(transSymm_type) , intent(in) :: operationA
5546 end subroutine
5547#endif
5548
5549#if RK1_ENABLED
5550 PURE module subroutine setMatUpdateTriangCSOLSA_RK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5552 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLSA_RK1
5553#endif
5554 use pm_kind, only: RKG => RK1
5555 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5556 real(RKG) , intent(in) :: alpha, beta
5557 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5558 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5559 type(lowDia_type) , intent(in) :: subset
5560 type(transSymm_type) , intent(in) :: operationA
5561 end subroutine
5562#endif
5563
5564 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5565
5566 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5567 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5568 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5569
5570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5571
5572#if IK5_ENABLED
5573 PURE module subroutine setMatUpdateTriangCSOUAS_IK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5575 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_IK5
5576#endif
5577 use pm_kind, only: IKG => IK5
5578 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5579 integer(IKG) , intent(in) :: alpha, beta
5580 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5581 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5582 type(uppDia_type) , intent(in) :: subset
5583 end subroutine
5584#endif
5585
5586#if IK4_ENABLED
5587 PURE module subroutine setMatUpdateTriangCSOUAS_IK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5589 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_IK4
5590#endif
5591 use pm_kind, only: IKG => IK4
5592 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5593 integer(IKG) , intent(in) :: alpha, beta
5594 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5595 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5596 type(uppDia_type) , intent(in) :: subset
5597 end subroutine
5598#endif
5599
5600#if IK3_ENABLED
5601 PURE module subroutine setMatUpdateTriangCSOUAS_IK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5602#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5603 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_IK3
5604#endif
5605 use pm_kind, only: IKG => IK3
5606 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5607 integer(IKG) , intent(in) :: alpha, beta
5608 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5609 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5610 type(uppDia_type) , intent(in) :: subset
5611 end subroutine
5612#endif
5613
5614#if IK2_ENABLED
5615 PURE module subroutine setMatUpdateTriangCSOUAS_IK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5617 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_IK2
5618#endif
5619 use pm_kind, only: IKG => IK2
5620 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5621 integer(IKG) , intent(in) :: alpha, beta
5622 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5623 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5624 type(uppDia_type) , intent(in) :: subset
5625 end subroutine
5626#endif
5627
5628#if IK1_ENABLED
5629 PURE module subroutine setMatUpdateTriangCSOUAS_IK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5631 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_IK1
5632#endif
5633 use pm_kind, only: IKG => IK1
5634 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5635 integer(IKG) , intent(in) :: alpha, beta
5636 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5637 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5638 type(uppDia_type) , intent(in) :: subset
5639 end subroutine
5640#endif
5641
5642 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5643
5644#if CK5_ENABLED
5645 PURE module subroutine setMatUpdateTriangCSOUAS_CK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5646#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5647 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_CK5
5648#endif
5649 use pm_kind, only: CKG => CK5
5650 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5651 complex(CKG) , intent(in) :: alpha, beta
5652 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5653 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5654 type(uppDia_type) , intent(in) :: subset
5655 end subroutine
5656#endif
5657
5658#if CK4_ENABLED
5659 PURE module subroutine setMatUpdateTriangCSOUAS_CK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5661 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_CK4
5662#endif
5663 use pm_kind, only: CKG => CK4
5664 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5665 complex(CKG) , intent(in) :: alpha, beta
5666 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5667 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5668 type(uppDia_type) , intent(in) :: subset
5669 end subroutine
5670#endif
5671
5672#if CK3_ENABLED
5673 PURE module subroutine setMatUpdateTriangCSOUAS_CK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5675 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_CK3
5676#endif
5677 use pm_kind, only: CKG => CK3
5678 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5679 complex(CKG) , intent(in) :: alpha, beta
5680 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5681 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5682 type(uppDia_type) , intent(in) :: subset
5683 end subroutine
5684#endif
5685
5686#if CK2_ENABLED
5687 PURE module subroutine setMatUpdateTriangCSOUAS_CK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5689 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_CK2
5690#endif
5691 use pm_kind, only: CKG => CK2
5692 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5693 complex(CKG) , intent(in) :: alpha, beta
5694 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5695 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5696 type(uppDia_type) , intent(in) :: subset
5697 end subroutine
5698#endif
5699
5700#if CK1_ENABLED
5701 PURE module subroutine setMatUpdateTriangCSOUAS_CK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5703 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_CK1
5704#endif
5705 use pm_kind, only: CKG => CK1
5706 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5707 complex(CKG) , intent(in) :: alpha, beta
5708 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5709 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5710 type(uppDia_type) , intent(in) :: subset
5711 end subroutine
5712#endif
5713
5714 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5715
5716#if RK5_ENABLED
5717 PURE module subroutine setMatUpdateTriangCSOUAS_RK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5719 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_RK5
5720#endif
5721 use pm_kind, only: RKG => RK5
5722 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5723 real(RKG) , intent(in) :: alpha, beta
5724 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5725 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5726 type(uppDia_type) , intent(in) :: subset
5727 end subroutine
5728#endif
5729
5730#if RK4_ENABLED
5731 PURE module subroutine setMatUpdateTriangCSOUAS_RK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5733 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_RK4
5734#endif
5735 use pm_kind, only: RKG => RK4
5736 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5737 real(RKG) , intent(in) :: alpha, beta
5738 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5739 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5740 type(uppDia_type) , intent(in) :: subset
5741 end subroutine
5742#endif
5743
5744#if RK3_ENABLED
5745 PURE module subroutine setMatUpdateTriangCSOUAS_RK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5747 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_RK3
5748#endif
5749 use pm_kind, only: RKG => RK3
5750 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5751 real(RKG) , intent(in) :: alpha, beta
5752 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5753 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5754 type(uppDia_type) , intent(in) :: subset
5755 end subroutine
5756#endif
5757
5758#if RK2_ENABLED
5759 PURE module subroutine setMatUpdateTriangCSOUAS_RK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5761 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_RK2
5762#endif
5763 use pm_kind, only: RKG => RK2
5764 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5765 real(RKG) , intent(in) :: alpha, beta
5766 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5767 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5768 type(uppDia_type) , intent(in) :: subset
5769 end subroutine
5770#endif
5771
5772#if RK1_ENABLED
5773 PURE module subroutine setMatUpdateTriangCSOUAS_RK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5775 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAS_RK1
5776#endif
5777 use pm_kind, only: RKG => RK1
5778 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5779 real(RKG) , intent(in) :: alpha, beta
5780 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5781 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5782 type(uppDia_type) , intent(in) :: subset
5783 end subroutine
5784#endif
5785
5786 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5787
5788 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5789 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5790 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5791
5792 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5793
5794#if IK5_ENABLED
5795 PURE module subroutine setMatUpdateTriangCSOUSA_IK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5797 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_IK5
5798#endif
5799 use pm_kind, only: IKG => IK5
5800 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5801 integer(IKG) , intent(in) :: alpha, beta
5802 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5803 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5804 type(uppDia_type) , intent(in) :: subset
5805 type(transSymm_type) , intent(in) :: operationA
5806 end subroutine
5807#endif
5808
5809#if IK4_ENABLED
5810 PURE module subroutine setMatUpdateTriangCSOUSA_IK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5812 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_IK4
5813#endif
5814 use pm_kind, only: IKG => IK4
5815 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5816 integer(IKG) , intent(in) :: alpha, beta
5817 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5818 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5819 type(uppDia_type) , intent(in) :: subset
5820 type(transSymm_type) , intent(in) :: operationA
5821 end subroutine
5822#endif
5823
5824#if IK3_ENABLED
5825 PURE module subroutine setMatUpdateTriangCSOUSA_IK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5827 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_IK3
5828#endif
5829 use pm_kind, only: IKG => IK3
5830 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5831 integer(IKG) , intent(in) :: alpha, beta
5832 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5833 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5834 type(uppDia_type) , intent(in) :: subset
5835 type(transSymm_type) , intent(in) :: operationA
5836 end subroutine
5837#endif
5838
5839#if IK2_ENABLED
5840 PURE module subroutine setMatUpdateTriangCSOUSA_IK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5842 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_IK2
5843#endif
5844 use pm_kind, only: IKG => IK2
5845 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5846 integer(IKG) , intent(in) :: alpha, beta
5847 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5848 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5849 type(uppDia_type) , intent(in) :: subset
5850 type(transSymm_type) , intent(in) :: operationA
5851 end subroutine
5852#endif
5853
5854#if IK1_ENABLED
5855 PURE module subroutine setMatUpdateTriangCSOUSA_IK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5857 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_IK1
5858#endif
5859 use pm_kind, only: IKG => IK1
5860 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5861 integer(IKG) , intent(in) :: alpha, beta
5862 integer(IKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5863 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5864 type(uppDia_type) , intent(in) :: subset
5865 type(transSymm_type) , intent(in) :: operationA
5866 end subroutine
5867#endif
5868
5869 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5870
5871#if CK5_ENABLED
5872 PURE module subroutine setMatUpdateTriangCSOUSA_CK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5874 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_CK5
5875#endif
5876 use pm_kind, only: CKG => CK5
5877 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5878 complex(CKG) , intent(in) :: alpha, beta
5879 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5880 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5881 type(uppDia_type) , intent(in) :: subset
5882 type(transSymm_type) , intent(in) :: operationA
5883 end subroutine
5884#endif
5885
5886#if CK4_ENABLED
5887 PURE module subroutine setMatUpdateTriangCSOUSA_CK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5889 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_CK4
5890#endif
5891 use pm_kind, only: CKG => CK4
5892 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5893 complex(CKG) , intent(in) :: alpha, beta
5894 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5895 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5896 type(uppDia_type) , intent(in) :: subset
5897 type(transSymm_type) , intent(in) :: operationA
5898 end subroutine
5899#endif
5900
5901#if CK3_ENABLED
5902 PURE module subroutine setMatUpdateTriangCSOUSA_CK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5904 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_CK3
5905#endif
5906 use pm_kind, only: CKG => CK3
5907 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5908 complex(CKG) , intent(in) :: alpha, beta
5909 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5910 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5911 type(uppDia_type) , intent(in) :: subset
5912 type(transSymm_type) , intent(in) :: operationA
5913 end subroutine
5914#endif
5915
5916#if CK2_ENABLED
5917 PURE module subroutine setMatUpdateTriangCSOUSA_CK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5918#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5919 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_CK2
5920#endif
5921 use pm_kind, only: CKG => CK2
5922 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5923 complex(CKG) , intent(in) :: alpha, beta
5924 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5925 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5926 type(uppDia_type) , intent(in) :: subset
5927 type(transSymm_type) , intent(in) :: operationA
5928 end subroutine
5929#endif
5930
5931#if CK1_ENABLED
5932 PURE module subroutine setMatUpdateTriangCSOUSA_CK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5934 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_CK1
5935#endif
5936 use pm_kind, only: CKG => CK1
5937 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5938 complex(CKG) , intent(in) :: alpha, beta
5939 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5940 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5941 type(uppDia_type) , intent(in) :: subset
5942 type(transSymm_type) , intent(in) :: operationA
5943 end subroutine
5944#endif
5945
5946 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5947
5948#if RK5_ENABLED
5949 PURE module subroutine setMatUpdateTriangCSOUSA_RK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5951 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_RK5
5952#endif
5953 use pm_kind, only: RKG => RK5
5954 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5955 real(RKG) , intent(in) :: alpha, beta
5956 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5957 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5958 type(uppDia_type) , intent(in) :: subset
5959 type(transSymm_type) , intent(in) :: operationA
5960 end subroutine
5961#endif
5962
5963#if RK4_ENABLED
5964 PURE module subroutine setMatUpdateTriangCSOUSA_RK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5966 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_RK4
5967#endif
5968 use pm_kind, only: RKG => RK4
5969 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5970 real(RKG) , intent(in) :: alpha, beta
5971 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5972 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5973 type(uppDia_type) , intent(in) :: subset
5974 type(transSymm_type) , intent(in) :: operationA
5975 end subroutine
5976#endif
5977
5978#if RK3_ENABLED
5979 PURE module subroutine setMatUpdateTriangCSOUSA_RK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5980#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5981 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_RK3
5982#endif
5983 use pm_kind, only: RKG => RK3
5984 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
5985 real(RKG) , intent(in) :: alpha, beta
5986 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
5987 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
5988 type(uppDia_type) , intent(in) :: subset
5989 type(transSymm_type) , intent(in) :: operationA
5990 end subroutine
5991#endif
5992
5993#if RK2_ENABLED
5994 PURE module subroutine setMatUpdateTriangCSOUSA_RK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
5995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5996 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_RK2
5997#endif
5998 use pm_kind, only: RKG => RK2
5999 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6000 real(RKG) , intent(in) :: alpha, beta
6001 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6002 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6003 type(uppDia_type) , intent(in) :: subset
6004 type(transSymm_type) , intent(in) :: operationA
6005 end subroutine
6006#endif
6007
6008#if RK1_ENABLED
6009 PURE module subroutine setMatUpdateTriangCSOUSA_RK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6011 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUSA_RK1
6012#endif
6013 use pm_kind, only: RKG => RK1
6014 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6015 real(RKG) , intent(in) :: alpha, beta
6016 real(RKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6017 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6018 type(uppDia_type) , intent(in) :: subset
6019 type(transSymm_type) , intent(in) :: operationA
6020 end subroutine
6021#endif
6022
6023 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6024
6025 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6027 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6028
6029 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6030
6031#if CK5_ENABLED
6032 PURE module subroutine setMatUpdateTriangCSOLAH_CK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6034 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAH_CK5
6035#endif
6036 use pm_kind, only: CKG => CK5
6037 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6038 real(CKG) , intent(in) :: alpha, beta
6039 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6040 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6041 type(lowDia_type) , intent(in) :: subset
6042 end subroutine
6043#endif
6044
6045#if CK4_ENABLED
6046 PURE module subroutine setMatUpdateTriangCSOLAH_CK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6048 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAH_CK4
6049#endif
6050 use pm_kind, only: CKG => CK4
6051 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6052 real(CKG) , intent(in) :: alpha, beta
6053 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6054 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6055 type(lowDia_type) , intent(in) :: subset
6056 end subroutine
6057#endif
6058
6059#if CK3_ENABLED
6060 PURE module subroutine setMatUpdateTriangCSOLAH_CK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6062 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAH_CK3
6063#endif
6064 use pm_kind, only: CKG => CK3
6065 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6066 real(CKG) , intent(in) :: alpha, beta
6067 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6068 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6069 type(lowDia_type) , intent(in) :: subset
6070 end subroutine
6071#endif
6072
6073#if CK2_ENABLED
6074 PURE module subroutine setMatUpdateTriangCSOLAH_CK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6076 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAH_CK2
6077#endif
6078 use pm_kind, only: CKG => CK2
6079 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6080 real(CKG) , intent(in) :: alpha, beta
6081 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6082 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6083 type(lowDia_type) , intent(in) :: subset
6084 end subroutine
6085#endif
6086
6087#if CK1_ENABLED
6088 PURE module subroutine setMatUpdateTriangCSOLAH_CK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6090 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLAH_CK1
6091#endif
6092 use pm_kind, only: CKG => CK1
6093 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6094 real(CKG) , intent(in) :: alpha, beta
6095 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6096 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6097 type(lowDia_type) , intent(in) :: subset
6098 end subroutine
6099#endif
6100
6101 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6102
6103#if CK5_ENABLED
6104 PURE module subroutine setMatUpdateTriangCSOLHA_CK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6106 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLHA_CK5
6107#endif
6108 use pm_kind, only: CKG => CK5
6109 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6110 real(CKG) , intent(in) :: alpha, beta
6111 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6112 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6113 type(lowDia_type) , intent(in) :: subset
6114 type(transHerm_type) , intent(in) :: operationA
6115 end subroutine
6116#endif
6117
6118#if CK4_ENABLED
6119 PURE module subroutine setMatUpdateTriangCSOLHA_CK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6120#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6121 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLHA_CK4
6122#endif
6123 use pm_kind, only: CKG => CK4
6124 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6125 real(CKG) , intent(in) :: alpha, beta
6126 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6127 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6128 type(lowDia_type) , intent(in) :: subset
6129 type(transHerm_type) , intent(in) :: operationA
6130 end subroutine
6131#endif
6132
6133#if CK3_ENABLED
6134 PURE module subroutine setMatUpdateTriangCSOLHA_CK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6136 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLHA_CK3
6137#endif
6138 use pm_kind, only: CKG => CK3
6139 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6140 real(CKG) , intent(in) :: alpha, beta
6141 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6142 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6143 type(lowDia_type) , intent(in) :: subset
6144 type(transHerm_type) , intent(in) :: operationA
6145 end subroutine
6146#endif
6147
6148#if CK2_ENABLED
6149 PURE module subroutine setMatUpdateTriangCSOLHA_CK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6151 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLHA_CK2
6152#endif
6153 use pm_kind, only: CKG => CK2
6154 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6155 real(CKG) , intent(in) :: alpha, beta
6156 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6157 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6158 type(lowDia_type) , intent(in) :: subset
6159 type(transHerm_type) , intent(in) :: operationA
6160 end subroutine
6161#endif
6162
6163#if CK1_ENABLED
6164 PURE module subroutine setMatUpdateTriangCSOLHA_CK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6165#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6166 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOLHA_CK1
6167#endif
6168 use pm_kind, only: CKG => CK1
6169 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6170 real(CKG) , intent(in) :: alpha, beta
6171 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6172 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6173 type(lowDia_type) , intent(in) :: subset
6174 type(transHerm_type) , intent(in) :: operationA
6175 end subroutine
6176#endif
6177
6178 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6179
6180 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6181 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6182 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6183
6184 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6185
6186#if CK5_ENABLED
6187 PURE module subroutine setMatUpdateTriangCSOUAH_CK5(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6189 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAH_CK5
6190#endif
6191 use pm_kind, only: CKG => CK5
6192 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6193 real(CKG) , intent(in) :: alpha, beta
6194 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6195 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6196 type(uppDia_type) , intent(in) :: subset
6197 end subroutine
6198#endif
6199
6200#if CK4_ENABLED
6201 PURE module subroutine setMatUpdateTriangCSOUAH_CK4(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6202#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6203 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAH_CK4
6204#endif
6205 use pm_kind, only: CKG => CK4
6206 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6207 real(CKG) , intent(in) :: alpha, beta
6208 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6209 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6210 type(uppDia_type) , intent(in) :: subset
6211 end subroutine
6212#endif
6213
6214#if CK3_ENABLED
6215 PURE module subroutine setMatUpdateTriangCSOUAH_CK3(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6217 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAH_CK3
6218#endif
6219 use pm_kind, only: CKG => CK3
6220 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6221 real(CKG) , intent(in) :: alpha, beta
6222 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6223 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6224 type(uppDia_type) , intent(in) :: subset
6225 end subroutine
6226#endif
6227
6228#if CK2_ENABLED
6229 PURE module subroutine setMatUpdateTriangCSOUAH_CK2(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6231 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAH_CK2
6232#endif
6233 use pm_kind, only: CKG => CK2
6234 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6235 real(CKG) , intent(in) :: alpha, beta
6236 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6237 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6238 type(uppDia_type) , intent(in) :: subset
6239 end subroutine
6240#endif
6241
6242#if CK1_ENABLED
6243 PURE module subroutine setMatUpdateTriangCSOUAH_CK1(mat, subset, matA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6245 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUAH_CK1
6246#endif
6247 use pm_kind, only: CKG => CK1
6248 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6249 real(CKG) , intent(in) :: alpha, beta
6250 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6251 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6252 type(uppDia_type) , intent(in) :: subset
6253 end subroutine
6254#endif
6255
6256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6257
6258#if CK5_ENABLED
6259 PURE module subroutine setMatUpdateTriangCSOUHA_CK5(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6261 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUHA_CK5
6262#endif
6263 use pm_kind, only: CKG => CK5
6264 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6265 real(CKG) , intent(in) :: alpha, beta
6266 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6267 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6268 type(uppDia_type) , intent(in) :: subset
6269 type(transHerm_type) , intent(in) :: operationA
6270 end subroutine
6271#endif
6272
6273#if CK4_ENABLED
6274 PURE module subroutine setMatUpdateTriangCSOUHA_CK4(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6276 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUHA_CK4
6277#endif
6278 use pm_kind, only: CKG => CK4
6279 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6280 real(CKG) , intent(in) :: alpha, beta
6281 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6282 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6283 type(uppDia_type) , intent(in) :: subset
6284 type(transHerm_type) , intent(in) :: operationA
6285 end subroutine
6286#endif
6287
6288#if CK3_ENABLED
6289 PURE module subroutine setMatUpdateTriangCSOUHA_CK3(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6291 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUHA_CK3
6292#endif
6293 use pm_kind, only: CKG => CK3
6294 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6295 real(CKG) , intent(in) :: alpha, beta
6296 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6297 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6298 type(uppDia_type) , intent(in) :: subset
6299 type(transHerm_type) , intent(in) :: operationA
6300 end subroutine
6301#endif
6302
6303#if CK2_ENABLED
6304 PURE module subroutine setMatUpdateTriangCSOUHA_CK2(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6306 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUHA_CK2
6307#endif
6308 use pm_kind, only: CKG => CK2
6309 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6310 real(CKG) , intent(in) :: alpha, beta
6311 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6312 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6313 type(uppDia_type) , intent(in) :: subset
6314 type(transHerm_type) , intent(in) :: operationA
6315 end subroutine
6316#endif
6317
6318#if CK1_ENABLED
6319 PURE module subroutine setMatUpdateTriangCSOUHA_CK1(mat, subset, matA, operationA, alpha, beta, ndim, ndum, roff, coff, roffA, coffA)
6320#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6321 !DEC$ ATTRIBUTES DLLEXPORT :: setMatUpdateTriangCSOUHA_CK1
6322#endif
6323 use pm_kind, only: CKG => CK1
6324 integer(IK) , intent(in) :: ndim, ndum, roff, coff, roffA, coffA
6325 real(CKG) , intent(in) :: alpha, beta
6326 complex(CKG) , intent(in) , contiguous :: matA(1 - roffA :, 1 - coffA :)
6327 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
6328 type(uppDia_type) , intent(in) :: subset
6329 type(transHerm_type) , intent(in) :: operationA
6330 end subroutine
6331#endif
6332
6333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6334
6335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6336 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6337 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6338
6339 end interface
6340
6341!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6342
6343end module pm_matrixUpdate ! LCOV_EXCL_LINE
Return the rank-1 update of the input matrix mat using the input vectors vecA and vecB.
Return the result of arbitrary-rank Symmetric/Hermitian updates to triangular matrices of type intege...
Return the result of arbitrary-rank Symmetric/Hermitian updates to triangular matrices of type intege...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_array.F90:44
character(*, SK), parameter MODULE_NAME
Definition: pm_array.F90:50
type(nothing_type), parameter nothing
This is a scalar parameter object of type nothing_type that is exclusively used to request no action ...
Definition: pm_array.F90:167
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(symmetric_type), parameter symmetric
This is a scalar parameter object of type symmetric_type that is exclusively used to signify the Symm...
type(hermitian_type), parameter hermitian
This is a scalar parameter object of type hermitian_type that is exclusively used to signify the Herm...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(lowDia_type), parameter lowDia
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diago...
type(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
This module contains abstract and concrete derived types and procedures related to various common mat...
type(transSymm_type), parameter transSymm
This is a scalar parameter object of type transSymm_type that is exclusively used to request Symmetri...
type(trans_type), parameter trans
This is a scalar parameter object of type trans_type that is exclusively used to request no transpose...
type(transHerm_type), parameter transHerm
This is a scalar parameter object of type transHerm_type that is exclusively used to request Hermitia...
This module contains procedures and generic interfaces relevant to arbitrary-rank updates to vectors,...
This is a concrete derived type whose instances are exclusively used to request no action on a given ...
Definition: pm_array.F90:132
This is a concrete derived type whose instances are exclusively used to signify the Hermitian class o...
This is a concrete derived type whose instances are exclusively used to signify the Symmetric class o...
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request Hermitian (conjugate)...
This is a concrete derived type whose instances are exclusively used to request Symmetric transpose (...
This is a derived type for constructing concrete derived types to distinguish various procedure signa...