ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixInit.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
119 use pm_matrixSubset, only: dia, dia_type
120 use pm_matrixSubset, only: low, low_type
121 use pm_matrixSubset, only: upp, upp_type
126
127 implicit none
128
129 character(*, SK), parameter :: MODULE_NAME = "@pm_matrixInit"
130
131!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132
288
289 interface getMatInit
290
291 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
294
295 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
298
299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300
301#if SK5_ENABLED
302 PURE module function getMatInitXXD_D2XX0_SK5(shape, subset, vdia, ndia, roff, coff) result(mat)
303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
304 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_SK5
305#endif
306 use pm_kind, only: SKG => SK5
307 character(*,SKG) , intent(in) :: vdia
308 integer(IK) , intent(in) :: shape(2)
309 integer(IK) , intent(in), optional :: ndia
310 integer(IK) , intent(in), optional :: roff, coff
311 type(dia_type) , intent(in) :: subset
312 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
313 end function
314#endif
315
316#if SK4_ENABLED
317 PURE module function getMatInitXXD_D2XX0_SK4(shape, subset, vdia, ndia, roff, coff) result(mat)
318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
319 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_SK4
320#endif
321 use pm_kind, only: SKG => SK4
322 character(*,SKG) , intent(in) :: vdia
323 integer(IK) , intent(in) :: shape(2)
324 integer(IK) , intent(in), optional :: ndia
325 integer(IK) , intent(in), optional :: roff, coff
326 type(dia_type) , intent(in) :: subset
327 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
328 end function
329#endif
330
331#if SK3_ENABLED
332 PURE module function getMatInitXXD_D2XX0_SK3(shape, subset, vdia, ndia, roff, coff) result(mat)
333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
334 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_SK3
335#endif
336 use pm_kind, only: SKG => SK3
337 character(*,SKG) , intent(in) :: vdia
338 integer(IK) , intent(in) :: shape(2)
339 integer(IK) , intent(in), optional :: ndia
340 integer(IK) , intent(in), optional :: roff, coff
341 type(dia_type) , intent(in) :: subset
342 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
343 end function
344#endif
345
346#if SK2_ENABLED
347 PURE module function getMatInitXXD_D2XX0_SK2(shape, subset, vdia, ndia, roff, coff) result(mat)
348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
349 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_SK2
350#endif
351 use pm_kind, only: SKG => SK2
352 character(*,SKG) , intent(in) :: vdia
353 integer(IK) , intent(in) :: shape(2)
354 integer(IK) , intent(in), optional :: ndia
355 integer(IK) , intent(in), optional :: roff, coff
356 type(dia_type) , intent(in) :: subset
357 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
358 end function
359#endif
360
361#if SK1_ENABLED
362 PURE module function getMatInitXXD_D2XX0_SK1(shape, subset, vdia, ndia, roff, coff) result(mat)
363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
364 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_SK1
365#endif
366 use pm_kind, only: SKG => SK1
367 character(*,SKG) , intent(in) :: vdia
368 integer(IK) , intent(in) :: shape(2)
369 integer(IK) , intent(in), optional :: ndia
370 integer(IK) , intent(in), optional :: roff, coff
371 type(dia_type) , intent(in) :: subset
372 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
373 end function
374#endif
375
376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
377
378#if IK5_ENABLED
379 PURE module function getMatInitXXD_D2XX0_IK5(shape, subset, vdia, ndia, roff, coff) result(mat)
380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
381 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_IK5
382#endif
383 use pm_kind, only: IKG => IK5
384 integer(IKG) , intent(in) :: vdia
385 integer(IK) , intent(in) :: shape(2)
386 integer(IK) , intent(in), optional :: ndia
387 integer(IK) , intent(in), optional :: roff, coff
388 type(dia_type) , intent(in) :: subset
389 integer(IKG) :: mat(shape(1), shape(2))
390 end function
391#endif
392
393#if IK4_ENABLED
394 PURE module function getMatInitXXD_D2XX0_IK4(shape, subset, vdia, ndia, roff, coff) result(mat)
395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
396 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_IK4
397#endif
398 use pm_kind, only: IKG => IK4
399 integer(IKG) , intent(in) :: vdia
400 integer(IK) , intent(in) :: shape(2)
401 integer(IK) , intent(in), optional :: ndia
402 integer(IK) , intent(in), optional :: roff, coff
403 type(dia_type) , intent(in) :: subset
404 integer(IKG) :: mat(shape(1), shape(2))
405 end function
406#endif
407
408#if IK3_ENABLED
409 PURE module function getMatInitXXD_D2XX0_IK3(shape, subset, vdia, ndia, roff, coff) result(mat)
410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
411 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_IK3
412#endif
413 use pm_kind, only: IKG => IK3
414 integer(IKG) , intent(in) :: vdia
415 integer(IK) , intent(in) :: shape(2)
416 integer(IK) , intent(in), optional :: ndia
417 integer(IK) , intent(in), optional :: roff, coff
418 type(dia_type) , intent(in) :: subset
419 integer(IKG) :: mat(shape(1), shape(2))
420 end function
421#endif
422
423#if IK2_ENABLED
424 PURE module function getMatInitXXD_D2XX0_IK2(shape, subset, vdia, ndia, roff, coff) result(mat)
425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
426 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_IK2
427#endif
428 use pm_kind, only: IKG => IK2
429 integer(IKG) , intent(in) :: vdia
430 integer(IK) , intent(in) :: shape(2)
431 integer(IK) , intent(in), optional :: ndia
432 integer(IK) , intent(in), optional :: roff, coff
433 type(dia_type) , intent(in) :: subset
434 integer(IKG) :: mat(shape(1), shape(2))
435 end function
436#endif
437
438#if IK1_ENABLED
439 PURE module function getMatInitXXD_D2XX0_IK1(shape, subset, vdia, ndia, roff, coff) result(mat)
440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
441 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_IK1
442#endif
443 use pm_kind, only: IKG => IK1
444 integer(IKG) , intent(in) :: vdia
445 integer(IK) , intent(in) :: shape(2)
446 integer(IK) , intent(in), optional :: ndia
447 integer(IK) , intent(in), optional :: roff, coff
448 type(dia_type) , intent(in) :: subset
449 integer(IKG) :: mat(shape(1), shape(2))
450 end function
451#endif
452
453 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454
455#if LK5_ENABLED
456 PURE module function getMatInitXXD_D2XX0_LK5(shape, subset, vdia, ndia, roff, coff) result(mat)
457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
458 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_LK5
459#endif
460 use pm_kind, only: LKG => LK5
461 logical(LKG) , intent(in) :: vdia
462 integer(IK) , intent(in) :: shape(2)
463 integer(IK) , intent(in), optional :: ndia
464 integer(IK) , intent(in), optional :: roff, coff
465 type(dia_type) , intent(in) :: subset
466 logical(LKG) :: mat(shape(1), shape(2))
467 end function
468#endif
469
470#if LK4_ENABLED
471 PURE module function getMatInitXXD_D2XX0_LK4(shape, subset, vdia, ndia, roff, coff) result(mat)
472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
473 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_LK4
474#endif
475 use pm_kind, only: LKG => LK4
476 logical(LKG) , intent(in) :: vdia
477 integer(IK) , intent(in) :: shape(2)
478 integer(IK) , intent(in), optional :: ndia
479 integer(IK) , intent(in), optional :: roff, coff
480 type(dia_type) , intent(in) :: subset
481 logical(LKG) :: mat(shape(1), shape(2))
482 end function
483#endif
484
485#if LK3_ENABLED
486 PURE module function getMatInitXXD_D2XX0_LK3(shape, subset, vdia, ndia, roff, coff) result(mat)
487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
488 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_LK3
489#endif
490 use pm_kind, only: LKG => LK3
491 logical(LKG) , intent(in) :: vdia
492 integer(IK) , intent(in) :: shape(2)
493 integer(IK) , intent(in), optional :: ndia
494 integer(IK) , intent(in), optional :: roff, coff
495 type(dia_type) , intent(in) :: subset
496 logical(LKG) :: mat(shape(1), shape(2))
497 end function
498#endif
499
500#if LK2_ENABLED
501 PURE module function getMatInitXXD_D2XX0_LK2(shape, subset, vdia, ndia, roff, coff) result(mat)
502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
503 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_LK2
504#endif
505 use pm_kind, only: LKG => LK2
506 logical(LKG) , intent(in) :: vdia
507 integer(IK) , intent(in) :: shape(2)
508 integer(IK) , intent(in), optional :: ndia
509 integer(IK) , intent(in), optional :: roff, coff
510 type(dia_type) , intent(in) :: subset
511 logical(LKG) :: mat(shape(1), shape(2))
512 end function
513#endif
514
515#if LK1_ENABLED
516 PURE module function getMatInitXXD_D2XX0_LK1(shape, subset, vdia, ndia, roff, coff) result(mat)
517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
518 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_LK1
519#endif
520 use pm_kind, only: LKG => LK1
521 logical(LKG) , intent(in) :: vdia
522 integer(IK) , intent(in) :: shape(2)
523 integer(IK) , intent(in), optional :: ndia
524 integer(IK) , intent(in), optional :: roff, coff
525 type(dia_type) , intent(in) :: subset
526 logical(LKG) :: mat(shape(1), shape(2))
527 end function
528#endif
529
530 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
531
532#if CK5_ENABLED
533 PURE module function getMatInitXXD_D2XX0_CK5(shape, subset, vdia, ndia, roff, coff) result(mat)
534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
535 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_CK5
536#endif
537 use pm_kind, only: CKG => CK5
538 complex(CKG) , intent(in) :: vdia
539 integer(IK) , intent(in) :: shape(2)
540 integer(IK) , intent(in), optional :: ndia
541 integer(IK) , intent(in), optional :: roff, coff
542 type(dia_type) , intent(in) :: subset
543 complex(CKG) :: mat(shape(1), shape(2))
544 end function
545#endif
546
547#if CK4_ENABLED
548 PURE module function getMatInitXXD_D2XX0_CK4(shape, subset, vdia, ndia, roff, coff) result(mat)
549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
550 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_CK4
551#endif
552 use pm_kind, only: CKG => CK4
553 complex(CKG) , intent(in) :: vdia
554 integer(IK) , intent(in) :: shape(2)
555 integer(IK) , intent(in), optional :: ndia
556 integer(IK) , intent(in), optional :: roff, coff
557 type(dia_type) , intent(in) :: subset
558 complex(CKG) :: mat(shape(1), shape(2))
559 end function
560#endif
561
562#if CK3_ENABLED
563 PURE module function getMatInitXXD_D2XX0_CK3(shape, subset, vdia, ndia, roff, coff) result(mat)
564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
565 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_CK3
566#endif
567 use pm_kind, only: CKG => CK3
568 complex(CKG) , intent(in) :: vdia
569 integer(IK) , intent(in) :: shape(2)
570 integer(IK) , intent(in), optional :: ndia
571 integer(IK) , intent(in), optional :: roff, coff
572 type(dia_type) , intent(in) :: subset
573 complex(CKG) :: mat(shape(1), shape(2))
574 end function
575#endif
576
577#if CK2_ENABLED
578 PURE module function getMatInitXXD_D2XX0_CK2(shape, subset, vdia, ndia, roff, coff) result(mat)
579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
580 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_CK2
581#endif
582 use pm_kind, only: CKG => CK2
583 complex(CKG) , intent(in) :: vdia
584 integer(IK) , intent(in) :: shape(2)
585 integer(IK) , intent(in), optional :: ndia
586 integer(IK) , intent(in), optional :: roff, coff
587 type(dia_type) , intent(in) :: subset
588 complex(CKG) :: mat(shape(1), shape(2))
589 end function
590#endif
591
592#if CK1_ENABLED
593 PURE module function getMatInitXXD_D2XX0_CK1(shape, subset, vdia, ndia, roff, coff) result(mat)
594#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
595 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_CK1
596#endif
597 use pm_kind, only: CKG => CK1
598 complex(CKG) , intent(in) :: vdia
599 integer(IK) , intent(in) :: shape(2)
600 integer(IK) , intent(in), optional :: ndia
601 integer(IK) , intent(in), optional :: roff, coff
602 type(dia_type) , intent(in) :: subset
603 complex(CKG) :: mat(shape(1), shape(2))
604 end function
605#endif
606
607 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608
609#if RK5_ENABLED
610 PURE module function getMatInitXXD_D2XX0_RK5(shape, subset, vdia, ndia, roff, coff) result(mat)
611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
612 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_RK5
613#endif
614 use pm_kind, only: RKG => RK5
615 real(RKG) , intent(in) :: vdia
616 integer(IK) , intent(in) :: shape(2)
617 integer(IK) , intent(in), optional :: ndia
618 integer(IK) , intent(in), optional :: roff, coff
619 type(dia_type) , intent(in) :: subset
620 real(RKG) :: mat(shape(1), shape(2))
621 end function
622#endif
623
624#if RK4_ENABLED
625 PURE module function getMatInitXXD_D2XX0_RK4(shape, subset, vdia, ndia, roff, coff) result(mat)
626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
627 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_RK4
628#endif
629 use pm_kind, only: RKG => RK4
630 real(RKG) , intent(in) :: vdia
631 integer(IK) , intent(in) :: shape(2)
632 integer(IK) , intent(in), optional :: ndia
633 integer(IK) , intent(in), optional :: roff, coff
634 type(dia_type) , intent(in) :: subset
635 real(RKG) :: mat(shape(1), shape(2))
636 end function
637#endif
638
639#if RK3_ENABLED
640 PURE module function getMatInitXXD_D2XX0_RK3(shape, subset, vdia, ndia, roff, coff) result(mat)
641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
642 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_RK3
643#endif
644 use pm_kind, only: RKG => RK3
645 real(RKG) , intent(in) :: vdia
646 integer(IK) , intent(in) :: shape(2)
647 integer(IK) , intent(in), optional :: ndia
648 integer(IK) , intent(in), optional :: roff, coff
649 type(dia_type) , intent(in) :: subset
650 real(RKG) :: mat(shape(1), shape(2))
651 end function
652#endif
653
654#if RK2_ENABLED
655 PURE module function getMatInitXXD_D2XX0_RK2(shape, subset, vdia, ndia, roff, coff) result(mat)
656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
657 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_RK2
658#endif
659 use pm_kind, only: RKG => RK2
660 real(RKG) , intent(in) :: vdia
661 integer(IK) , intent(in) :: shape(2)
662 integer(IK) , intent(in), optional :: ndia
663 integer(IK) , intent(in), optional :: roff, coff
664 type(dia_type) , intent(in) :: subset
665 real(RKG) :: mat(shape(1), shape(2))
666 end function
667#endif
668
669#if RK1_ENABLED
670 PURE module function getMatInitXXD_D2XX0_RK1(shape, subset, vdia, ndia, roff, coff) result(mat)
671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
672 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX0_RK1
673#endif
674 use pm_kind, only: RKG => RK1
675 real(RKG) , intent(in) :: vdia
676 integer(IK) , intent(in) :: shape(2)
677 integer(IK) , intent(in), optional :: ndia
678 integer(IK) , intent(in), optional :: roff, coff
679 type(dia_type) , intent(in) :: subset
680 real(RKG) :: mat(shape(1), shape(2))
681 end function
682#endif
683
684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
685
686 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
687 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
688 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
689
690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
691
692#if SK5_ENABLED
693 PURE module function getMatInitXXD_D2XX1_SK5(shape, subset, vdia, roff, coff) result(mat)
694#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
695 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_SK5
696#endif
697 use pm_kind, only: SKG => SK5
698 character(*,SKG) , intent(in), contiguous :: vdia(:)
699 integer(IK) , intent(in) :: shape(2)
700 integer(IK) , intent(in), optional :: roff, coff
701 type(dia_type) , intent(in) :: subset
702 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
703 end function
704#endif
705
706#if SK4_ENABLED
707 PURE module function getMatInitXXD_D2XX1_SK4(shape, subset, vdia, roff, coff) result(mat)
708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
709 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_SK4
710#endif
711 use pm_kind, only: SKG => SK4
712 character(*,SKG) , intent(in), contiguous :: vdia(:)
713 integer(IK) , intent(in) :: shape(2)
714 integer(IK) , intent(in), optional :: roff, coff
715 type(dia_type) , intent(in) :: subset
716 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
717 end function
718#endif
719
720#if SK3_ENABLED
721 PURE module function getMatInitXXD_D2XX1_SK3(shape, subset, vdia, roff, coff) result(mat)
722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
723 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_SK3
724#endif
725 use pm_kind, only: SKG => SK3
726 character(*,SKG) , intent(in), contiguous :: vdia(:)
727 integer(IK) , intent(in) :: shape(2)
728 integer(IK) , intent(in), optional :: roff, coff
729 type(dia_type) , intent(in) :: subset
730 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
731 end function
732#endif
733
734#if SK2_ENABLED
735 PURE module function getMatInitXXD_D2XX1_SK2(shape, subset, vdia, roff, coff) result(mat)
736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
737 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_SK2
738#endif
739 use pm_kind, only: SKG => SK2
740 character(*,SKG) , intent(in), contiguous :: vdia(:)
741 integer(IK) , intent(in) :: shape(2)
742 integer(IK) , intent(in), optional :: roff, coff
743 type(dia_type) , intent(in) :: subset
744 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
745 end function
746#endif
747
748#if SK1_ENABLED
749 PURE module function getMatInitXXD_D2XX1_SK1(shape, subset, vdia, roff, coff) result(mat)
750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
751 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_SK1
752#endif
753 use pm_kind, only: SKG => SK1
754 character(*,SKG) , intent(in), contiguous :: vdia(:)
755 integer(IK) , intent(in) :: shape(2)
756 integer(IK) , intent(in), optional :: roff, coff
757 type(dia_type) , intent(in) :: subset
758 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
759 end function
760#endif
761
762 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
763
764#if IK5_ENABLED
765 PURE module function getMatInitXXD_D2XX1_IK5(shape, subset, vdia, roff, coff) result(mat)
766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
767 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_IK5
768#endif
769 use pm_kind, only: IKG => IK5
770 integer(IKG) , intent(in), contiguous :: vdia(:)
771 integer(IK) , intent(in) :: shape(2)
772 integer(IK) , intent(in), optional :: roff, coff
773 type(dia_type) , intent(in) :: subset
774 integer(IKG) :: mat(shape(1), shape(2))
775 end function
776#endif
777
778#if IK4_ENABLED
779 PURE module function getMatInitXXD_D2XX1_IK4(shape, subset, vdia, roff, coff) result(mat)
780#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
781 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_IK4
782#endif
783 use pm_kind, only: IKG => IK4
784 integer(IKG) , intent(in), contiguous :: vdia(:)
785 integer(IK) , intent(in) :: shape(2)
786 integer(IK) , intent(in), optional :: roff, coff
787 type(dia_type) , intent(in) :: subset
788 integer(IKG) :: mat(shape(1), shape(2))
789 end function
790#endif
791
792#if IK3_ENABLED
793 PURE module function getMatInitXXD_D2XX1_IK3(shape, subset, vdia, roff, coff) result(mat)
794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
795 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_IK3
796#endif
797 use pm_kind, only: IKG => IK3
798 integer(IKG) , intent(in), contiguous :: vdia(:)
799 integer(IK) , intent(in) :: shape(2)
800 integer(IK) , intent(in), optional :: roff, coff
801 type(dia_type) , intent(in) :: subset
802 integer(IKG) :: mat(shape(1), shape(2))
803 end function
804#endif
805
806#if IK2_ENABLED
807 PURE module function getMatInitXXD_D2XX1_IK2(shape, subset, vdia, roff, coff) result(mat)
808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
809 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_IK2
810#endif
811 use pm_kind, only: IKG => IK2
812 integer(IKG) , intent(in), contiguous :: vdia(:)
813 integer(IK) , intent(in) :: shape(2)
814 integer(IK) , intent(in), optional :: roff, coff
815 type(dia_type) , intent(in) :: subset
816 integer(IKG) :: mat(shape(1), shape(2))
817 end function
818#endif
819
820#if IK1_ENABLED
821 PURE module function getMatInitXXD_D2XX1_IK1(shape, subset, vdia, roff, coff) result(mat)
822#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
823 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_IK1
824#endif
825 use pm_kind, only: IKG => IK1
826 integer(IKG) , intent(in), contiguous :: vdia(:)
827 integer(IK) , intent(in) :: shape(2)
828 integer(IK) , intent(in), optional :: roff, coff
829 type(dia_type) , intent(in) :: subset
830 integer(IKG) :: mat(shape(1), shape(2))
831 end function
832#endif
833
834 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
835
836#if LK5_ENABLED
837 PURE module function getMatInitXXD_D2XX1_LK5(shape, subset, vdia, roff, coff) result(mat)
838#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
839 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_LK5
840#endif
841 use pm_kind, only: LKG => LK5
842 logical(LKG) , intent(in), contiguous :: vdia(:)
843 integer(IK) , intent(in) :: shape(2)
844 integer(IK) , intent(in), optional :: roff, coff
845 type(dia_type) , intent(in) :: subset
846 logical(LKG) :: mat(shape(1), shape(2))
847 end function
848#endif
849
850#if LK4_ENABLED
851 PURE module function getMatInitXXD_D2XX1_LK4(shape, subset, vdia, roff, coff) result(mat)
852#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
853 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_LK4
854#endif
855 use pm_kind, only: LKG => LK4
856 logical(LKG) , intent(in), contiguous :: vdia(:)
857 integer(IK) , intent(in) :: shape(2)
858 integer(IK) , intent(in), optional :: roff, coff
859 type(dia_type) , intent(in) :: subset
860 logical(LKG) :: mat(shape(1), shape(2))
861 end function
862#endif
863
864#if LK3_ENABLED
865 PURE module function getMatInitXXD_D2XX1_LK3(shape, subset, vdia, roff, coff) result(mat)
866#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
867 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_LK3
868#endif
869 use pm_kind, only: LKG => LK3
870 logical(LKG) , intent(in), contiguous :: vdia(:)
871 integer(IK) , intent(in) :: shape(2)
872 integer(IK) , intent(in), optional :: roff, coff
873 type(dia_type) , intent(in) :: subset
874 logical(LKG) :: mat(shape(1), shape(2))
875 end function
876#endif
877
878#if LK2_ENABLED
879 PURE module function getMatInitXXD_D2XX1_LK2(shape, subset, vdia, roff, coff) result(mat)
880#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
881 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_LK2
882#endif
883 use pm_kind, only: LKG => LK2
884 logical(LKG) , intent(in), contiguous :: vdia(:)
885 integer(IK) , intent(in) :: shape(2)
886 integer(IK) , intent(in), optional :: roff, coff
887 type(dia_type) , intent(in) :: subset
888 logical(LKG) :: mat(shape(1), shape(2))
889 end function
890#endif
891
892#if LK1_ENABLED
893 PURE module function getMatInitXXD_D2XX1_LK1(shape, subset, vdia, roff, coff) result(mat)
894#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
895 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_LK1
896#endif
897 use pm_kind, only: LKG => LK1
898 logical(LKG) , intent(in), contiguous :: vdia(:)
899 integer(IK) , intent(in) :: shape(2)
900 integer(IK) , intent(in), optional :: roff, coff
901 type(dia_type) , intent(in) :: subset
902 logical(LKG) :: mat(shape(1), shape(2))
903 end function
904#endif
905
906 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
907
908#if CK5_ENABLED
909 PURE module function getMatInitXXD_D2XX1_CK5(shape, subset, vdia, roff, coff) result(mat)
910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
911 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_CK5
912#endif
913 use pm_kind, only: CKG => CK5
914 complex(CKG) , intent(in), contiguous :: vdia(:)
915 integer(IK) , intent(in) :: shape(2)
916 integer(IK) , intent(in), optional :: roff, coff
917 type(dia_type) , intent(in) :: subset
918 complex(CKG) :: mat(shape(1), shape(2))
919 end function
920#endif
921
922#if CK4_ENABLED
923 PURE module function getMatInitXXD_D2XX1_CK4(shape, subset, vdia, roff, coff) result(mat)
924#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
925 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_CK4
926#endif
927 use pm_kind, only: CKG => CK4
928 complex(CKG) , intent(in), contiguous :: vdia(:)
929 integer(IK) , intent(in) :: shape(2)
930 integer(IK) , intent(in), optional :: roff, coff
931 type(dia_type) , intent(in) :: subset
932 complex(CKG) :: mat(shape(1), shape(2))
933 end function
934#endif
935
936#if CK3_ENABLED
937 PURE module function getMatInitXXD_D2XX1_CK3(shape, subset, vdia, roff, coff) result(mat)
938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
939 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_CK3
940#endif
941 use pm_kind, only: CKG => CK3
942 complex(CKG) , intent(in), contiguous :: vdia(:)
943 integer(IK) , intent(in) :: shape(2)
944 integer(IK) , intent(in), optional :: roff, coff
945 type(dia_type) , intent(in) :: subset
946 complex(CKG) :: mat(shape(1), shape(2))
947 end function
948#endif
949
950#if CK2_ENABLED
951 PURE module function getMatInitXXD_D2XX1_CK2(shape, subset, vdia, roff, coff) result(mat)
952#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
953 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_CK2
954#endif
955 use pm_kind, only: CKG => CK2
956 complex(CKG) , intent(in), contiguous :: vdia(:)
957 integer(IK) , intent(in) :: shape(2)
958 integer(IK) , intent(in), optional :: roff, coff
959 type(dia_type) , intent(in) :: subset
960 complex(CKG) :: mat(shape(1), shape(2))
961 end function
962#endif
963
964#if CK1_ENABLED
965 PURE module function getMatInitXXD_D2XX1_CK1(shape, subset, vdia, roff, coff) result(mat)
966#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
967 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_CK1
968#endif
969 use pm_kind, only: CKG => CK1
970 complex(CKG) , intent(in), contiguous :: vdia(:)
971 integer(IK) , intent(in) :: shape(2)
972 integer(IK) , intent(in), optional :: roff, coff
973 type(dia_type) , intent(in) :: subset
974 complex(CKG) :: mat(shape(1), shape(2))
975 end function
976#endif
977
978 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
979
980#if RK5_ENABLED
981 PURE module function getMatInitXXD_D2XX1_RK5(shape, subset, vdia, roff, coff) result(mat)
982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
983 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_RK5
984#endif
985 use pm_kind, only: RKG => RK5
986 real(RKG) , intent(in), contiguous :: vdia(:)
987 integer(IK) , intent(in) :: shape(2)
988 integer(IK) , intent(in), optional :: roff, coff
989 type(dia_type) , intent(in) :: subset
990 real(RKG) :: mat(shape(1), shape(2))
991 end function
992#endif
993
994#if RK4_ENABLED
995 PURE module function getMatInitXXD_D2XX1_RK4(shape, subset, vdia, roff, coff) result(mat)
996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
997 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_RK4
998#endif
999 use pm_kind, only: RKG => RK4
1000 real(RKG) , intent(in), contiguous :: vdia(:)
1001 integer(IK) , intent(in) :: shape(2)
1002 integer(IK) , intent(in), optional :: roff, coff
1003 type(dia_type) , intent(in) :: subset
1004 real(RKG) :: mat(shape(1), shape(2))
1005 end function
1006#endif
1007
1008#if RK3_ENABLED
1009 PURE module function getMatInitXXD_D2XX1_RK3(shape, subset, vdia, roff, coff) result(mat)
1010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1011 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_RK3
1012#endif
1013 use pm_kind, only: RKG => RK3
1014 real(RKG) , intent(in), contiguous :: vdia(:)
1015 integer(IK) , intent(in) :: shape(2)
1016 integer(IK) , intent(in), optional :: roff, coff
1017 type(dia_type) , intent(in) :: subset
1018 real(RKG) :: mat(shape(1), shape(2))
1019 end function
1020#endif
1021
1022#if RK2_ENABLED
1023 PURE module function getMatInitXXD_D2XX1_RK2(shape, subset, vdia, roff, coff) result(mat)
1024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1025 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_RK2
1026#endif
1027 use pm_kind, only: RKG => RK2
1028 real(RKG) , intent(in), contiguous :: vdia(:)
1029 integer(IK) , intent(in) :: shape(2)
1030 integer(IK) , intent(in), optional :: roff, coff
1031 type(dia_type) , intent(in) :: subset
1032 real(RKG) :: mat(shape(1), shape(2))
1033 end function
1034#endif
1035
1036#if RK1_ENABLED
1037 PURE module function getMatInitXXD_D2XX1_RK1(shape, subset, vdia, roff, coff) result(mat)
1038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1039 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXXD_D2XX1_RK1
1040#endif
1041 use pm_kind, only: RKG => RK1
1042 real(RKG) , intent(in), contiguous :: vdia(:)
1043 integer(IK) , intent(in) :: shape(2)
1044 integer(IK) , intent(in), optional :: roff, coff
1045 type(dia_type) , intent(in) :: subset
1046 real(RKG) :: mat(shape(1), shape(2))
1047 end function
1048#endif
1049
1050 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1051
1052 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1053 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1054 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1055
1056 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1057 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1058 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1059
1060 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1061
1062#if SK5_ENABLED
1063 PURE module function getMatInitXLD_D2X00_SK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1065 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_SK5
1066#endif
1067 use pm_kind, only: SKG => SK5
1068 character(*,SKG) , intent(in) :: vlow
1069 character(*,SKG) , intent(in) :: vdia
1070 integer(IK) , intent(in) :: shape(2)
1071 integer(IK) , intent(in), optional :: nrow, ncol
1072 integer(IK) , intent(in), optional :: roff, coff, doff
1073 type(lowDia_type) , intent(in) :: subset
1074 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1075 end function
1076#endif
1077
1078#if SK4_ENABLED
1079 PURE module function getMatInitXLD_D2X00_SK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1080#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1081 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_SK4
1082#endif
1083 use pm_kind, only: SKG => SK4
1084 character(*,SKG) , intent(in) :: vlow
1085 character(*,SKG) , intent(in) :: vdia
1086 integer(IK) , intent(in) :: shape(2)
1087 integer(IK) , intent(in), optional :: nrow, ncol
1088 integer(IK) , intent(in), optional :: roff, coff, doff
1089 type(lowDia_type) , intent(in) :: subset
1090 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1091 end function
1092#endif
1093
1094#if SK3_ENABLED
1095 PURE module function getMatInitXLD_D2X00_SK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1097 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_SK3
1098#endif
1099 use pm_kind, only: SKG => SK3
1100 character(*,SKG) , intent(in) :: vlow
1101 character(*,SKG) , intent(in) :: vdia
1102 integer(IK) , intent(in) :: shape(2)
1103 integer(IK) , intent(in), optional :: nrow, ncol
1104 integer(IK) , intent(in), optional :: roff, coff, doff
1105 type(lowDia_type) , intent(in) :: subset
1106 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1107 end function
1108#endif
1109
1110#if SK2_ENABLED
1111 PURE module function getMatInitXLD_D2X00_SK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1113 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_SK2
1114#endif
1115 use pm_kind, only: SKG => SK2
1116 character(*,SKG) , intent(in) :: vlow
1117 character(*,SKG) , intent(in) :: vdia
1118 integer(IK) , intent(in) :: shape(2)
1119 integer(IK) , intent(in), optional :: nrow, ncol
1120 integer(IK) , intent(in), optional :: roff, coff, doff
1121 type(lowDia_type) , intent(in) :: subset
1122 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1123 end function
1124#endif
1125
1126#if SK1_ENABLED
1127 PURE module function getMatInitXLD_D2X00_SK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1129 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_SK1
1130#endif
1131 use pm_kind, only: SKG => SK1
1132 character(*,SKG) , intent(in) :: vlow
1133 character(*,SKG) , intent(in) :: vdia
1134 integer(IK) , intent(in) :: shape(2)
1135 integer(IK) , intent(in), optional :: nrow, ncol
1136 integer(IK) , intent(in), optional :: roff, coff, doff
1137 type(lowDia_type) , intent(in) :: subset
1138 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1139 end function
1140#endif
1141
1142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1143
1144#if IK5_ENABLED
1145 PURE module function getMatInitXLD_D2X00_IK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1147 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_IK5
1148#endif
1149 use pm_kind, only: IKG => IK5
1150 integer(IKG) , intent(in) :: vlow
1151 integer(IKG) , intent(in) :: vdia
1152 integer(IK) , intent(in) :: shape(2)
1153 integer(IK) , intent(in), optional :: nrow, ncol
1154 integer(IK) , intent(in), optional :: roff, coff, doff
1155 type(lowDia_type) , intent(in) :: subset
1156 integer(IKG) :: mat(shape(1), shape(2))
1157 end function
1158#endif
1159
1160#if IK4_ENABLED
1161 PURE module function getMatInitXLD_D2X00_IK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1163 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_IK4
1164#endif
1165 use pm_kind, only: IKG => IK4
1166 integer(IKG) , intent(in) :: vlow
1167 integer(IKG) , intent(in) :: vdia
1168 integer(IK) , intent(in) :: shape(2)
1169 integer(IK) , intent(in), optional :: nrow, ncol
1170 integer(IK) , intent(in), optional :: roff, coff, doff
1171 type(lowDia_type) , intent(in) :: subset
1172 integer(IKG) :: mat(shape(1), shape(2))
1173 end function
1174#endif
1175
1176#if IK3_ENABLED
1177 PURE module function getMatInitXLD_D2X00_IK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1179 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_IK3
1180#endif
1181 use pm_kind, only: IKG => IK3
1182 integer(IKG) , intent(in) :: vlow
1183 integer(IKG) , intent(in) :: vdia
1184 integer(IK) , intent(in) :: shape(2)
1185 integer(IK) , intent(in), optional :: nrow, ncol
1186 integer(IK) , intent(in), optional :: roff, coff, doff
1187 type(lowDia_type) , intent(in) :: subset
1188 integer(IKG) :: mat(shape(1), shape(2))
1189 end function
1190#endif
1191
1192#if IK2_ENABLED
1193 PURE module function getMatInitXLD_D2X00_IK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1195 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_IK2
1196#endif
1197 use pm_kind, only: IKG => IK2
1198 integer(IKG) , intent(in) :: vlow
1199 integer(IKG) , intent(in) :: vdia
1200 integer(IK) , intent(in) :: shape(2)
1201 integer(IK) , intent(in), optional :: nrow, ncol
1202 integer(IK) , intent(in), optional :: roff, coff, doff
1203 type(lowDia_type) , intent(in) :: subset
1204 integer(IKG) :: mat(shape(1), shape(2))
1205 end function
1206#endif
1207
1208#if IK1_ENABLED
1209 PURE module function getMatInitXLD_D2X00_IK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1211 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_IK1
1212#endif
1213 use pm_kind, only: IKG => IK1
1214 integer(IKG) , intent(in) :: vlow
1215 integer(IKG) , intent(in) :: vdia
1216 integer(IK) , intent(in) :: shape(2)
1217 integer(IK) , intent(in), optional :: nrow, ncol
1218 integer(IK) , intent(in), optional :: roff, coff, doff
1219 type(lowDia_type) , intent(in) :: subset
1220 integer(IKG) :: mat(shape(1), shape(2))
1221 end function
1222#endif
1223
1224 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1225
1226#if LK5_ENABLED
1227 PURE module function getMatInitXLD_D2X00_LK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1229 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_LK5
1230#endif
1231 use pm_kind, only: LKG => LK5
1232 logical(LKG) , intent(in) :: vlow
1233 logical(LKG) , intent(in) :: vdia
1234 integer(IK) , intent(in) :: shape(2)
1235 integer(IK) , intent(in), optional :: nrow, ncol
1236 integer(IK) , intent(in), optional :: roff, coff, doff
1237 type(lowDia_type) , intent(in) :: subset
1238 logical(LKG) :: mat(shape(1), shape(2))
1239 end function
1240#endif
1241
1242#if LK4_ENABLED
1243 PURE module function getMatInitXLD_D2X00_LK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1245 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_LK4
1246#endif
1247 use pm_kind, only: LKG => LK4
1248 logical(LKG) , intent(in) :: vlow
1249 logical(LKG) , intent(in) :: vdia
1250 integer(IK) , intent(in) :: shape(2)
1251 integer(IK) , intent(in), optional :: nrow, ncol
1252 integer(IK) , intent(in), optional :: roff, coff, doff
1253 type(lowDia_type) , intent(in) :: subset
1254 logical(LKG) :: mat(shape(1), shape(2))
1255 end function
1256#endif
1257
1258#if LK3_ENABLED
1259 PURE module function getMatInitXLD_D2X00_LK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1261 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_LK3
1262#endif
1263 use pm_kind, only: LKG => LK3
1264 logical(LKG) , intent(in) :: vlow
1265 logical(LKG) , intent(in) :: vdia
1266 integer(IK) , intent(in) :: shape(2)
1267 integer(IK) , intent(in), optional :: nrow, ncol
1268 integer(IK) , intent(in), optional :: roff, coff, doff
1269 type(lowDia_type) , intent(in) :: subset
1270 logical(LKG) :: mat(shape(1), shape(2))
1271 end function
1272#endif
1273
1274#if LK2_ENABLED
1275 PURE module function getMatInitXLD_D2X00_LK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1277 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_LK2
1278#endif
1279 use pm_kind, only: LKG => LK2
1280 logical(LKG) , intent(in) :: vlow
1281 logical(LKG) , intent(in) :: vdia
1282 integer(IK) , intent(in) :: shape(2)
1283 integer(IK) , intent(in), optional :: nrow, ncol
1284 integer(IK) , intent(in), optional :: roff, coff, doff
1285 type(lowDia_type) , intent(in) :: subset
1286 logical(LKG) :: mat(shape(1), shape(2))
1287 end function
1288#endif
1289
1290#if LK1_ENABLED
1291 PURE module function getMatInitXLD_D2X00_LK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1293 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_LK1
1294#endif
1295 use pm_kind, only: LKG => LK1
1296 logical(LKG) , intent(in) :: vlow
1297 logical(LKG) , intent(in) :: vdia
1298 integer(IK) , intent(in) :: shape(2)
1299 integer(IK) , intent(in), optional :: nrow, ncol
1300 integer(IK) , intent(in), optional :: roff, coff, doff
1301 type(lowDia_type) , intent(in) :: subset
1302 logical(LKG) :: mat(shape(1), shape(2))
1303 end function
1304#endif
1305
1306 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1307
1308#if CK5_ENABLED
1309 PURE module function getMatInitXLD_D2X00_CK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1311 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_CK5
1312#endif
1313 use pm_kind, only: CKG => CK5
1314 complex(CKG) , intent(in) :: vlow
1315 complex(CKG) , intent(in) :: vdia
1316 integer(IK) , intent(in) :: shape(2)
1317 integer(IK) , intent(in), optional :: nrow, ncol
1318 integer(IK) , intent(in), optional :: roff, coff, doff
1319 type(lowDia_type) , intent(in) :: subset
1320 complex(CKG) :: mat(shape(1), shape(2))
1321 end function
1322#endif
1323
1324#if CK4_ENABLED
1325 PURE module function getMatInitXLD_D2X00_CK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1327 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_CK4
1328#endif
1329 use pm_kind, only: CKG => CK4
1330 complex(CKG) , intent(in) :: vlow
1331 complex(CKG) , intent(in) :: vdia
1332 integer(IK) , intent(in) :: shape(2)
1333 integer(IK) , intent(in), optional :: nrow, ncol
1334 integer(IK) , intent(in), optional :: roff, coff, doff
1335 type(lowDia_type) , intent(in) :: subset
1336 complex(CKG) :: mat(shape(1), shape(2))
1337 end function
1338#endif
1339
1340#if CK3_ENABLED
1341 PURE module function getMatInitXLD_D2X00_CK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1343 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_CK3
1344#endif
1345 use pm_kind, only: CKG => CK3
1346 complex(CKG) , intent(in) :: vlow
1347 complex(CKG) , intent(in) :: vdia
1348 integer(IK) , intent(in) :: shape(2)
1349 integer(IK) , intent(in), optional :: nrow, ncol
1350 integer(IK) , intent(in), optional :: roff, coff, doff
1351 type(lowDia_type) , intent(in) :: subset
1352 complex(CKG) :: mat(shape(1), shape(2))
1353 end function
1354#endif
1355
1356#if CK2_ENABLED
1357 PURE module function getMatInitXLD_D2X00_CK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1359 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_CK2
1360#endif
1361 use pm_kind, only: CKG => CK2
1362 complex(CKG) , intent(in) :: vlow
1363 complex(CKG) , intent(in) :: vdia
1364 integer(IK) , intent(in) :: shape(2)
1365 integer(IK) , intent(in), optional :: nrow, ncol
1366 integer(IK) , intent(in), optional :: roff, coff, doff
1367 type(lowDia_type) , intent(in) :: subset
1368 complex(CKG) :: mat(shape(1), shape(2))
1369 end function
1370#endif
1371
1372#if CK1_ENABLED
1373 PURE module function getMatInitXLD_D2X00_CK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1375 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_CK1
1376#endif
1377 use pm_kind, only: CKG => CK1
1378 complex(CKG) , intent(in) :: vlow
1379 complex(CKG) , intent(in) :: vdia
1380 integer(IK) , intent(in) :: shape(2)
1381 integer(IK) , intent(in), optional :: nrow, ncol
1382 integer(IK) , intent(in), optional :: roff, coff, doff
1383 type(lowDia_type) , intent(in) :: subset
1384 complex(CKG) :: mat(shape(1), shape(2))
1385 end function
1386#endif
1387
1388 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1389
1390#if RK5_ENABLED
1391 PURE module function getMatInitXLD_D2X00_RK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1393 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_RK5
1394#endif
1395 use pm_kind, only: RKG => RK5
1396 real(RKG) , intent(in) :: vlow
1397 real(RKG) , intent(in) :: vdia
1398 integer(IK) , intent(in) :: shape(2)
1399 integer(IK) , intent(in), optional :: nrow, ncol
1400 integer(IK) , intent(in), optional :: roff, coff, doff
1401 type(lowDia_type) , intent(in) :: subset
1402 real(RKG) :: mat(shape(1), shape(2))
1403 end function
1404#endif
1405
1406#if RK4_ENABLED
1407 PURE module function getMatInitXLD_D2X00_RK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1409 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_RK4
1410#endif
1411 use pm_kind, only: RKG => RK4
1412 real(RKG) , intent(in) :: vlow
1413 real(RKG) , intent(in) :: vdia
1414 integer(IK) , intent(in) :: shape(2)
1415 integer(IK) , intent(in), optional :: nrow, ncol
1416 integer(IK) , intent(in), optional :: roff, coff, doff
1417 type(lowDia_type) , intent(in) :: subset
1418 real(RKG) :: mat(shape(1), shape(2))
1419 end function
1420#endif
1421
1422#if RK3_ENABLED
1423 PURE module function getMatInitXLD_D2X00_RK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1425 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_RK3
1426#endif
1427 use pm_kind, only: RKG => RK3
1428 real(RKG) , intent(in) :: vlow
1429 real(RKG) , intent(in) :: vdia
1430 integer(IK) , intent(in) :: shape(2)
1431 integer(IK) , intent(in), optional :: nrow, ncol
1432 integer(IK) , intent(in), optional :: roff, coff, doff
1433 type(lowDia_type) , intent(in) :: subset
1434 real(RKG) :: mat(shape(1), shape(2))
1435 end function
1436#endif
1437
1438#if RK2_ENABLED
1439 PURE module function getMatInitXLD_D2X00_RK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1441 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_RK2
1442#endif
1443 use pm_kind, only: RKG => RK2
1444 real(RKG) , intent(in) :: vlow
1445 real(RKG) , intent(in) :: vdia
1446 integer(IK) , intent(in) :: shape(2)
1447 integer(IK) , intent(in), optional :: nrow, ncol
1448 integer(IK) , intent(in), optional :: roff, coff, doff
1449 type(lowDia_type) , intent(in) :: subset
1450 real(RKG) :: mat(shape(1), shape(2))
1451 end function
1452#endif
1453
1454#if RK1_ENABLED
1455 PURE module function getMatInitXLD_D2X00_RK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1457 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X00_RK1
1458#endif
1459 use pm_kind, only: RKG => RK1
1460 real(RKG) , intent(in) :: vlow
1461 real(RKG) , intent(in) :: vdia
1462 integer(IK) , intent(in) :: shape(2)
1463 integer(IK) , intent(in), optional :: nrow, ncol
1464 integer(IK) , intent(in), optional :: roff, coff, doff
1465 type(lowDia_type) , intent(in) :: subset
1466 real(RKG) :: mat(shape(1), shape(2))
1467 end function
1468#endif
1469
1470 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1471
1472 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1475
1476 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1477
1478#if SK5_ENABLED
1479 PURE module function getMatInitXLD_D2X01_SK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1480#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1481 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_SK5
1482#endif
1483 use pm_kind, only: SKG => SK5
1484 character(*,SKG) , intent(in) :: vlow
1485 character(*,SKG) , intent(in), contiguous :: vdia(:)
1486 integer(IK) , intent(in) :: shape(2)
1487 integer(IK) , intent(in), optional :: nrow, ncol
1488 integer(IK) , intent(in), optional :: roff, coff, doff
1489 type(lowDia_type) , intent(in) :: subset
1490 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1491 end function
1492#endif
1493
1494#if SK4_ENABLED
1495 PURE module function getMatInitXLD_D2X01_SK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1497 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_SK4
1498#endif
1499 use pm_kind, only: SKG => SK4
1500 character(*,SKG) , intent(in) :: vlow
1501 character(*,SKG) , intent(in), contiguous :: vdia(:)
1502 integer(IK) , intent(in) :: shape(2)
1503 integer(IK) , intent(in), optional :: nrow, ncol
1504 integer(IK) , intent(in), optional :: roff, coff, doff
1505 type(lowDia_type) , intent(in) :: subset
1506 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1507 end function
1508#endif
1509
1510#if SK3_ENABLED
1511 PURE module function getMatInitXLD_D2X01_SK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1512#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1513 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_SK3
1514#endif
1515 use pm_kind, only: SKG => SK3
1516 character(*,SKG) , intent(in) :: vlow
1517 character(*,SKG) , intent(in), contiguous :: vdia(:)
1518 integer(IK) , intent(in) :: shape(2)
1519 integer(IK) , intent(in), optional :: nrow, ncol
1520 integer(IK) , intent(in), optional :: roff, coff, doff
1521 type(lowDia_type) , intent(in) :: subset
1522 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1523 end function
1524#endif
1525
1526#if SK2_ENABLED
1527 PURE module function getMatInitXLD_D2X01_SK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1529 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_SK2
1530#endif
1531 use pm_kind, only: SKG => SK2
1532 character(*,SKG) , intent(in) :: vlow
1533 character(*,SKG) , intent(in), contiguous :: vdia(:)
1534 integer(IK) , intent(in) :: shape(2)
1535 integer(IK) , intent(in), optional :: nrow, ncol
1536 integer(IK) , intent(in), optional :: roff, coff, doff
1537 type(lowDia_type) , intent(in) :: subset
1538 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1539 end function
1540#endif
1541
1542#if SK1_ENABLED
1543 PURE module function getMatInitXLD_D2X01_SK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1545 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_SK1
1546#endif
1547 use pm_kind, only: SKG => SK1
1548 character(*,SKG) , intent(in) :: vlow
1549 character(*,SKG) , intent(in), contiguous :: vdia(:)
1550 integer(IK) , intent(in) :: shape(2)
1551 integer(IK) , intent(in), optional :: nrow, ncol
1552 integer(IK) , intent(in), optional :: roff, coff, doff
1553 type(lowDia_type) , intent(in) :: subset
1554 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1555 end function
1556#endif
1557
1558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1559
1560#if IK5_ENABLED
1561 PURE module function getMatInitXLD_D2X01_IK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1563 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_IK5
1564#endif
1565 use pm_kind, only: IKG => IK5
1566 integer(IKG) , intent(in) :: vlow
1567 integer(IKG) , intent(in), contiguous :: vdia(:)
1568 integer(IK) , intent(in) :: shape(2)
1569 integer(IK) , intent(in), optional :: nrow, ncol
1570 integer(IK) , intent(in), optional :: roff, coff, doff
1571 type(lowDia_type) , intent(in) :: subset
1572 integer(IKG) :: mat(shape(1), shape(2))
1573 end function
1574#endif
1575
1576#if IK4_ENABLED
1577 PURE module function getMatInitXLD_D2X01_IK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1579 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_IK4
1580#endif
1581 use pm_kind, only: IKG => IK4
1582 integer(IKG) , intent(in) :: vlow
1583 integer(IKG) , intent(in), contiguous :: vdia(:)
1584 integer(IK) , intent(in) :: shape(2)
1585 integer(IK) , intent(in), optional :: nrow, ncol
1586 integer(IK) , intent(in), optional :: roff, coff, doff
1587 type(lowDia_type) , intent(in) :: subset
1588 integer(IKG) :: mat(shape(1), shape(2))
1589 end function
1590#endif
1591
1592#if IK3_ENABLED
1593 PURE module function getMatInitXLD_D2X01_IK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1594#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1595 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_IK3
1596#endif
1597 use pm_kind, only: IKG => IK3
1598 integer(IKG) , intent(in) :: vlow
1599 integer(IKG) , intent(in), contiguous :: vdia(:)
1600 integer(IK) , intent(in) :: shape(2)
1601 integer(IK) , intent(in), optional :: nrow, ncol
1602 integer(IK) , intent(in), optional :: roff, coff, doff
1603 type(lowDia_type) , intent(in) :: subset
1604 integer(IKG) :: mat(shape(1), shape(2))
1605 end function
1606#endif
1607
1608#if IK2_ENABLED
1609 PURE module function getMatInitXLD_D2X01_IK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1611 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_IK2
1612#endif
1613 use pm_kind, only: IKG => IK2
1614 integer(IKG) , intent(in) :: vlow
1615 integer(IKG) , intent(in), contiguous :: vdia(:)
1616 integer(IK) , intent(in) :: shape(2)
1617 integer(IK) , intent(in), optional :: nrow, ncol
1618 integer(IK) , intent(in), optional :: roff, coff, doff
1619 type(lowDia_type) , intent(in) :: subset
1620 integer(IKG) :: mat(shape(1), shape(2))
1621 end function
1622#endif
1623
1624#if IK1_ENABLED
1625 PURE module function getMatInitXLD_D2X01_IK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1627 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_IK1
1628#endif
1629 use pm_kind, only: IKG => IK1
1630 integer(IKG) , intent(in) :: vlow
1631 integer(IKG) , intent(in), contiguous :: vdia(:)
1632 integer(IK) , intent(in) :: shape(2)
1633 integer(IK) , intent(in), optional :: nrow, ncol
1634 integer(IK) , intent(in), optional :: roff, coff, doff
1635 type(lowDia_type) , intent(in) :: subset
1636 integer(IKG) :: mat(shape(1), shape(2))
1637 end function
1638#endif
1639
1640 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1641
1642#if LK5_ENABLED
1643 PURE module function getMatInitXLD_D2X01_LK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1645 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_LK5
1646#endif
1647 use pm_kind, only: LKG => LK5
1648 logical(LKG) , intent(in) :: vlow
1649 logical(LKG) , intent(in), contiguous :: vdia(:)
1650 integer(IK) , intent(in) :: shape(2)
1651 integer(IK) , intent(in), optional :: nrow, ncol
1652 integer(IK) , intent(in), optional :: roff, coff, doff
1653 type(lowDia_type) , intent(in) :: subset
1654 logical(LKG) :: mat(shape(1), shape(2))
1655 end function
1656#endif
1657
1658#if LK4_ENABLED
1659 PURE module function getMatInitXLD_D2X01_LK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1661 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_LK4
1662#endif
1663 use pm_kind, only: LKG => LK4
1664 logical(LKG) , intent(in) :: vlow
1665 logical(LKG) , intent(in), contiguous :: vdia(:)
1666 integer(IK) , intent(in) :: shape(2)
1667 integer(IK) , intent(in), optional :: nrow, ncol
1668 integer(IK) , intent(in), optional :: roff, coff, doff
1669 type(lowDia_type) , intent(in) :: subset
1670 logical(LKG) :: mat(shape(1), shape(2))
1671 end function
1672#endif
1673
1674#if LK3_ENABLED
1675 PURE module function getMatInitXLD_D2X01_LK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1677 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_LK3
1678#endif
1679 use pm_kind, only: LKG => LK3
1680 logical(LKG) , intent(in) :: vlow
1681 logical(LKG) , intent(in), contiguous :: vdia(:)
1682 integer(IK) , intent(in) :: shape(2)
1683 integer(IK) , intent(in), optional :: nrow, ncol
1684 integer(IK) , intent(in), optional :: roff, coff, doff
1685 type(lowDia_type) , intent(in) :: subset
1686 logical(LKG) :: mat(shape(1), shape(2))
1687 end function
1688#endif
1689
1690#if LK2_ENABLED
1691 PURE module function getMatInitXLD_D2X01_LK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1693 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_LK2
1694#endif
1695 use pm_kind, only: LKG => LK2
1696 logical(LKG) , intent(in) :: vlow
1697 logical(LKG) , intent(in), contiguous :: vdia(:)
1698 integer(IK) , intent(in) :: shape(2)
1699 integer(IK) , intent(in), optional :: nrow, ncol
1700 integer(IK) , intent(in), optional :: roff, coff, doff
1701 type(lowDia_type) , intent(in) :: subset
1702 logical(LKG) :: mat(shape(1), shape(2))
1703 end function
1704#endif
1705
1706#if LK1_ENABLED
1707 PURE module function getMatInitXLD_D2X01_LK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1709 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_LK1
1710#endif
1711 use pm_kind, only: LKG => LK1
1712 logical(LKG) , intent(in) :: vlow
1713 logical(LKG) , intent(in), contiguous :: vdia(:)
1714 integer(IK) , intent(in) :: shape(2)
1715 integer(IK) , intent(in), optional :: nrow, ncol
1716 integer(IK) , intent(in), optional :: roff, coff, doff
1717 type(lowDia_type) , intent(in) :: subset
1718 logical(LKG) :: mat(shape(1), shape(2))
1719 end function
1720#endif
1721
1722 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1723
1724#if CK5_ENABLED
1725 PURE module function getMatInitXLD_D2X01_CK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1727 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_CK5
1728#endif
1729 use pm_kind, only: CKG => CK5
1730 complex(CKG) , intent(in) :: vlow
1731 complex(CKG) , intent(in), contiguous :: vdia(:)
1732 integer(IK) , intent(in) :: shape(2)
1733 integer(IK) , intent(in), optional :: nrow, ncol
1734 integer(IK) , intent(in), optional :: roff, coff, doff
1735 type(lowDia_type) , intent(in) :: subset
1736 complex(CKG) :: mat(shape(1), shape(2))
1737 end function
1738#endif
1739
1740#if CK4_ENABLED
1741 PURE module function getMatInitXLD_D2X01_CK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1742#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1743 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_CK4
1744#endif
1745 use pm_kind, only: CKG => CK4
1746 complex(CKG) , intent(in) :: vlow
1747 complex(CKG) , intent(in), contiguous :: vdia(:)
1748 integer(IK) , intent(in) :: shape(2)
1749 integer(IK) , intent(in), optional :: nrow, ncol
1750 integer(IK) , intent(in), optional :: roff, coff, doff
1751 type(lowDia_type) , intent(in) :: subset
1752 complex(CKG) :: mat(shape(1), shape(2))
1753 end function
1754#endif
1755
1756#if CK3_ENABLED
1757 PURE module function getMatInitXLD_D2X01_CK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1759 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_CK3
1760#endif
1761 use pm_kind, only: CKG => CK3
1762 complex(CKG) , intent(in) :: vlow
1763 complex(CKG) , intent(in), contiguous :: vdia(:)
1764 integer(IK) , intent(in) :: shape(2)
1765 integer(IK) , intent(in), optional :: nrow, ncol
1766 integer(IK) , intent(in), optional :: roff, coff, doff
1767 type(lowDia_type) , intent(in) :: subset
1768 complex(CKG) :: mat(shape(1), shape(2))
1769 end function
1770#endif
1771
1772#if CK2_ENABLED
1773 PURE module function getMatInitXLD_D2X01_CK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1775 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_CK2
1776#endif
1777 use pm_kind, only: CKG => CK2
1778 complex(CKG) , intent(in) :: vlow
1779 complex(CKG) , intent(in), contiguous :: vdia(:)
1780 integer(IK) , intent(in) :: shape(2)
1781 integer(IK) , intent(in), optional :: nrow, ncol
1782 integer(IK) , intent(in), optional :: roff, coff, doff
1783 type(lowDia_type) , intent(in) :: subset
1784 complex(CKG) :: mat(shape(1), shape(2))
1785 end function
1786#endif
1787
1788#if CK1_ENABLED
1789 PURE module function getMatInitXLD_D2X01_CK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1791 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_CK1
1792#endif
1793 use pm_kind, only: CKG => CK1
1794 complex(CKG) , intent(in) :: vlow
1795 complex(CKG) , intent(in), contiguous :: vdia(:)
1796 integer(IK) , intent(in) :: shape(2)
1797 integer(IK) , intent(in), optional :: nrow, ncol
1798 integer(IK) , intent(in), optional :: roff, coff, doff
1799 type(lowDia_type) , intent(in) :: subset
1800 complex(CKG) :: mat(shape(1), shape(2))
1801 end function
1802#endif
1803
1804 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1805
1806#if RK5_ENABLED
1807 PURE module function getMatInitXLD_D2X01_RK5(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1809 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_RK5
1810#endif
1811 use pm_kind, only: RKG => RK5
1812 real(RKG) , intent(in) :: vlow
1813 real(RKG) , intent(in), contiguous :: vdia(:)
1814 integer(IK) , intent(in) :: shape(2)
1815 integer(IK) , intent(in), optional :: nrow, ncol
1816 integer(IK) , intent(in), optional :: roff, coff, doff
1817 type(lowDia_type) , intent(in) :: subset
1818 real(RKG) :: mat(shape(1), shape(2))
1819 end function
1820#endif
1821
1822#if RK4_ENABLED
1823 PURE module function getMatInitXLD_D2X01_RK4(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1824#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1825 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_RK4
1826#endif
1827 use pm_kind, only: RKG => RK4
1828 real(RKG) , intent(in) :: vlow
1829 real(RKG) , intent(in), contiguous :: vdia(:)
1830 integer(IK) , intent(in) :: shape(2)
1831 integer(IK) , intent(in), optional :: nrow, ncol
1832 integer(IK) , intent(in), optional :: roff, coff, doff
1833 type(lowDia_type) , intent(in) :: subset
1834 real(RKG) :: mat(shape(1), shape(2))
1835 end function
1836#endif
1837
1838#if RK3_ENABLED
1839 PURE module function getMatInitXLD_D2X01_RK3(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1841 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_RK3
1842#endif
1843 use pm_kind, only: RKG => RK3
1844 real(RKG) , intent(in) :: vlow
1845 real(RKG) , intent(in), contiguous :: vdia(:)
1846 integer(IK) , intent(in) :: shape(2)
1847 integer(IK) , intent(in), optional :: nrow, ncol
1848 integer(IK) , intent(in), optional :: roff, coff, doff
1849 type(lowDia_type) , intent(in) :: subset
1850 real(RKG) :: mat(shape(1), shape(2))
1851 end function
1852#endif
1853
1854#if RK2_ENABLED
1855 PURE module function getMatInitXLD_D2X01_RK2(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1857 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_RK2
1858#endif
1859 use pm_kind, only: RKG => RK2
1860 real(RKG) , intent(in) :: vlow
1861 real(RKG) , intent(in), contiguous :: vdia(:)
1862 integer(IK) , intent(in) :: shape(2)
1863 integer(IK) , intent(in), optional :: nrow, ncol
1864 integer(IK) , intent(in), optional :: roff, coff, doff
1865 type(lowDia_type) , intent(in) :: subset
1866 real(RKG) :: mat(shape(1), shape(2))
1867 end function
1868#endif
1869
1870#if RK1_ENABLED
1871 PURE module function getMatInitXLD_D2X01_RK1(shape, subset, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
1872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1873 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitXLD_D2X01_RK1
1874#endif
1875 use pm_kind, only: RKG => RK1
1876 real(RKG) , intent(in) :: vlow
1877 real(RKG) , intent(in), contiguous :: vdia(:)
1878 integer(IK) , intent(in) :: shape(2)
1879 integer(IK) , intent(in), optional :: nrow, ncol
1880 integer(IK) , intent(in), optional :: roff, coff, doff
1881 type(lowDia_type) , intent(in) :: subset
1882 real(RKG) :: mat(shape(1), shape(2))
1883 end function
1884#endif
1885
1886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1887
1888 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1889 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1890 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1891
1892 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1893 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1894 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1895
1896 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1897
1898#if SK5_ENABLED
1899 PURE module function getMatInitUXD_D20X0_SK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1900#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1901 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_SK5
1902#endif
1903 use pm_kind, only: SKG => SK5
1904 character(*,SKG) , intent(in) :: vupp
1905 character(*,SKG) , intent(in) :: vdia
1906 integer(IK) , intent(in) :: shape(2)
1907 integer(IK) , intent(in), optional :: nrow, ncol
1908 integer(IK) , intent(in), optional :: roff, coff, doff
1909 type(uppDia_type) , intent(in) :: subset
1910 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1911 end function
1912#endif
1913
1914#if SK4_ENABLED
1915 PURE module function getMatInitUXD_D20X0_SK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1917 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_SK4
1918#endif
1919 use pm_kind, only: SKG => SK4
1920 character(*,SKG) , intent(in) :: vupp
1921 character(*,SKG) , intent(in) :: vdia
1922 integer(IK) , intent(in) :: shape(2)
1923 integer(IK) , intent(in), optional :: nrow, ncol
1924 integer(IK) , intent(in), optional :: roff, coff, doff
1925 type(uppDia_type) , intent(in) :: subset
1926 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1927 end function
1928#endif
1929
1930#if SK3_ENABLED
1931 PURE module function getMatInitUXD_D20X0_SK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1933 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_SK3
1934#endif
1935 use pm_kind, only: SKG => SK3
1936 character(*,SKG) , intent(in) :: vupp
1937 character(*,SKG) , intent(in) :: vdia
1938 integer(IK) , intent(in) :: shape(2)
1939 integer(IK) , intent(in), optional :: nrow, ncol
1940 integer(IK) , intent(in), optional :: roff, coff, doff
1941 type(uppDia_type) , intent(in) :: subset
1942 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1943 end function
1944#endif
1945
1946#if SK2_ENABLED
1947 PURE module function getMatInitUXD_D20X0_SK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1949 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_SK2
1950#endif
1951 use pm_kind, only: SKG => SK2
1952 character(*,SKG) , intent(in) :: vupp
1953 character(*,SKG) , intent(in) :: vdia
1954 integer(IK) , intent(in) :: shape(2)
1955 integer(IK) , intent(in), optional :: nrow, ncol
1956 integer(IK) , intent(in), optional :: roff, coff, doff
1957 type(uppDia_type) , intent(in) :: subset
1958 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1959 end function
1960#endif
1961
1962#if SK1_ENABLED
1963 PURE module function getMatInitUXD_D20X0_SK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1964#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1965 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_SK1
1966#endif
1967 use pm_kind, only: SKG => SK1
1968 character(*,SKG) , intent(in) :: vupp
1969 character(*,SKG) , intent(in) :: vdia
1970 integer(IK) , intent(in) :: shape(2)
1971 integer(IK) , intent(in), optional :: nrow, ncol
1972 integer(IK) , intent(in), optional :: roff, coff, doff
1973 type(uppDia_type) , intent(in) :: subset
1974 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
1975 end function
1976#endif
1977
1978 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1979
1980#if IK5_ENABLED
1981 PURE module function getMatInitUXD_D20X0_IK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1983 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_IK5
1984#endif
1985 use pm_kind, only: IKG => IK5
1986 integer(IKG) , intent(in) :: vupp
1987 integer(IKG) , intent(in) :: vdia
1988 integer(IK) , intent(in) :: shape(2)
1989 integer(IK) , intent(in), optional :: nrow, ncol
1990 integer(IK) , intent(in), optional :: roff, coff, doff
1991 type(uppDia_type) , intent(in) :: subset
1992 integer(IKG) :: mat(shape(1), shape(2))
1993 end function
1994#endif
1995
1996#if IK4_ENABLED
1997 PURE module function getMatInitUXD_D20X0_IK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
1998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1999 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_IK4
2000#endif
2001 use pm_kind, only: IKG => IK4
2002 integer(IKG) , intent(in) :: vupp
2003 integer(IKG) , intent(in) :: vdia
2004 integer(IK) , intent(in) :: shape(2)
2005 integer(IK) , intent(in), optional :: nrow, ncol
2006 integer(IK) , intent(in), optional :: roff, coff, doff
2007 type(uppDia_type) , intent(in) :: subset
2008 integer(IKG) :: mat(shape(1), shape(2))
2009 end function
2010#endif
2011
2012#if IK3_ENABLED
2013 PURE module function getMatInitUXD_D20X0_IK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2015 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_IK3
2016#endif
2017 use pm_kind, only: IKG => IK3
2018 integer(IKG) , intent(in) :: vupp
2019 integer(IKG) , intent(in) :: vdia
2020 integer(IK) , intent(in) :: shape(2)
2021 integer(IK) , intent(in), optional :: nrow, ncol
2022 integer(IK) , intent(in), optional :: roff, coff, doff
2023 type(uppDia_type) , intent(in) :: subset
2024 integer(IKG) :: mat(shape(1), shape(2))
2025 end function
2026#endif
2027
2028#if IK2_ENABLED
2029 PURE module function getMatInitUXD_D20X0_IK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2031 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_IK2
2032#endif
2033 use pm_kind, only: IKG => IK2
2034 integer(IKG) , intent(in) :: vupp
2035 integer(IKG) , intent(in) :: vdia
2036 integer(IK) , intent(in) :: shape(2)
2037 integer(IK) , intent(in), optional :: nrow, ncol
2038 integer(IK) , intent(in), optional :: roff, coff, doff
2039 type(uppDia_type) , intent(in) :: subset
2040 integer(IKG) :: mat(shape(1), shape(2))
2041 end function
2042#endif
2043
2044#if IK1_ENABLED
2045 PURE module function getMatInitUXD_D20X0_IK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2047 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_IK1
2048#endif
2049 use pm_kind, only: IKG => IK1
2050 integer(IKG) , intent(in) :: vupp
2051 integer(IKG) , intent(in) :: vdia
2052 integer(IK) , intent(in) :: shape(2)
2053 integer(IK) , intent(in), optional :: nrow, ncol
2054 integer(IK) , intent(in), optional :: roff, coff, doff
2055 type(uppDia_type) , intent(in) :: subset
2056 integer(IKG) :: mat(shape(1), shape(2))
2057 end function
2058#endif
2059
2060 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2061
2062#if LK5_ENABLED
2063 PURE module function getMatInitUXD_D20X0_LK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2065 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_LK5
2066#endif
2067 use pm_kind, only: LKG => LK5
2068 logical(LKG) , intent(in) :: vupp
2069 logical(LKG) , intent(in) :: vdia
2070 integer(IK) , intent(in) :: shape(2)
2071 integer(IK) , intent(in), optional :: nrow, ncol
2072 integer(IK) , intent(in), optional :: roff, coff, doff
2073 type(uppDia_type) , intent(in) :: subset
2074 logical(LKG) :: mat(shape(1), shape(2))
2075 end function
2076#endif
2077
2078#if LK4_ENABLED
2079 PURE module function getMatInitUXD_D20X0_LK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2080#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2081 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_LK4
2082#endif
2083 use pm_kind, only: LKG => LK4
2084 logical(LKG) , intent(in) :: vupp
2085 logical(LKG) , intent(in) :: vdia
2086 integer(IK) , intent(in) :: shape(2)
2087 integer(IK) , intent(in), optional :: nrow, ncol
2088 integer(IK) , intent(in), optional :: roff, coff, doff
2089 type(uppDia_type) , intent(in) :: subset
2090 logical(LKG) :: mat(shape(1), shape(2))
2091 end function
2092#endif
2093
2094#if LK3_ENABLED
2095 PURE module function getMatInitUXD_D20X0_LK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2097 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_LK3
2098#endif
2099 use pm_kind, only: LKG => LK3
2100 logical(LKG) , intent(in) :: vupp
2101 logical(LKG) , intent(in) :: vdia
2102 integer(IK) , intent(in) :: shape(2)
2103 integer(IK) , intent(in), optional :: nrow, ncol
2104 integer(IK) , intent(in), optional :: roff, coff, doff
2105 type(uppDia_type) , intent(in) :: subset
2106 logical(LKG) :: mat(shape(1), shape(2))
2107 end function
2108#endif
2109
2110#if LK2_ENABLED
2111 PURE module function getMatInitUXD_D20X0_LK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2113 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_LK2
2114#endif
2115 use pm_kind, only: LKG => LK2
2116 logical(LKG) , intent(in) :: vupp
2117 logical(LKG) , intent(in) :: vdia
2118 integer(IK) , intent(in) :: shape(2)
2119 integer(IK) , intent(in), optional :: nrow, ncol
2120 integer(IK) , intent(in), optional :: roff, coff, doff
2121 type(uppDia_type) , intent(in) :: subset
2122 logical(LKG) :: mat(shape(1), shape(2))
2123 end function
2124#endif
2125
2126#if LK1_ENABLED
2127 PURE module function getMatInitUXD_D20X0_LK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2129 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_LK1
2130#endif
2131 use pm_kind, only: LKG => LK1
2132 logical(LKG) , intent(in) :: vupp
2133 logical(LKG) , intent(in) :: vdia
2134 integer(IK) , intent(in) :: shape(2)
2135 integer(IK) , intent(in), optional :: nrow, ncol
2136 integer(IK) , intent(in), optional :: roff, coff, doff
2137 type(uppDia_type) , intent(in) :: subset
2138 logical(LKG) :: mat(shape(1), shape(2))
2139 end function
2140#endif
2141
2142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2143
2144#if CK5_ENABLED
2145 PURE module function getMatInitUXD_D20X0_CK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2147 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_CK5
2148#endif
2149 use pm_kind, only: CKG => CK5
2150 complex(CKG) , intent(in) :: vupp
2151 complex(CKG) , intent(in) :: vdia
2152 integer(IK) , intent(in) :: shape(2)
2153 integer(IK) , intent(in), optional :: nrow, ncol
2154 integer(IK) , intent(in), optional :: roff, coff, doff
2155 type(uppDia_type) , intent(in) :: subset
2156 complex(CKG) :: mat(shape(1), shape(2))
2157 end function
2158#endif
2159
2160#if CK4_ENABLED
2161 PURE module function getMatInitUXD_D20X0_CK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2163 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_CK4
2164#endif
2165 use pm_kind, only: CKG => CK4
2166 complex(CKG) , intent(in) :: vupp
2167 complex(CKG) , intent(in) :: vdia
2168 integer(IK) , intent(in) :: shape(2)
2169 integer(IK) , intent(in), optional :: nrow, ncol
2170 integer(IK) , intent(in), optional :: roff, coff, doff
2171 type(uppDia_type) , intent(in) :: subset
2172 complex(CKG) :: mat(shape(1), shape(2))
2173 end function
2174#endif
2175
2176#if CK3_ENABLED
2177 PURE module function getMatInitUXD_D20X0_CK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2179 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_CK3
2180#endif
2181 use pm_kind, only: CKG => CK3
2182 complex(CKG) , intent(in) :: vupp
2183 complex(CKG) , intent(in) :: vdia
2184 integer(IK) , intent(in) :: shape(2)
2185 integer(IK) , intent(in), optional :: nrow, ncol
2186 integer(IK) , intent(in), optional :: roff, coff, doff
2187 type(uppDia_type) , intent(in) :: subset
2188 complex(CKG) :: mat(shape(1), shape(2))
2189 end function
2190#endif
2191
2192#if CK2_ENABLED
2193 PURE module function getMatInitUXD_D20X0_CK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2195 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_CK2
2196#endif
2197 use pm_kind, only: CKG => CK2
2198 complex(CKG) , intent(in) :: vupp
2199 complex(CKG) , intent(in) :: vdia
2200 integer(IK) , intent(in) :: shape(2)
2201 integer(IK) , intent(in), optional :: nrow, ncol
2202 integer(IK) , intent(in), optional :: roff, coff, doff
2203 type(uppDia_type) , intent(in) :: subset
2204 complex(CKG) :: mat(shape(1), shape(2))
2205 end function
2206#endif
2207
2208#if CK1_ENABLED
2209 PURE module function getMatInitUXD_D20X0_CK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2211 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_CK1
2212#endif
2213 use pm_kind, only: CKG => CK1
2214 complex(CKG) , intent(in) :: vupp
2215 complex(CKG) , intent(in) :: vdia
2216 integer(IK) , intent(in) :: shape(2)
2217 integer(IK) , intent(in), optional :: nrow, ncol
2218 integer(IK) , intent(in), optional :: roff, coff, doff
2219 type(uppDia_type) , intent(in) :: subset
2220 complex(CKG) :: mat(shape(1), shape(2))
2221 end function
2222#endif
2223
2224 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2225
2226#if RK5_ENABLED
2227 PURE module function getMatInitUXD_D20X0_RK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2229 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_RK5
2230#endif
2231 use pm_kind, only: RKG => RK5
2232 real(RKG) , intent(in) :: vupp
2233 real(RKG) , intent(in) :: vdia
2234 integer(IK) , intent(in) :: shape(2)
2235 integer(IK) , intent(in), optional :: nrow, ncol
2236 integer(IK) , intent(in), optional :: roff, coff, doff
2237 type(uppDia_type) , intent(in) :: subset
2238 real(RKG) :: mat(shape(1), shape(2))
2239 end function
2240#endif
2241
2242#if RK4_ENABLED
2243 PURE module function getMatInitUXD_D20X0_RK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2245 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_RK4
2246#endif
2247 use pm_kind, only: RKG => RK4
2248 real(RKG) , intent(in) :: vupp
2249 real(RKG) , intent(in) :: vdia
2250 integer(IK) , intent(in) :: shape(2)
2251 integer(IK) , intent(in), optional :: nrow, ncol
2252 integer(IK) , intent(in), optional :: roff, coff, doff
2253 type(uppDia_type) , intent(in) :: subset
2254 real(RKG) :: mat(shape(1), shape(2))
2255 end function
2256#endif
2257
2258#if RK3_ENABLED
2259 PURE module function getMatInitUXD_D20X0_RK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2261 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_RK3
2262#endif
2263 use pm_kind, only: RKG => RK3
2264 real(RKG) , intent(in) :: vupp
2265 real(RKG) , intent(in) :: vdia
2266 integer(IK) , intent(in) :: shape(2)
2267 integer(IK) , intent(in), optional :: nrow, ncol
2268 integer(IK) , intent(in), optional :: roff, coff, doff
2269 type(uppDia_type) , intent(in) :: subset
2270 real(RKG) :: mat(shape(1), shape(2))
2271 end function
2272#endif
2273
2274#if RK2_ENABLED
2275 PURE module function getMatInitUXD_D20X0_RK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2277 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_RK2
2278#endif
2279 use pm_kind, only: RKG => RK2
2280 real(RKG) , intent(in) :: vupp
2281 real(RKG) , intent(in) :: vdia
2282 integer(IK) , intent(in) :: shape(2)
2283 integer(IK) , intent(in), optional :: nrow, ncol
2284 integer(IK) , intent(in), optional :: roff, coff, doff
2285 type(uppDia_type) , intent(in) :: subset
2286 real(RKG) :: mat(shape(1), shape(2))
2287 end function
2288#endif
2289
2290#if RK1_ENABLED
2291 PURE module function getMatInitUXD_D20X0_RK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2293 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X0_RK1
2294#endif
2295 use pm_kind, only: RKG => RK1
2296 real(RKG) , intent(in) :: vupp
2297 real(RKG) , intent(in) :: vdia
2298 integer(IK) , intent(in) :: shape(2)
2299 integer(IK) , intent(in), optional :: nrow, ncol
2300 integer(IK) , intent(in), optional :: roff, coff, doff
2301 type(uppDia_type) , intent(in) :: subset
2302 real(RKG) :: mat(shape(1), shape(2))
2303 end function
2304#endif
2305
2306 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2307
2308 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2309 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2310 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2311
2312 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2313
2314#if SK5_ENABLED
2315 PURE module function getMatInitUXD_D20X1_SK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2317 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_SK5
2318#endif
2319 use pm_kind, only: SKG => SK5
2320 character(*,SKG) , intent(in) :: vupp
2321 character(*,SKG) , intent(in), contiguous :: vdia(:)
2322 integer(IK) , intent(in) :: shape(2)
2323 integer(IK) , intent(in), optional :: nrow, ncol
2324 integer(IK) , intent(in), optional :: roff, coff, doff
2325 type(uppDia_type) , intent(in) :: subset
2326 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
2327 end function
2328#endif
2329
2330#if SK4_ENABLED
2331 PURE module function getMatInitUXD_D20X1_SK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2332#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2333 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_SK4
2334#endif
2335 use pm_kind, only: SKG => SK4
2336 character(*,SKG) , intent(in) :: vupp
2337 character(*,SKG) , intent(in), contiguous :: vdia(:)
2338 integer(IK) , intent(in) :: shape(2)
2339 integer(IK) , intent(in), optional :: nrow, ncol
2340 integer(IK) , intent(in), optional :: roff, coff, doff
2341 type(uppDia_type) , intent(in) :: subset
2342 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
2343 end function
2344#endif
2345
2346#if SK3_ENABLED
2347 PURE module function getMatInitUXD_D20X1_SK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2349 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_SK3
2350#endif
2351 use pm_kind, only: SKG => SK3
2352 character(*,SKG) , intent(in) :: vupp
2353 character(*,SKG) , intent(in), contiguous :: vdia(:)
2354 integer(IK) , intent(in) :: shape(2)
2355 integer(IK) , intent(in), optional :: nrow, ncol
2356 integer(IK) , intent(in), optional :: roff, coff, doff
2357 type(uppDia_type) , intent(in) :: subset
2358 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
2359 end function
2360#endif
2361
2362#if SK2_ENABLED
2363 PURE module function getMatInitUXD_D20X1_SK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2365 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_SK2
2366#endif
2367 use pm_kind, only: SKG => SK2
2368 character(*,SKG) , intent(in) :: vupp
2369 character(*,SKG) , intent(in), contiguous :: vdia(:)
2370 integer(IK) , intent(in) :: shape(2)
2371 integer(IK) , intent(in), optional :: nrow, ncol
2372 integer(IK) , intent(in), optional :: roff, coff, doff
2373 type(uppDia_type) , intent(in) :: subset
2374 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
2375 end function
2376#endif
2377
2378#if SK1_ENABLED
2379 PURE module function getMatInitUXD_D20X1_SK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2381 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_SK1
2382#endif
2383 use pm_kind, only: SKG => SK1
2384 character(*,SKG) , intent(in) :: vupp
2385 character(*,SKG) , intent(in), contiguous :: vdia(:)
2386 integer(IK) , intent(in) :: shape(2)
2387 integer(IK) , intent(in), optional :: nrow, ncol
2388 integer(IK) , intent(in), optional :: roff, coff, doff
2389 type(uppDia_type) , intent(in) :: subset
2390 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
2391 end function
2392#endif
2393
2394 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2395
2396#if IK5_ENABLED
2397 PURE module function getMatInitUXD_D20X1_IK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2399 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_IK5
2400#endif
2401 use pm_kind, only: IKG => IK5
2402 integer(IKG) , intent(in) :: vupp
2403 integer(IKG) , intent(in), contiguous :: vdia(:)
2404 integer(IK) , intent(in) :: shape(2)
2405 integer(IK) , intent(in), optional :: nrow, ncol
2406 integer(IK) , intent(in), optional :: roff, coff, doff
2407 type(uppDia_type) , intent(in) :: subset
2408 integer(IKG) :: mat(shape(1), shape(2))
2409 end function
2410#endif
2411
2412#if IK4_ENABLED
2413 PURE module function getMatInitUXD_D20X1_IK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2415 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_IK4
2416#endif
2417 use pm_kind, only: IKG => IK4
2418 integer(IKG) , intent(in) :: vupp
2419 integer(IKG) , intent(in), contiguous :: vdia(:)
2420 integer(IK) , intent(in) :: shape(2)
2421 integer(IK) , intent(in), optional :: nrow, ncol
2422 integer(IK) , intent(in), optional :: roff, coff, doff
2423 type(uppDia_type) , intent(in) :: subset
2424 integer(IKG) :: mat(shape(1), shape(2))
2425 end function
2426#endif
2427
2428#if IK3_ENABLED
2429 PURE module function getMatInitUXD_D20X1_IK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2431 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_IK3
2432#endif
2433 use pm_kind, only: IKG => IK3
2434 integer(IKG) , intent(in) :: vupp
2435 integer(IKG) , intent(in), contiguous :: vdia(:)
2436 integer(IK) , intent(in) :: shape(2)
2437 integer(IK) , intent(in), optional :: nrow, ncol
2438 integer(IK) , intent(in), optional :: roff, coff, doff
2439 type(uppDia_type) , intent(in) :: subset
2440 integer(IKG) :: mat(shape(1), shape(2))
2441 end function
2442#endif
2443
2444#if IK2_ENABLED
2445 PURE module function getMatInitUXD_D20X1_IK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2446#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2447 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_IK2
2448#endif
2449 use pm_kind, only: IKG => IK2
2450 integer(IKG) , intent(in) :: vupp
2451 integer(IKG) , intent(in), contiguous :: vdia(:)
2452 integer(IK) , intent(in) :: shape(2)
2453 integer(IK) , intent(in), optional :: nrow, ncol
2454 integer(IK) , intent(in), optional :: roff, coff, doff
2455 type(uppDia_type) , intent(in) :: subset
2456 integer(IKG) :: mat(shape(1), shape(2))
2457 end function
2458#endif
2459
2460#if IK1_ENABLED
2461 PURE module function getMatInitUXD_D20X1_IK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2462#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2463 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_IK1
2464#endif
2465 use pm_kind, only: IKG => IK1
2466 integer(IKG) , intent(in) :: vupp
2467 integer(IKG) , intent(in), contiguous :: vdia(:)
2468 integer(IK) , intent(in) :: shape(2)
2469 integer(IK) , intent(in), optional :: nrow, ncol
2470 integer(IK) , intent(in), optional :: roff, coff, doff
2471 type(uppDia_type) , intent(in) :: subset
2472 integer(IKG) :: mat(shape(1), shape(2))
2473 end function
2474#endif
2475
2476 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2477
2478#if LK5_ENABLED
2479 PURE module function getMatInitUXD_D20X1_LK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2480#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2481 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_LK5
2482#endif
2483 use pm_kind, only: LKG => LK5
2484 logical(LKG) , intent(in) :: vupp
2485 logical(LKG) , intent(in), contiguous :: vdia(:)
2486 integer(IK) , intent(in) :: shape(2)
2487 integer(IK) , intent(in), optional :: nrow, ncol
2488 integer(IK) , intent(in), optional :: roff, coff, doff
2489 type(uppDia_type) , intent(in) :: subset
2490 logical(LKG) :: mat(shape(1), shape(2))
2491 end function
2492#endif
2493
2494#if LK4_ENABLED
2495 PURE module function getMatInitUXD_D20X1_LK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2497 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_LK4
2498#endif
2499 use pm_kind, only: LKG => LK4
2500 logical(LKG) , intent(in) :: vupp
2501 logical(LKG) , intent(in), contiguous :: vdia(:)
2502 integer(IK) , intent(in) :: shape(2)
2503 integer(IK) , intent(in), optional :: nrow, ncol
2504 integer(IK) , intent(in), optional :: roff, coff, doff
2505 type(uppDia_type) , intent(in) :: subset
2506 logical(LKG) :: mat(shape(1), shape(2))
2507 end function
2508#endif
2509
2510#if LK3_ENABLED
2511 PURE module function getMatInitUXD_D20X1_LK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2512#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2513 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_LK3
2514#endif
2515 use pm_kind, only: LKG => LK3
2516 logical(LKG) , intent(in) :: vupp
2517 logical(LKG) , intent(in), contiguous :: vdia(:)
2518 integer(IK) , intent(in) :: shape(2)
2519 integer(IK) , intent(in), optional :: nrow, ncol
2520 integer(IK) , intent(in), optional :: roff, coff, doff
2521 type(uppDia_type) , intent(in) :: subset
2522 logical(LKG) :: mat(shape(1), shape(2))
2523 end function
2524#endif
2525
2526#if LK2_ENABLED
2527 PURE module function getMatInitUXD_D20X1_LK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2529 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_LK2
2530#endif
2531 use pm_kind, only: LKG => LK2
2532 logical(LKG) , intent(in) :: vupp
2533 logical(LKG) , intent(in), contiguous :: vdia(:)
2534 integer(IK) , intent(in) :: shape(2)
2535 integer(IK) , intent(in), optional :: nrow, ncol
2536 integer(IK) , intent(in), optional :: roff, coff, doff
2537 type(uppDia_type) , intent(in) :: subset
2538 logical(LKG) :: mat(shape(1), shape(2))
2539 end function
2540#endif
2541
2542#if LK1_ENABLED
2543 PURE module function getMatInitUXD_D20X1_LK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2545 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_LK1
2546#endif
2547 use pm_kind, only: LKG => LK1
2548 logical(LKG) , intent(in) :: vupp
2549 logical(LKG) , intent(in), contiguous :: vdia(:)
2550 integer(IK) , intent(in) :: shape(2)
2551 integer(IK) , intent(in), optional :: nrow, ncol
2552 integer(IK) , intent(in), optional :: roff, coff, doff
2553 type(uppDia_type) , intent(in) :: subset
2554 logical(LKG) :: mat(shape(1), shape(2))
2555 end function
2556#endif
2557
2558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2559
2560#if CK5_ENABLED
2561 PURE module function getMatInitUXD_D20X1_CK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2563 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_CK5
2564#endif
2565 use pm_kind, only: CKG => CK5
2566 complex(CKG) , intent(in) :: vupp
2567 complex(CKG) , intent(in), contiguous :: vdia(:)
2568 integer(IK) , intent(in) :: shape(2)
2569 integer(IK) , intent(in), optional :: nrow, ncol
2570 integer(IK) , intent(in), optional :: roff, coff, doff
2571 type(uppDia_type) , intent(in) :: subset
2572 complex(CKG) :: mat(shape(1), shape(2))
2573 end function
2574#endif
2575
2576#if CK4_ENABLED
2577 PURE module function getMatInitUXD_D20X1_CK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2579 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_CK4
2580#endif
2581 use pm_kind, only: CKG => CK4
2582 complex(CKG) , intent(in) :: vupp
2583 complex(CKG) , intent(in), contiguous :: vdia(:)
2584 integer(IK) , intent(in) :: shape(2)
2585 integer(IK) , intent(in), optional :: nrow, ncol
2586 integer(IK) , intent(in), optional :: roff, coff, doff
2587 type(uppDia_type) , intent(in) :: subset
2588 complex(CKG) :: mat(shape(1), shape(2))
2589 end function
2590#endif
2591
2592#if CK3_ENABLED
2593 PURE module function getMatInitUXD_D20X1_CK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2594#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2595 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_CK3
2596#endif
2597 use pm_kind, only: CKG => CK3
2598 complex(CKG) , intent(in) :: vupp
2599 complex(CKG) , intent(in), contiguous :: vdia(:)
2600 integer(IK) , intent(in) :: shape(2)
2601 integer(IK) , intent(in), optional :: nrow, ncol
2602 integer(IK) , intent(in), optional :: roff, coff, doff
2603 type(uppDia_type) , intent(in) :: subset
2604 complex(CKG) :: mat(shape(1), shape(2))
2605 end function
2606#endif
2607
2608#if CK2_ENABLED
2609 PURE module function getMatInitUXD_D20X1_CK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2611 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_CK2
2612#endif
2613 use pm_kind, only: CKG => CK2
2614 complex(CKG) , intent(in) :: vupp
2615 complex(CKG) , intent(in), contiguous :: vdia(:)
2616 integer(IK) , intent(in) :: shape(2)
2617 integer(IK) , intent(in), optional :: nrow, ncol
2618 integer(IK) , intent(in), optional :: roff, coff, doff
2619 type(uppDia_type) , intent(in) :: subset
2620 complex(CKG) :: mat(shape(1), shape(2))
2621 end function
2622#endif
2623
2624#if CK1_ENABLED
2625 PURE module function getMatInitUXD_D20X1_CK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2627 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_CK1
2628#endif
2629 use pm_kind, only: CKG => CK1
2630 complex(CKG) , intent(in) :: vupp
2631 complex(CKG) , intent(in), contiguous :: vdia(:)
2632 integer(IK) , intent(in) :: shape(2)
2633 integer(IK) , intent(in), optional :: nrow, ncol
2634 integer(IK) , intent(in), optional :: roff, coff, doff
2635 type(uppDia_type) , intent(in) :: subset
2636 complex(CKG) :: mat(shape(1), shape(2))
2637 end function
2638#endif
2639
2640 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2641
2642#if RK5_ENABLED
2643 PURE module function getMatInitUXD_D20X1_RK5(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2645 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_RK5
2646#endif
2647 use pm_kind, only: RKG => RK5
2648 real(RKG) , intent(in) :: vupp
2649 real(RKG) , intent(in), contiguous :: vdia(:)
2650 integer(IK) , intent(in) :: shape(2)
2651 integer(IK) , intent(in), optional :: nrow, ncol
2652 integer(IK) , intent(in), optional :: roff, coff, doff
2653 type(uppDia_type) , intent(in) :: subset
2654 real(RKG) :: mat(shape(1), shape(2))
2655 end function
2656#endif
2657
2658#if RK4_ENABLED
2659 PURE module function getMatInitUXD_D20X1_RK4(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2661 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_RK4
2662#endif
2663 use pm_kind, only: RKG => RK4
2664 real(RKG) , intent(in) :: vupp
2665 real(RKG) , intent(in), contiguous :: vdia(:)
2666 integer(IK) , intent(in) :: shape(2)
2667 integer(IK) , intent(in), optional :: nrow, ncol
2668 integer(IK) , intent(in), optional :: roff, coff, doff
2669 type(uppDia_type) , intent(in) :: subset
2670 real(RKG) :: mat(shape(1), shape(2))
2671 end function
2672#endif
2673
2674#if RK3_ENABLED
2675 PURE module function getMatInitUXD_D20X1_RK3(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2677 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_RK3
2678#endif
2679 use pm_kind, only: RKG => RK3
2680 real(RKG) , intent(in) :: vupp
2681 real(RKG) , intent(in), contiguous :: vdia(:)
2682 integer(IK) , intent(in) :: shape(2)
2683 integer(IK) , intent(in), optional :: nrow, ncol
2684 integer(IK) , intent(in), optional :: roff, coff, doff
2685 type(uppDia_type) , intent(in) :: subset
2686 real(RKG) :: mat(shape(1), shape(2))
2687 end function
2688#endif
2689
2690#if RK2_ENABLED
2691 PURE module function getMatInitUXD_D20X1_RK2(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2693 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_RK2
2694#endif
2695 use pm_kind, only: RKG => RK2
2696 real(RKG) , intent(in) :: vupp
2697 real(RKG) , intent(in), contiguous :: vdia(:)
2698 integer(IK) , intent(in) :: shape(2)
2699 integer(IK) , intent(in), optional :: nrow, ncol
2700 integer(IK) , intent(in), optional :: roff, coff, doff
2701 type(uppDia_type) , intent(in) :: subset
2702 real(RKG) :: mat(shape(1), shape(2))
2703 end function
2704#endif
2705
2706#if RK1_ENABLED
2707 PURE module function getMatInitUXD_D20X1_RK1(shape, subset, vupp, vdia, nrow, ncol, roff, coff, doff) result(mat)
2708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2709 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitUXD_D20X1_RK1
2710#endif
2711 use pm_kind, only: RKG => RK1
2712 real(RKG) , intent(in) :: vupp
2713 real(RKG) , intent(in), contiguous :: vdia(:)
2714 integer(IK) , intent(in) :: shape(2)
2715 integer(IK) , intent(in), optional :: nrow, ncol
2716 integer(IK) , intent(in), optional :: roff, coff, doff
2717 type(uppDia_type) , intent(in) :: subset
2718 real(RKG) :: mat(shape(1), shape(2))
2719 end function
2720#endif
2721
2722 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2723
2724 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2725 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2727
2728 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2729 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2730 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2731
2732 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2733
2734#if SK5_ENABLED
2735 PURE module function getMatInitULX_D200X_SK5(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2737 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_SK5
2738#endif
2739 use pm_kind, only: SKG => SK5
2740 character(*,SKG) , intent(in) :: vupp, vlow
2741 integer(IK) , intent(in) :: shape(2)
2742 integer(IK) , intent(in), optional :: nrow, ncol
2743 integer(IK) , intent(in), optional :: roff, coff, doff
2744 type(uppLow_type) , intent(in) :: subset
2745 character(len(vupp,IK),SKG) :: mat(shape(1), shape(2))
2746 end function
2747#endif
2748
2749#if SK4_ENABLED
2750 PURE module function getMatInitULX_D200X_SK4(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2752 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_SK4
2753#endif
2754 use pm_kind, only: SKG => SK4
2755 character(*,SKG) , intent(in) :: vupp, vlow
2756 integer(IK) , intent(in) :: shape(2)
2757 integer(IK) , intent(in), optional :: nrow, ncol
2758 integer(IK) , intent(in), optional :: roff, coff, doff
2759 type(uppLow_type) , intent(in) :: subset
2760 character(len(vupp,IK),SKG) :: mat(shape(1), shape(2))
2761 end function
2762#endif
2763
2764#if SK3_ENABLED
2765 PURE module function getMatInitULX_D200X_SK3(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2767 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_SK3
2768#endif
2769 use pm_kind, only: SKG => SK3
2770 character(*,SKG) , intent(in) :: vupp, vlow
2771 integer(IK) , intent(in) :: shape(2)
2772 integer(IK) , intent(in), optional :: nrow, ncol
2773 integer(IK) , intent(in), optional :: roff, coff, doff
2774 type(uppLow_type) , intent(in) :: subset
2775 character(len(vupp,IK),SKG) :: mat(shape(1), shape(2))
2776 end function
2777#endif
2778
2779#if SK2_ENABLED
2780 PURE module function getMatInitULX_D200X_SK2(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2782 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_SK2
2783#endif
2784 use pm_kind, only: SKG => SK2
2785 character(*,SKG) , intent(in) :: vupp, vlow
2786 integer(IK) , intent(in) :: shape(2)
2787 integer(IK) , intent(in), optional :: nrow, ncol
2788 integer(IK) , intent(in), optional :: roff, coff, doff
2789 type(uppLow_type) , intent(in) :: subset
2790 character(len(vupp,IK),SKG) :: mat(shape(1), shape(2))
2791 end function
2792#endif
2793
2794#if SK1_ENABLED
2795 PURE module function getMatInitULX_D200X_SK1(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2797 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_SK1
2798#endif
2799 use pm_kind, only: SKG => SK1
2800 character(*,SKG) , intent(in) :: vupp, vlow
2801 integer(IK) , intent(in) :: shape(2)
2802 integer(IK) , intent(in), optional :: nrow, ncol
2803 integer(IK) , intent(in), optional :: roff, coff, doff
2804 type(uppLow_type) , intent(in) :: subset
2805 character(len(vupp,IK),SKG) :: mat(shape(1), shape(2))
2806 end function
2807#endif
2808
2809 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2810
2811#if IK5_ENABLED
2812 PURE module function getMatInitULX_D200X_IK5(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2814 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_IK5
2815#endif
2816 use pm_kind, only: IKG => IK5
2817 integer(IKG) , intent(in) :: vupp, vlow
2818 integer(IK) , intent(in) :: shape(2)
2819 integer(IK) , intent(in), optional :: nrow, ncol
2820 integer(IK) , intent(in), optional :: roff, coff, doff
2821 type(uppLow_type) , intent(in) :: subset
2822 integer(IKG) :: mat(shape(1), shape(2))
2823 end function
2824#endif
2825
2826#if IK4_ENABLED
2827 PURE module function getMatInitULX_D200X_IK4(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2829 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_IK4
2830#endif
2831 use pm_kind, only: IKG => IK4
2832 integer(IKG) , intent(in) :: vupp, vlow
2833 integer(IK) , intent(in) :: shape(2)
2834 integer(IK) , intent(in), optional :: nrow, ncol
2835 integer(IK) , intent(in), optional :: roff, coff, doff
2836 type(uppLow_type) , intent(in) :: subset
2837 integer(IKG) :: mat(shape(1), shape(2))
2838 end function
2839#endif
2840
2841#if IK3_ENABLED
2842 PURE module function getMatInitULX_D200X_IK3(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2844 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_IK3
2845#endif
2846 use pm_kind, only: IKG => IK3
2847 integer(IKG) , intent(in) :: vupp, vlow
2848 integer(IK) , intent(in) :: shape(2)
2849 integer(IK) , intent(in), optional :: nrow, ncol
2850 integer(IK) , intent(in), optional :: roff, coff, doff
2851 type(uppLow_type) , intent(in) :: subset
2852 integer(IKG) :: mat(shape(1), shape(2))
2853 end function
2854#endif
2855
2856#if IK2_ENABLED
2857 PURE module function getMatInitULX_D200X_IK2(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2858#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2859 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_IK2
2860#endif
2861 use pm_kind, only: IKG => IK2
2862 integer(IKG) , intent(in) :: vupp, vlow
2863 integer(IK) , intent(in) :: shape(2)
2864 integer(IK) , intent(in), optional :: nrow, ncol
2865 integer(IK) , intent(in), optional :: roff, coff, doff
2866 type(uppLow_type) , intent(in) :: subset
2867 integer(IKG) :: mat(shape(1), shape(2))
2868 end function
2869#endif
2870
2871#if IK1_ENABLED
2872 PURE module function getMatInitULX_D200X_IK1(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2874 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_IK1
2875#endif
2876 use pm_kind, only: IKG => IK1
2877 integer(IKG) , intent(in) :: vupp, vlow
2878 integer(IK) , intent(in) :: shape(2)
2879 integer(IK) , intent(in), optional :: nrow, ncol
2880 integer(IK) , intent(in), optional :: roff, coff, doff
2881 type(uppLow_type) , intent(in) :: subset
2882 integer(IKG) :: mat(shape(1), shape(2))
2883 end function
2884#endif
2885
2886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2887
2888#if LK5_ENABLED
2889 PURE module function getMatInitULX_D200X_LK5(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2891 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_LK5
2892#endif
2893 use pm_kind, only: LKG => LK5
2894 logical(LKG) , intent(in) :: vupp, vlow
2895 integer(IK) , intent(in) :: shape(2)
2896 integer(IK) , intent(in), optional :: nrow, ncol
2897 integer(IK) , intent(in), optional :: roff, coff, doff
2898 type(uppLow_type) , intent(in) :: subset
2899 logical(LKG) :: mat(shape(1), shape(2))
2900 end function
2901#endif
2902
2903#if LK4_ENABLED
2904 PURE module function getMatInitULX_D200X_LK4(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2906 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_LK4
2907#endif
2908 use pm_kind, only: LKG => LK4
2909 logical(LKG) , intent(in) :: vupp, vlow
2910 integer(IK) , intent(in) :: shape(2)
2911 integer(IK) , intent(in), optional :: nrow, ncol
2912 integer(IK) , intent(in), optional :: roff, coff, doff
2913 type(uppLow_type) , intent(in) :: subset
2914 logical(LKG) :: mat(shape(1), shape(2))
2915 end function
2916#endif
2917
2918#if LK3_ENABLED
2919 PURE module function getMatInitULX_D200X_LK3(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2921 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_LK3
2922#endif
2923 use pm_kind, only: LKG => LK3
2924 logical(LKG) , intent(in) :: vupp, vlow
2925 integer(IK) , intent(in) :: shape(2)
2926 integer(IK) , intent(in), optional :: nrow, ncol
2927 integer(IK) , intent(in), optional :: roff, coff, doff
2928 type(uppLow_type) , intent(in) :: subset
2929 logical(LKG) :: mat(shape(1), shape(2))
2930 end function
2931#endif
2932
2933#if LK2_ENABLED
2934 PURE module function getMatInitULX_D200X_LK2(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2935#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2936 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_LK2
2937#endif
2938 use pm_kind, only: LKG => LK2
2939 logical(LKG) , intent(in) :: vupp, vlow
2940 integer(IK) , intent(in) :: shape(2)
2941 integer(IK) , intent(in), optional :: nrow, ncol
2942 integer(IK) , intent(in), optional :: roff, coff, doff
2943 type(uppLow_type) , intent(in) :: subset
2944 logical(LKG) :: mat(shape(1), shape(2))
2945 end function
2946#endif
2947
2948#if LK1_ENABLED
2949 PURE module function getMatInitULX_D200X_LK1(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2951 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_LK1
2952#endif
2953 use pm_kind, only: LKG => LK1
2954 logical(LKG) , intent(in) :: vupp, vlow
2955 integer(IK) , intent(in) :: shape(2)
2956 integer(IK) , intent(in), optional :: nrow, ncol
2957 integer(IK) , intent(in), optional :: roff, coff, doff
2958 type(uppLow_type) , intent(in) :: subset
2959 logical(LKG) :: mat(shape(1), shape(2))
2960 end function
2961#endif
2962
2963 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2964
2965#if CK5_ENABLED
2966 PURE module function getMatInitULX_D200X_CK5(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2968 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_CK5
2969#endif
2970 use pm_kind, only: CKG => CK5
2971 complex(CKG) , intent(in) :: vupp, vlow
2972 integer(IK) , intent(in) :: shape(2)
2973 integer(IK) , intent(in), optional :: nrow, ncol
2974 integer(IK) , intent(in), optional :: roff, coff, doff
2975 type(uppLow_type) , intent(in) :: subset
2976 complex(CKG) :: mat(shape(1), shape(2))
2977 end function
2978#endif
2979
2980#if CK4_ENABLED
2981 PURE module function getMatInitULX_D200X_CK4(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2983 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_CK4
2984#endif
2985 use pm_kind, only: CKG => CK4
2986 complex(CKG) , intent(in) :: vupp, vlow
2987 integer(IK) , intent(in) :: shape(2)
2988 integer(IK) , intent(in), optional :: nrow, ncol
2989 integer(IK) , intent(in), optional :: roff, coff, doff
2990 type(uppLow_type) , intent(in) :: subset
2991 complex(CKG) :: mat(shape(1), shape(2))
2992 end function
2993#endif
2994
2995#if CK3_ENABLED
2996 PURE module function getMatInitULX_D200X_CK3(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
2997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2998 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_CK3
2999#endif
3000 use pm_kind, only: CKG => CK3
3001 complex(CKG) , intent(in) :: vupp, vlow
3002 integer(IK) , intent(in) :: shape(2)
3003 integer(IK) , intent(in), optional :: nrow, ncol
3004 integer(IK) , intent(in), optional :: roff, coff, doff
3005 type(uppLow_type) , intent(in) :: subset
3006 complex(CKG) :: mat(shape(1), shape(2))
3007 end function
3008#endif
3009
3010#if CK2_ENABLED
3011 PURE module function getMatInitULX_D200X_CK2(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3013 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_CK2
3014#endif
3015 use pm_kind, only: CKG => CK2
3016 complex(CKG) , intent(in) :: vupp, vlow
3017 integer(IK) , intent(in) :: shape(2)
3018 integer(IK) , intent(in), optional :: nrow, ncol
3019 integer(IK) , intent(in), optional :: roff, coff, doff
3020 type(uppLow_type) , intent(in) :: subset
3021 complex(CKG) :: mat(shape(1), shape(2))
3022 end function
3023#endif
3024
3025#if CK1_ENABLED
3026 PURE module function getMatInitULX_D200X_CK1(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3028 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_CK1
3029#endif
3030 use pm_kind, only: CKG => CK1
3031 complex(CKG) , intent(in) :: vupp, vlow
3032 integer(IK) , intent(in) :: shape(2)
3033 integer(IK) , intent(in), optional :: nrow, ncol
3034 integer(IK) , intent(in), optional :: roff, coff, doff
3035 type(uppLow_type) , intent(in) :: subset
3036 complex(CKG) :: mat(shape(1), shape(2))
3037 end function
3038#endif
3039
3040 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3041
3042#if RK5_ENABLED
3043 PURE module function getMatInitULX_D200X_RK5(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3044#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3045 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_RK5
3046#endif
3047 use pm_kind, only: RKG => RK5
3048 real(RKG) , intent(in) :: vupp, vlow
3049 integer(IK) , intent(in) :: shape(2)
3050 integer(IK) , intent(in), optional :: nrow, ncol
3051 integer(IK) , intent(in), optional :: roff, coff, doff
3052 type(uppLow_type) , intent(in) :: subset
3053 real(RKG) :: mat(shape(1), shape(2))
3054 end function
3055#endif
3056
3057#if RK4_ENABLED
3058 PURE module function getMatInitULX_D200X_RK4(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3060 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_RK4
3061#endif
3062 use pm_kind, only: RKG => RK4
3063 real(RKG) , intent(in) :: vupp, vlow
3064 integer(IK) , intent(in) :: shape(2)
3065 integer(IK) , intent(in), optional :: nrow, ncol
3066 integer(IK) , intent(in), optional :: roff, coff, doff
3067 type(uppLow_type) , intent(in) :: subset
3068 real(RKG) :: mat(shape(1), shape(2))
3069 end function
3070#endif
3071
3072#if RK3_ENABLED
3073 PURE module function getMatInitULX_D200X_RK3(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3075 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_RK3
3076#endif
3077 use pm_kind, only: RKG => RK3
3078 real(RKG) , intent(in) :: vupp, vlow
3079 integer(IK) , intent(in) :: shape(2)
3080 integer(IK) , intent(in), optional :: nrow, ncol
3081 integer(IK) , intent(in), optional :: roff, coff, doff
3082 type(uppLow_type) , intent(in) :: subset
3083 real(RKG) :: mat(shape(1), shape(2))
3084 end function
3085#endif
3086
3087#if RK2_ENABLED
3088 PURE module function getMatInitULX_D200X_RK2(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3090 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_RK2
3091#endif
3092 use pm_kind, only: RKG => RK2
3093 real(RKG) , intent(in) :: vupp, vlow
3094 integer(IK) , intent(in) :: shape(2)
3095 integer(IK) , intent(in), optional :: nrow, ncol
3096 integer(IK) , intent(in), optional :: roff, coff, doff
3097 type(uppLow_type) , intent(in) :: subset
3098 real(RKG) :: mat(shape(1), shape(2))
3099 end function
3100#endif
3101
3102#if RK1_ENABLED
3103 PURE module function getMatInitULX_D200X_RK1(shape, subset, vupp, vlow, nrow, ncol, roff, coff, doff) result(mat)
3104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3105 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULX_D200X_RK1
3106#endif
3107 use pm_kind, only: RKG => RK1
3108 real(RKG) , intent(in) :: vupp, vlow
3109 integer(IK) , intent(in) :: shape(2)
3110 integer(IK) , intent(in), optional :: nrow, ncol
3111 integer(IK) , intent(in), optional :: roff, coff, doff
3112 type(uppLow_type) , intent(in) :: subset
3113 real(RKG) :: mat(shape(1), shape(2))
3114 end function
3115#endif
3116
3117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3118
3119 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3122
3123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3124 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3125 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3126
3127 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3128
3129#if SK5_ENABLED
3130 PURE module function getMatInitULD_D2000_SK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3132 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_SK5
3133#endif
3134 use pm_kind, only: SKG => SK5
3135 character(*,SKG) , intent(in) :: vupp, vlow
3136 character(*,SKG) , intent(in) :: vdia
3137 integer(IK) , intent(in) :: shape(2)
3138 integer(IK) , intent(in), optional :: nrow, ncol
3139 integer(IK) , intent(in), optional :: roff, coff, doff
3140 type(uppLowDia_type) , intent(in) :: subset
3141 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3142 end function
3143#endif
3144
3145#if SK4_ENABLED
3146 PURE module function getMatInitULD_D2000_SK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3148 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_SK4
3149#endif
3150 use pm_kind, only: SKG => SK4
3151 character(*,SKG) , intent(in) :: vupp, vlow
3152 character(*,SKG) , intent(in) :: vdia
3153 integer(IK) , intent(in) :: shape(2)
3154 integer(IK) , intent(in), optional :: nrow, ncol
3155 integer(IK) , intent(in), optional :: roff, coff, doff
3156 type(uppLowDia_type) , intent(in) :: subset
3157 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3158 end function
3159#endif
3160
3161#if SK3_ENABLED
3162 PURE module function getMatInitULD_D2000_SK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3164 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_SK3
3165#endif
3166 use pm_kind, only: SKG => SK3
3167 character(*,SKG) , intent(in) :: vupp, vlow
3168 character(*,SKG) , intent(in) :: vdia
3169 integer(IK) , intent(in) :: shape(2)
3170 integer(IK) , intent(in), optional :: nrow, ncol
3171 integer(IK) , intent(in), optional :: roff, coff, doff
3172 type(uppLowDia_type) , intent(in) :: subset
3173 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3174 end function
3175#endif
3176
3177#if SK2_ENABLED
3178 PURE module function getMatInitULD_D2000_SK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3180 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_SK2
3181#endif
3182 use pm_kind, only: SKG => SK2
3183 character(*,SKG) , intent(in) :: vupp, vlow
3184 character(*,SKG) , intent(in) :: vdia
3185 integer(IK) , intent(in) :: shape(2)
3186 integer(IK) , intent(in), optional :: nrow, ncol
3187 integer(IK) , intent(in), optional :: roff, coff, doff
3188 type(uppLowDia_type) , intent(in) :: subset
3189 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3190 end function
3191#endif
3192
3193#if SK1_ENABLED
3194 PURE module function getMatInitULD_D2000_SK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3196 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_SK1
3197#endif
3198 use pm_kind, only: SKG => SK1
3199 character(*,SKG) , intent(in) :: vupp, vlow
3200 character(*,SKG) , intent(in) :: vdia
3201 integer(IK) , intent(in) :: shape(2)
3202 integer(IK) , intent(in), optional :: nrow, ncol
3203 integer(IK) , intent(in), optional :: roff, coff, doff
3204 type(uppLowDia_type) , intent(in) :: subset
3205 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3206 end function
3207#endif
3208
3209 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3210
3211#if IK5_ENABLED
3212 PURE module function getMatInitULD_D2000_IK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3214 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_IK5
3215#endif
3216 use pm_kind, only: IKG => IK5
3217 integer(IKG) , intent(in) :: vupp, vlow
3218 integer(IKG) , intent(in) :: vdia
3219 integer(IK) , intent(in) :: shape(2)
3220 integer(IK) , intent(in), optional :: nrow, ncol
3221 integer(IK) , intent(in), optional :: roff, coff, doff
3222 type(uppLowDia_type) , intent(in) :: subset
3223 integer(IKG) :: mat(shape(1), shape(2))
3224 end function
3225#endif
3226
3227#if IK4_ENABLED
3228 PURE module function getMatInitULD_D2000_IK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3230 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_IK4
3231#endif
3232 use pm_kind, only: IKG => IK4
3233 integer(IKG) , intent(in) :: vupp, vlow
3234 integer(IKG) , intent(in) :: vdia
3235 integer(IK) , intent(in) :: shape(2)
3236 integer(IK) , intent(in), optional :: nrow, ncol
3237 integer(IK) , intent(in), optional :: roff, coff, doff
3238 type(uppLowDia_type) , intent(in) :: subset
3239 integer(IKG) :: mat(shape(1), shape(2))
3240 end function
3241#endif
3242
3243#if IK3_ENABLED
3244 PURE module function getMatInitULD_D2000_IK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3245#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3246 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_IK3
3247#endif
3248 use pm_kind, only: IKG => IK3
3249 integer(IKG) , intent(in) :: vupp, vlow
3250 integer(IKG) , intent(in) :: vdia
3251 integer(IK) , intent(in) :: shape(2)
3252 integer(IK) , intent(in), optional :: nrow, ncol
3253 integer(IK) , intent(in), optional :: roff, coff, doff
3254 type(uppLowDia_type) , intent(in) :: subset
3255 integer(IKG) :: mat(shape(1), shape(2))
3256 end function
3257#endif
3258
3259#if IK2_ENABLED
3260 PURE module function getMatInitULD_D2000_IK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3262 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_IK2
3263#endif
3264 use pm_kind, only: IKG => IK2
3265 integer(IKG) , intent(in) :: vupp, vlow
3266 integer(IKG) , intent(in) :: vdia
3267 integer(IK) , intent(in) :: shape(2)
3268 integer(IK) , intent(in), optional :: nrow, ncol
3269 integer(IK) , intent(in), optional :: roff, coff, doff
3270 type(uppLowDia_type) , intent(in) :: subset
3271 integer(IKG) :: mat(shape(1), shape(2))
3272 end function
3273#endif
3274
3275#if IK1_ENABLED
3276 PURE module function getMatInitULD_D2000_IK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3278 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_IK1
3279#endif
3280 use pm_kind, only: IKG => IK1
3281 integer(IKG) , intent(in) :: vupp, vlow
3282 integer(IKG) , intent(in) :: vdia
3283 integer(IK) , intent(in) :: shape(2)
3284 integer(IK) , intent(in), optional :: nrow, ncol
3285 integer(IK) , intent(in), optional :: roff, coff, doff
3286 type(uppLowDia_type) , intent(in) :: subset
3287 integer(IKG) :: mat(shape(1), shape(2))
3288 end function
3289#endif
3290
3291 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3292
3293#if LK5_ENABLED
3294 PURE module function getMatInitULD_D2000_LK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3296 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_LK5
3297#endif
3298 use pm_kind, only: LKG => LK5
3299 logical(LKG) , intent(in) :: vupp, vlow
3300 logical(LKG) , intent(in) :: vdia
3301 integer(IK) , intent(in) :: shape(2)
3302 integer(IK) , intent(in), optional :: nrow, ncol
3303 integer(IK) , intent(in), optional :: roff, coff, doff
3304 type(uppLowDia_type) , intent(in) :: subset
3305 logical(LKG) :: mat(shape(1), shape(2))
3306 end function
3307#endif
3308
3309#if LK4_ENABLED
3310 PURE module function getMatInitULD_D2000_LK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3312 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_LK4
3313#endif
3314 use pm_kind, only: LKG => LK4
3315 logical(LKG) , intent(in) :: vupp, vlow
3316 logical(LKG) , intent(in) :: vdia
3317 integer(IK) , intent(in) :: shape(2)
3318 integer(IK) , intent(in), optional :: nrow, ncol
3319 integer(IK) , intent(in), optional :: roff, coff, doff
3320 type(uppLowDia_type) , intent(in) :: subset
3321 logical(LKG) :: mat(shape(1), shape(2))
3322 end function
3323#endif
3324
3325#if LK3_ENABLED
3326 PURE module function getMatInitULD_D2000_LK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3328 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_LK3
3329#endif
3330 use pm_kind, only: LKG => LK3
3331 logical(LKG) , intent(in) :: vupp, vlow
3332 logical(LKG) , intent(in) :: vdia
3333 integer(IK) , intent(in) :: shape(2)
3334 integer(IK) , intent(in), optional :: nrow, ncol
3335 integer(IK) , intent(in), optional :: roff, coff, doff
3336 type(uppLowDia_type) , intent(in) :: subset
3337 logical(LKG) :: mat(shape(1), shape(2))
3338 end function
3339#endif
3340
3341#if LK2_ENABLED
3342 PURE module function getMatInitULD_D2000_LK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3344 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_LK2
3345#endif
3346 use pm_kind, only: LKG => LK2
3347 logical(LKG) , intent(in) :: vupp, vlow
3348 logical(LKG) , intent(in) :: vdia
3349 integer(IK) , intent(in) :: shape(2)
3350 integer(IK) , intent(in), optional :: nrow, ncol
3351 integer(IK) , intent(in), optional :: roff, coff, doff
3352 type(uppLowDia_type) , intent(in) :: subset
3353 logical(LKG) :: mat(shape(1), shape(2))
3354 end function
3355#endif
3356
3357#if LK1_ENABLED
3358 PURE module function getMatInitULD_D2000_LK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3360 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_LK1
3361#endif
3362 use pm_kind, only: LKG => LK1
3363 logical(LKG) , intent(in) :: vupp, vlow
3364 logical(LKG) , intent(in) :: vdia
3365 integer(IK) , intent(in) :: shape(2)
3366 integer(IK) , intent(in), optional :: nrow, ncol
3367 integer(IK) , intent(in), optional :: roff, coff, doff
3368 type(uppLowDia_type) , intent(in) :: subset
3369 logical(LKG) :: mat(shape(1), shape(2))
3370 end function
3371#endif
3372
3373 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3374
3375#if CK5_ENABLED
3376 PURE module function getMatInitULD_D2000_CK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3378 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_CK5
3379#endif
3380 use pm_kind, only: CKG => CK5
3381 complex(CKG) , intent(in) :: vupp, vlow
3382 complex(CKG) , intent(in) :: vdia
3383 integer(IK) , intent(in) :: shape(2)
3384 integer(IK) , intent(in), optional :: nrow, ncol
3385 integer(IK) , intent(in), optional :: roff, coff, doff
3386 type(uppLowDia_type) , intent(in) :: subset
3387 complex(CKG) :: mat(shape(1), shape(2))
3388 end function
3389#endif
3390
3391#if CK4_ENABLED
3392 PURE module function getMatInitULD_D2000_CK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3394 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_CK4
3395#endif
3396 use pm_kind, only: CKG => CK4
3397 complex(CKG) , intent(in) :: vupp, vlow
3398 complex(CKG) , intent(in) :: vdia
3399 integer(IK) , intent(in) :: shape(2)
3400 integer(IK) , intent(in), optional :: nrow, ncol
3401 integer(IK) , intent(in), optional :: roff, coff, doff
3402 type(uppLowDia_type) , intent(in) :: subset
3403 complex(CKG) :: mat(shape(1), shape(2))
3404 end function
3405#endif
3406
3407#if CK3_ENABLED
3408 PURE module function getMatInitULD_D2000_CK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3409#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3410 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_CK3
3411#endif
3412 use pm_kind, only: CKG => CK3
3413 complex(CKG) , intent(in) :: vupp, vlow
3414 complex(CKG) , intent(in) :: vdia
3415 integer(IK) , intent(in) :: shape(2)
3416 integer(IK) , intent(in), optional :: nrow, ncol
3417 integer(IK) , intent(in), optional :: roff, coff, doff
3418 type(uppLowDia_type) , intent(in) :: subset
3419 complex(CKG) :: mat(shape(1), shape(2))
3420 end function
3421#endif
3422
3423#if CK2_ENABLED
3424 PURE module function getMatInitULD_D2000_CK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3426 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_CK2
3427#endif
3428 use pm_kind, only: CKG => CK2
3429 complex(CKG) , intent(in) :: vupp, vlow
3430 complex(CKG) , intent(in) :: vdia
3431 integer(IK) , intent(in) :: shape(2)
3432 integer(IK) , intent(in), optional :: nrow, ncol
3433 integer(IK) , intent(in), optional :: roff, coff, doff
3434 type(uppLowDia_type) , intent(in) :: subset
3435 complex(CKG) :: mat(shape(1), shape(2))
3436 end function
3437#endif
3438
3439#if CK1_ENABLED
3440 PURE module function getMatInitULD_D2000_CK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3442 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_CK1
3443#endif
3444 use pm_kind, only: CKG => CK1
3445 complex(CKG) , intent(in) :: vupp, vlow
3446 complex(CKG) , intent(in) :: vdia
3447 integer(IK) , intent(in) :: shape(2)
3448 integer(IK) , intent(in), optional :: nrow, ncol
3449 integer(IK) , intent(in), optional :: roff, coff, doff
3450 type(uppLowDia_type) , intent(in) :: subset
3451 complex(CKG) :: mat(shape(1), shape(2))
3452 end function
3453#endif
3454
3455 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3456
3457#if RK5_ENABLED
3458 PURE module function getMatInitULD_D2000_RK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3460 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_RK5
3461#endif
3462 use pm_kind, only: RKG => RK5
3463 real(RKG) , intent(in) :: vupp, vlow
3464 real(RKG) , intent(in) :: vdia
3465 integer(IK) , intent(in) :: shape(2)
3466 integer(IK) , intent(in), optional :: nrow, ncol
3467 integer(IK) , intent(in), optional :: roff, coff, doff
3468 type(uppLowDia_type) , intent(in) :: subset
3469 real(RKG) :: mat(shape(1), shape(2))
3470 end function
3471#endif
3472
3473#if RK4_ENABLED
3474 PURE module function getMatInitULD_D2000_RK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3476 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_RK4
3477#endif
3478 use pm_kind, only: RKG => RK4
3479 real(RKG) , intent(in) :: vupp, vlow
3480 real(RKG) , intent(in) :: vdia
3481 integer(IK) , intent(in) :: shape(2)
3482 integer(IK) , intent(in), optional :: nrow, ncol
3483 integer(IK) , intent(in), optional :: roff, coff, doff
3484 type(uppLowDia_type) , intent(in) :: subset
3485 real(RKG) :: mat(shape(1), shape(2))
3486 end function
3487#endif
3488
3489#if RK3_ENABLED
3490 PURE module function getMatInitULD_D2000_RK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3492 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_RK3
3493#endif
3494 use pm_kind, only: RKG => RK3
3495 real(RKG) , intent(in) :: vupp, vlow
3496 real(RKG) , intent(in) :: vdia
3497 integer(IK) , intent(in) :: shape(2)
3498 integer(IK) , intent(in), optional :: nrow, ncol
3499 integer(IK) , intent(in), optional :: roff, coff, doff
3500 type(uppLowDia_type) , intent(in) :: subset
3501 real(RKG) :: mat(shape(1), shape(2))
3502 end function
3503#endif
3504
3505#if RK2_ENABLED
3506 PURE module function getMatInitULD_D2000_RK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3508 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_RK2
3509#endif
3510 use pm_kind, only: RKG => RK2
3511 real(RKG) , intent(in) :: vupp, vlow
3512 real(RKG) , intent(in) :: vdia
3513 integer(IK) , intent(in) :: shape(2)
3514 integer(IK) , intent(in), optional :: nrow, ncol
3515 integer(IK) , intent(in), optional :: roff, coff, doff
3516 type(uppLowDia_type) , intent(in) :: subset
3517 real(RKG) :: mat(shape(1), shape(2))
3518 end function
3519#endif
3520
3521#if RK1_ENABLED
3522 PURE module function getMatInitULD_D2000_RK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3524 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2000_RK1
3525#endif
3526 use pm_kind, only: RKG => RK1
3527 real(RKG) , intent(in) :: vupp, vlow
3528 real(RKG) , intent(in) :: vdia
3529 integer(IK) , intent(in) :: shape(2)
3530 integer(IK) , intent(in), optional :: nrow, ncol
3531 integer(IK) , intent(in), optional :: roff, coff, doff
3532 type(uppLowDia_type) , intent(in) :: subset
3533 real(RKG) :: mat(shape(1), shape(2))
3534 end function
3535#endif
3536
3537 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3538
3539 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3540 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3541 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3542
3543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3544
3545#if SK5_ENABLED
3546 PURE module function getMatInitULD_D2001_SK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3547#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3548 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_SK5
3549#endif
3550 use pm_kind, only: SKG => SK5
3551 character(*,SKG) , intent(in) :: vupp, vlow
3552 character(*,SKG) , intent(in), contiguous :: vdia(:)
3553 integer(IK) , intent(in) :: shape(2)
3554 integer(IK) , intent(in), optional :: nrow, ncol
3555 integer(IK) , intent(in), optional :: roff, coff, doff
3556 type(uppLowDia_type) , intent(in) :: subset
3557 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3558 end function
3559#endif
3560
3561#if SK4_ENABLED
3562 PURE module function getMatInitULD_D2001_SK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3564 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_SK4
3565#endif
3566 use pm_kind, only: SKG => SK4
3567 character(*,SKG) , intent(in) :: vupp, vlow
3568 character(*,SKG) , intent(in), contiguous :: vdia(:)
3569 integer(IK) , intent(in) :: shape(2)
3570 integer(IK) , intent(in), optional :: nrow, ncol
3571 integer(IK) , intent(in), optional :: roff, coff, doff
3572 type(uppLowDia_type) , intent(in) :: subset
3573 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3574 end function
3575#endif
3576
3577#if SK3_ENABLED
3578 PURE module function getMatInitULD_D2001_SK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3580 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_SK3
3581#endif
3582 use pm_kind, only: SKG => SK3
3583 character(*,SKG) , intent(in) :: vupp, vlow
3584 character(*,SKG) , intent(in), contiguous :: vdia(:)
3585 integer(IK) , intent(in) :: shape(2)
3586 integer(IK) , intent(in), optional :: nrow, ncol
3587 integer(IK) , intent(in), optional :: roff, coff, doff
3588 type(uppLowDia_type) , intent(in) :: subset
3589 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3590 end function
3591#endif
3592
3593#if SK2_ENABLED
3594 PURE module function getMatInitULD_D2001_SK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3596 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_SK2
3597#endif
3598 use pm_kind, only: SKG => SK2
3599 character(*,SKG) , intent(in) :: vupp, vlow
3600 character(*,SKG) , intent(in), contiguous :: vdia(:)
3601 integer(IK) , intent(in) :: shape(2)
3602 integer(IK) , intent(in), optional :: nrow, ncol
3603 integer(IK) , intent(in), optional :: roff, coff, doff
3604 type(uppLowDia_type) , intent(in) :: subset
3605 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3606 end function
3607#endif
3608
3609#if SK1_ENABLED
3610 PURE module function getMatInitULD_D2001_SK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3612 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_SK1
3613#endif
3614 use pm_kind, only: SKG => SK1
3615 character(*,SKG) , intent(in) :: vupp, vlow
3616 character(*,SKG) , intent(in), contiguous :: vdia(:)
3617 integer(IK) , intent(in) :: shape(2)
3618 integer(IK) , intent(in), optional :: nrow, ncol
3619 integer(IK) , intent(in), optional :: roff, coff, doff
3620 type(uppLowDia_type) , intent(in) :: subset
3621 character(len(vdia,IK),SKG) :: mat(shape(1), shape(2))
3622 end function
3623#endif
3624
3625 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3626
3627#if IK5_ENABLED
3628 PURE module function getMatInitULD_D2001_IK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3630 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_IK5
3631#endif
3632 use pm_kind, only: IKG => IK5
3633 integer(IKG) , intent(in) :: vupp, vlow
3634 integer(IKG) , intent(in), contiguous :: vdia(:)
3635 integer(IK) , intent(in) :: shape(2)
3636 integer(IK) , intent(in), optional :: nrow, ncol
3637 integer(IK) , intent(in), optional :: roff, coff, doff
3638 type(uppLowDia_type) , intent(in) :: subset
3639 integer(IKG) :: mat(shape(1), shape(2))
3640 end function
3641#endif
3642
3643#if IK4_ENABLED
3644 PURE module function getMatInitULD_D2001_IK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3646 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_IK4
3647#endif
3648 use pm_kind, only: IKG => IK4
3649 integer(IKG) , intent(in) :: vupp, vlow
3650 integer(IKG) , intent(in), contiguous :: vdia(:)
3651 integer(IK) , intent(in) :: shape(2)
3652 integer(IK) , intent(in), optional :: nrow, ncol
3653 integer(IK) , intent(in), optional :: roff, coff, doff
3654 type(uppLowDia_type) , intent(in) :: subset
3655 integer(IKG) :: mat(shape(1), shape(2))
3656 end function
3657#endif
3658
3659#if IK3_ENABLED
3660 PURE module function getMatInitULD_D2001_IK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3661#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3662 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_IK3
3663#endif
3664 use pm_kind, only: IKG => IK3
3665 integer(IKG) , intent(in) :: vupp, vlow
3666 integer(IKG) , intent(in), contiguous :: vdia(:)
3667 integer(IK) , intent(in) :: shape(2)
3668 integer(IK) , intent(in), optional :: nrow, ncol
3669 integer(IK) , intent(in), optional :: roff, coff, doff
3670 type(uppLowDia_type) , intent(in) :: subset
3671 integer(IKG) :: mat(shape(1), shape(2))
3672 end function
3673#endif
3674
3675#if IK2_ENABLED
3676 PURE module function getMatInitULD_D2001_IK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3678 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_IK2
3679#endif
3680 use pm_kind, only: IKG => IK2
3681 integer(IKG) , intent(in) :: vupp, vlow
3682 integer(IKG) , intent(in), contiguous :: vdia(:)
3683 integer(IK) , intent(in) :: shape(2)
3684 integer(IK) , intent(in), optional :: nrow, ncol
3685 integer(IK) , intent(in), optional :: roff, coff, doff
3686 type(uppLowDia_type) , intent(in) :: subset
3687 integer(IKG) :: mat(shape(1), shape(2))
3688 end function
3689#endif
3690
3691#if IK1_ENABLED
3692 PURE module function getMatInitULD_D2001_IK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3694 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_IK1
3695#endif
3696 use pm_kind, only: IKG => IK1
3697 integer(IKG) , intent(in) :: vupp, vlow
3698 integer(IKG) , intent(in), contiguous :: vdia(:)
3699 integer(IK) , intent(in) :: shape(2)
3700 integer(IK) , intent(in), optional :: nrow, ncol
3701 integer(IK) , intent(in), optional :: roff, coff, doff
3702 type(uppLowDia_type) , intent(in) :: subset
3703 integer(IKG) :: mat(shape(1), shape(2))
3704 end function
3705#endif
3706
3707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3708
3709#if LK5_ENABLED
3710 PURE module function getMatInitULD_D2001_LK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3712 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_LK5
3713#endif
3714 use pm_kind, only: LKG => LK5
3715 logical(LKG) , intent(in) :: vupp, vlow
3716 logical(LKG) , intent(in), contiguous :: vdia(:)
3717 integer(IK) , intent(in) :: shape(2)
3718 integer(IK) , intent(in), optional :: nrow, ncol
3719 integer(IK) , intent(in), optional :: roff, coff, doff
3720 type(uppLowDia_type) , intent(in) :: subset
3721 logical(LKG) :: mat(shape(1), shape(2))
3722 end function
3723#endif
3724
3725#if LK4_ENABLED
3726 PURE module function getMatInitULD_D2001_LK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3727#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3728 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_LK4
3729#endif
3730 use pm_kind, only: LKG => LK4
3731 logical(LKG) , intent(in) :: vupp, vlow
3732 logical(LKG) , intent(in), contiguous :: vdia(:)
3733 integer(IK) , intent(in) :: shape(2)
3734 integer(IK) , intent(in), optional :: nrow, ncol
3735 integer(IK) , intent(in), optional :: roff, coff, doff
3736 type(uppLowDia_type) , intent(in) :: subset
3737 logical(LKG) :: mat(shape(1), shape(2))
3738 end function
3739#endif
3740
3741#if LK3_ENABLED
3742 PURE module function getMatInitULD_D2001_LK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3743#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3744 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_LK3
3745#endif
3746 use pm_kind, only: LKG => LK3
3747 logical(LKG) , intent(in) :: vupp, vlow
3748 logical(LKG) , intent(in), contiguous :: vdia(:)
3749 integer(IK) , intent(in) :: shape(2)
3750 integer(IK) , intent(in), optional :: nrow, ncol
3751 integer(IK) , intent(in), optional :: roff, coff, doff
3752 type(uppLowDia_type) , intent(in) :: subset
3753 logical(LKG) :: mat(shape(1), shape(2))
3754 end function
3755#endif
3756
3757#if LK2_ENABLED
3758 PURE module function getMatInitULD_D2001_LK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3760 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_LK2
3761#endif
3762 use pm_kind, only: LKG => LK2
3763 logical(LKG) , intent(in) :: vupp, vlow
3764 logical(LKG) , intent(in), contiguous :: vdia(:)
3765 integer(IK) , intent(in) :: shape(2)
3766 integer(IK) , intent(in), optional :: nrow, ncol
3767 integer(IK) , intent(in), optional :: roff, coff, doff
3768 type(uppLowDia_type) , intent(in) :: subset
3769 logical(LKG) :: mat(shape(1), shape(2))
3770 end function
3771#endif
3772
3773#if LK1_ENABLED
3774 PURE module function getMatInitULD_D2001_LK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3776 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_LK1
3777#endif
3778 use pm_kind, only: LKG => LK1
3779 logical(LKG) , intent(in) :: vupp, vlow
3780 logical(LKG) , intent(in), contiguous :: vdia(:)
3781 integer(IK) , intent(in) :: shape(2)
3782 integer(IK) , intent(in), optional :: nrow, ncol
3783 integer(IK) , intent(in), optional :: roff, coff, doff
3784 type(uppLowDia_type) , intent(in) :: subset
3785 logical(LKG) :: mat(shape(1), shape(2))
3786 end function
3787#endif
3788
3789 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3790
3791#if CK5_ENABLED
3792 PURE module function getMatInitULD_D2001_CK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3794 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_CK5
3795#endif
3796 use pm_kind, only: CKG => CK5
3797 complex(CKG) , intent(in) :: vupp, vlow
3798 complex(CKG) , intent(in), contiguous :: vdia(:)
3799 integer(IK) , intent(in) :: shape(2)
3800 integer(IK) , intent(in), optional :: nrow, ncol
3801 integer(IK) , intent(in), optional :: roff, coff, doff
3802 type(uppLowDia_type) , intent(in) :: subset
3803 complex(CKG) :: mat(shape(1), shape(2))
3804 end function
3805#endif
3806
3807#if CK4_ENABLED
3808 PURE module function getMatInitULD_D2001_CK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3809#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3810 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_CK4
3811#endif
3812 use pm_kind, only: CKG => CK4
3813 complex(CKG) , intent(in) :: vupp, vlow
3814 complex(CKG) , intent(in), contiguous :: vdia(:)
3815 integer(IK) , intent(in) :: shape(2)
3816 integer(IK) , intent(in), optional :: nrow, ncol
3817 integer(IK) , intent(in), optional :: roff, coff, doff
3818 type(uppLowDia_type) , intent(in) :: subset
3819 complex(CKG) :: mat(shape(1), shape(2))
3820 end function
3821#endif
3822
3823#if CK3_ENABLED
3824 PURE module function getMatInitULD_D2001_CK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3826 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_CK3
3827#endif
3828 use pm_kind, only: CKG => CK3
3829 complex(CKG) , intent(in) :: vupp, vlow
3830 complex(CKG) , intent(in), contiguous :: vdia(:)
3831 integer(IK) , intent(in) :: shape(2)
3832 integer(IK) , intent(in), optional :: nrow, ncol
3833 integer(IK) , intent(in), optional :: roff, coff, doff
3834 type(uppLowDia_type) , intent(in) :: subset
3835 complex(CKG) :: mat(shape(1), shape(2))
3836 end function
3837#endif
3838
3839#if CK2_ENABLED
3840 PURE module function getMatInitULD_D2001_CK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3842 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_CK2
3843#endif
3844 use pm_kind, only: CKG => CK2
3845 complex(CKG) , intent(in) :: vupp, vlow
3846 complex(CKG) , intent(in), contiguous :: vdia(:)
3847 integer(IK) , intent(in) :: shape(2)
3848 integer(IK) , intent(in), optional :: nrow, ncol
3849 integer(IK) , intent(in), optional :: roff, coff, doff
3850 type(uppLowDia_type) , intent(in) :: subset
3851 complex(CKG) :: mat(shape(1), shape(2))
3852 end function
3853#endif
3854
3855#if CK1_ENABLED
3856 PURE module function getMatInitULD_D2001_CK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3858 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_CK1
3859#endif
3860 use pm_kind, only: CKG => CK1
3861 complex(CKG) , intent(in) :: vupp, vlow
3862 complex(CKG) , intent(in), contiguous :: vdia(:)
3863 integer(IK) , intent(in) :: shape(2)
3864 integer(IK) , intent(in), optional :: nrow, ncol
3865 integer(IK) , intent(in), optional :: roff, coff, doff
3866 type(uppLowDia_type) , intent(in) :: subset
3867 complex(CKG) :: mat(shape(1), shape(2))
3868 end function
3869#endif
3870
3871 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3872
3873#if RK5_ENABLED
3874 PURE module function getMatInitULD_D2001_RK5(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3876 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_RK5
3877#endif
3878 use pm_kind, only: RKG => RK5
3879 real(RKG) , intent(in) :: vupp, vlow
3880 real(RKG) , intent(in), contiguous :: vdia(:)
3881 integer(IK) , intent(in) :: shape(2)
3882 integer(IK) , intent(in), optional :: nrow, ncol
3883 integer(IK) , intent(in), optional :: roff, coff, doff
3884 type(uppLowDia_type) , intent(in) :: subset
3885 real(RKG) :: mat(shape(1), shape(2))
3886 end function
3887#endif
3888
3889#if RK4_ENABLED
3890 PURE module function getMatInitULD_D2001_RK4(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3892 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_RK4
3893#endif
3894 use pm_kind, only: RKG => RK4
3895 real(RKG) , intent(in) :: vupp, vlow
3896 real(RKG) , intent(in), contiguous :: vdia(:)
3897 integer(IK) , intent(in) :: shape(2)
3898 integer(IK) , intent(in), optional :: nrow, ncol
3899 integer(IK) , intent(in), optional :: roff, coff, doff
3900 type(uppLowDia_type) , intent(in) :: subset
3901 real(RKG) :: mat(shape(1), shape(2))
3902 end function
3903#endif
3904
3905#if RK3_ENABLED
3906 PURE module function getMatInitULD_D2001_RK3(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3908 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_RK3
3909#endif
3910 use pm_kind, only: RKG => RK3
3911 real(RKG) , intent(in) :: vupp, vlow
3912 real(RKG) , intent(in), contiguous :: vdia(:)
3913 integer(IK) , intent(in) :: shape(2)
3914 integer(IK) , intent(in), optional :: nrow, ncol
3915 integer(IK) , intent(in), optional :: roff, coff, doff
3916 type(uppLowDia_type) , intent(in) :: subset
3917 real(RKG) :: mat(shape(1), shape(2))
3918 end function
3919#endif
3920
3921#if RK2_ENABLED
3922 PURE module function getMatInitULD_D2001_RK2(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3924 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_RK2
3925#endif
3926 use pm_kind, only: RKG => RK2
3927 real(RKG) , intent(in) :: vupp, vlow
3928 real(RKG) , intent(in), contiguous :: vdia(:)
3929 integer(IK) , intent(in) :: shape(2)
3930 integer(IK) , intent(in), optional :: nrow, ncol
3931 integer(IK) , intent(in), optional :: roff, coff, doff
3932 type(uppLowDia_type) , intent(in) :: subset
3933 real(RKG) :: mat(shape(1), shape(2))
3934 end function
3935#endif
3936
3937#if RK1_ENABLED
3938 PURE module function getMatInitULD_D2001_RK1(shape, subset, vupp, vlow, vdia, nrow, ncol, roff, coff, doff) result(mat)
3939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3940 !DEC$ ATTRIBUTES DLLEXPORT :: getMatInitULD_D2001_RK1
3941#endif
3942 use pm_kind, only: RKG => RK1
3943 real(RKG) , intent(in) :: vupp, vlow
3944 real(RKG) , intent(in), contiguous :: vdia(:)
3945 integer(IK) , intent(in) :: shape(2)
3946 integer(IK) , intent(in), optional :: nrow, ncol
3947 integer(IK) , intent(in), optional :: roff, coff, doff
3948 type(uppLowDia_type) , intent(in) :: subset
3949 real(RKG) :: mat(shape(1), shape(2))
3950 end function
3951#endif
3952
3953 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3954
3955 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3957 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3958
3959 end interface
3960
3961!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3962
4136
4137 ! EXP_XLX
4138
4139 interface setMatInit
4140
4141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4143 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4144
4145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4146
4147#if SK5_ENABLED
4148 PURE module subroutine setMatInit_EXP_XLX_D2X0X_SK5(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4149#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4150 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_SK5
4151#endif
4152 use pm_kind, only: SKG => SK5
4153 integer(IK) , intent(in) , optional :: doff
4154 integer(IK) , intent(in) :: nrow, ncol
4155 integer(IK) , intent(in) :: roff, coff
4156 type(low_type) , intent(in) :: subset
4157 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4158 character(*,SKG) , intent(in) :: vlow
4159 end subroutine
4160#endif
4161
4162#if SK4_ENABLED
4163 PURE module subroutine setMatInit_EXP_XLX_D2X0X_SK4(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4164#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4165 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_SK4
4166#endif
4167 use pm_kind, only: SKG => SK4
4168 integer(IK) , intent(in) , optional :: doff
4169 integer(IK) , intent(in) :: nrow, ncol
4170 integer(IK) , intent(in) :: roff, coff
4171 type(low_type) , intent(in) :: subset
4172 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4173 character(*,SKG) , intent(in) :: vlow
4174 end subroutine
4175#endif
4176
4177#if SK3_ENABLED
4178 PURE module subroutine setMatInit_EXP_XLX_D2X0X_SK3(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4180 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_SK3
4181#endif
4182 use pm_kind, only: SKG => SK3
4183 integer(IK) , intent(in) , optional :: doff
4184 integer(IK) , intent(in) :: nrow, ncol
4185 integer(IK) , intent(in) :: roff, coff
4186 type(low_type) , intent(in) :: subset
4187 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4188 character(*,SKG) , intent(in) :: vlow
4189 end subroutine
4190#endif
4191
4192#if SK2_ENABLED
4193 PURE module subroutine setMatInit_EXP_XLX_D2X0X_SK2(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4195 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_SK2
4196#endif
4197 use pm_kind, only: SKG => SK2
4198 integer(IK) , intent(in) , optional :: doff
4199 integer(IK) , intent(in) :: nrow, ncol
4200 integer(IK) , intent(in) :: roff, coff
4201 type(low_type) , intent(in) :: subset
4202 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4203 character(*,SKG) , intent(in) :: vlow
4204 end subroutine
4205#endif
4206
4207#if SK1_ENABLED
4208 PURE module subroutine setMatInit_EXP_XLX_D2X0X_SK1(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4209#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4210 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_SK1
4211#endif
4212 use pm_kind, only: SKG => SK1
4213 integer(IK) , intent(in) , optional :: doff
4214 integer(IK) , intent(in) :: nrow, ncol
4215 integer(IK) , intent(in) :: roff, coff
4216 type(low_type) , intent(in) :: subset
4217 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4218 character(*,SKG) , intent(in) :: vlow
4219 end subroutine
4220#endif
4221
4222 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4223
4224#if IK5_ENABLED
4225 PURE module subroutine setMatInit_EXP_XLX_D2X0X_IK5(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4227 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_IK5
4228#endif
4229 use pm_kind, only: IKG => IK5
4230 integer(IK) , intent(in) , optional :: doff
4231 integer(IK) , intent(in) :: nrow, ncol
4232 integer(IK) , intent(in) :: roff, coff
4233 type(low_type) , intent(in) :: subset
4234 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4235 integer(IKG) , intent(in) :: vlow
4236 end subroutine
4237#endif
4238
4239#if IK4_ENABLED
4240 PURE module subroutine setMatInit_EXP_XLX_D2X0X_IK4(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4242 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_IK4
4243#endif
4244 use pm_kind, only: IKG => IK4
4245 integer(IK) , intent(in) , optional :: doff
4246 integer(IK) , intent(in) :: nrow, ncol
4247 integer(IK) , intent(in) :: roff, coff
4248 type(low_type) , intent(in) :: subset
4249 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4250 integer(IKG) , intent(in) :: vlow
4251 end subroutine
4252#endif
4253
4254#if IK3_ENABLED
4255 PURE module subroutine setMatInit_EXP_XLX_D2X0X_IK3(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4257 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_IK3
4258#endif
4259 use pm_kind, only: IKG => IK3
4260 integer(IK) , intent(in) , optional :: doff
4261 integer(IK) , intent(in) :: nrow, ncol
4262 integer(IK) , intent(in) :: roff, coff
4263 type(low_type) , intent(in) :: subset
4264 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4265 integer(IKG) , intent(in) :: vlow
4266 end subroutine
4267#endif
4268
4269#if IK2_ENABLED
4270 PURE module subroutine setMatInit_EXP_XLX_D2X0X_IK2(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4271#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4272 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_IK2
4273#endif
4274 use pm_kind, only: IKG => IK2
4275 integer(IK) , intent(in) , optional :: doff
4276 integer(IK) , intent(in) :: nrow, ncol
4277 integer(IK) , intent(in) :: roff, coff
4278 type(low_type) , intent(in) :: subset
4279 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4280 integer(IKG) , intent(in) :: vlow
4281 end subroutine
4282#endif
4283
4284#if IK1_ENABLED
4285 PURE module subroutine setMatInit_EXP_XLX_D2X0X_IK1(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4287 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_IK1
4288#endif
4289 use pm_kind, only: IKG => IK1
4290 integer(IK) , intent(in) , optional :: doff
4291 integer(IK) , intent(in) :: nrow, ncol
4292 integer(IK) , intent(in) :: roff, coff
4293 type(low_type) , intent(in) :: subset
4294 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4295 integer(IKG) , intent(in) :: vlow
4296 end subroutine
4297#endif
4298
4299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4300
4301#if LK5_ENABLED
4302 PURE module subroutine setMatInit_EXP_XLX_D2X0X_LK5(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4304 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_LK5
4305#endif
4306 use pm_kind, only: LKG => LK5
4307 integer(IK) , intent(in) , optional :: doff
4308 integer(IK) , intent(in) :: nrow, ncol
4309 integer(IK) , intent(in) :: roff, coff
4310 type(low_type) , intent(in) :: subset
4311 logical(LKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4312 logical(LKG) , intent(in) :: vlow
4313 end subroutine
4314#endif
4315
4316#if LK4_ENABLED
4317 PURE module subroutine setMatInit_EXP_XLX_D2X0X_LK4(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4319 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_LK4
4320#endif
4321 use pm_kind, only: LKG => LK4
4322 integer(IK) , intent(in) , optional :: doff
4323 integer(IK) , intent(in) :: nrow, ncol
4324 integer(IK) , intent(in) :: roff, coff
4325 type(low_type) , intent(in) :: subset
4326 logical(LKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4327 logical(LKG) , intent(in) :: vlow
4328 end subroutine
4329#endif
4330
4331#if LK3_ENABLED
4332 PURE module subroutine setMatInit_EXP_XLX_D2X0X_LK3(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4334 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_LK3
4335#endif
4336 use pm_kind, only: LKG => LK3
4337 integer(IK) , intent(in) , optional :: doff
4338 integer(IK) , intent(in) :: nrow, ncol
4339 integer(IK) , intent(in) :: roff, coff
4340 type(low_type) , intent(in) :: subset
4341 logical(LKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4342 logical(LKG) , intent(in) :: vlow
4343 end subroutine
4344#endif
4345
4346#if LK2_ENABLED
4347 PURE module subroutine setMatInit_EXP_XLX_D2X0X_LK2(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4349 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_LK2
4350#endif
4351 use pm_kind, only: LKG => LK2
4352 integer(IK) , intent(in) , optional :: doff
4353 integer(IK) , intent(in) :: nrow, ncol
4354 integer(IK) , intent(in) :: roff, coff
4355 type(low_type) , intent(in) :: subset
4356 logical(LKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4357 logical(LKG) , intent(in) :: vlow
4358 end subroutine
4359#endif
4360
4361#if LK1_ENABLED
4362 PURE module subroutine setMatInit_EXP_XLX_D2X0X_LK1(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4364 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_LK1
4365#endif
4366 use pm_kind, only: LKG => LK1
4367 integer(IK) , intent(in) , optional :: doff
4368 integer(IK) , intent(in) :: nrow, ncol
4369 integer(IK) , intent(in) :: roff, coff
4370 type(low_type) , intent(in) :: subset
4371 logical(LKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4372 logical(LKG) , intent(in) :: vlow
4373 end subroutine
4374#endif
4375
4376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4377
4378#if CK5_ENABLED
4379 PURE module subroutine setMatInit_EXP_XLX_D2X0X_CK5(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4381 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_CK5
4382#endif
4383 use pm_kind, only: CKG => CK5
4384 integer(IK) , intent(in) , optional :: doff
4385 integer(IK) , intent(in) :: nrow, ncol
4386 integer(IK) , intent(in) :: roff, coff
4387 type(low_type) , intent(in) :: subset
4388 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4389 complex(CKG) , intent(in) :: vlow
4390 end subroutine
4391#endif
4392
4393#if CK4_ENABLED
4394 PURE module subroutine setMatInit_EXP_XLX_D2X0X_CK4(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4396 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_CK4
4397#endif
4398 use pm_kind, only: CKG => CK4
4399 integer(IK) , intent(in) , optional :: doff
4400 integer(IK) , intent(in) :: nrow, ncol
4401 integer(IK) , intent(in) :: roff, coff
4402 type(low_type) , intent(in) :: subset
4403 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4404 complex(CKG) , intent(in) :: vlow
4405 end subroutine
4406#endif
4407
4408#if CK3_ENABLED
4409 PURE module subroutine setMatInit_EXP_XLX_D2X0X_CK3(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4411 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_CK3
4412#endif
4413 use pm_kind, only: CKG => CK3
4414 integer(IK) , intent(in) , optional :: doff
4415 integer(IK) , intent(in) :: nrow, ncol
4416 integer(IK) , intent(in) :: roff, coff
4417 type(low_type) , intent(in) :: subset
4418 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4419 complex(CKG) , intent(in) :: vlow
4420 end subroutine
4421#endif
4422
4423#if CK2_ENABLED
4424 PURE module subroutine setMatInit_EXP_XLX_D2X0X_CK2(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4426 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_CK2
4427#endif
4428 use pm_kind, only: CKG => CK2
4429 integer(IK) , intent(in) , optional :: doff
4430 integer(IK) , intent(in) :: nrow, ncol
4431 integer(IK) , intent(in) :: roff, coff
4432 type(low_type) , intent(in) :: subset
4433 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4434 complex(CKG) , intent(in) :: vlow
4435 end subroutine
4436#endif
4437
4438#if CK1_ENABLED
4439 PURE module subroutine setMatInit_EXP_XLX_D2X0X_CK1(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4441 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_CK1
4442#endif
4443 use pm_kind, only: CKG => CK1
4444 integer(IK) , intent(in) , optional :: doff
4445 integer(IK) , intent(in) :: nrow, ncol
4446 integer(IK) , intent(in) :: roff, coff
4447 type(low_type) , intent(in) :: subset
4448 complex(CKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4449 complex(CKG) , intent(in) :: vlow
4450 end subroutine
4451#endif
4452
4453 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4454
4455#if RK5_ENABLED
4456 PURE module subroutine setMatInit_EXP_XLX_D2X0X_RK5(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4458 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_RK5
4459#endif
4460 use pm_kind, only: RKG => RK5
4461 integer(IK) , intent(in) , optional :: doff
4462 integer(IK) , intent(in) :: nrow, ncol
4463 integer(IK) , intent(in) :: roff, coff
4464 type(low_type) , intent(in) :: subset
4465 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4466 real(RKG) , intent(in) :: vlow
4467 end subroutine
4468#endif
4469
4470#if RK4_ENABLED
4471 PURE module subroutine setMatInit_EXP_XLX_D2X0X_RK4(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4473 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_RK4
4474#endif
4475 use pm_kind, only: RKG => RK4
4476 integer(IK) , intent(in) , optional :: doff
4477 integer(IK) , intent(in) :: nrow, ncol
4478 integer(IK) , intent(in) :: roff, coff
4479 type(low_type) , intent(in) :: subset
4480 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4481 real(RKG) , intent(in) :: vlow
4482 end subroutine
4483#endif
4484
4485#if RK3_ENABLED
4486 PURE module subroutine setMatInit_EXP_XLX_D2X0X_RK3(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4488 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_RK3
4489#endif
4490 use pm_kind, only: RKG => RK3
4491 integer(IK) , intent(in) , optional :: doff
4492 integer(IK) , intent(in) :: nrow, ncol
4493 integer(IK) , intent(in) :: roff, coff
4494 type(low_type) , intent(in) :: subset
4495 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4496 real(RKG) , intent(in) :: vlow
4497 end subroutine
4498#endif
4499
4500#if RK2_ENABLED
4501 PURE module subroutine setMatInit_EXP_XLX_D2X0X_RK2(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4503 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_RK2
4504#endif
4505 use pm_kind, only: RKG => RK2
4506 integer(IK) , intent(in) , optional :: doff
4507 integer(IK) , intent(in) :: nrow, ncol
4508 integer(IK) , intent(in) :: roff, coff
4509 type(low_type) , intent(in) :: subset
4510 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4511 real(RKG) , intent(in) :: vlow
4512 end subroutine
4513#endif
4514
4515#if RK1_ENABLED
4516 PURE module subroutine setMatInit_EXP_XLX_D2X0X_RK1(mat, subset, vlow, nrow, ncol, roff, coff, doff)
4517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4518 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_XLX_D2X0X_RK1
4519#endif
4520 use pm_kind, only: RKG => RK1
4521 integer(IK) , intent(in) , optional :: doff
4522 integer(IK) , intent(in) :: nrow, ncol
4523 integer(IK) , intent(in) :: roff, coff
4524 type(low_type) , intent(in) :: subset
4525 real(RKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4526 real(RKG) , intent(in) :: vlow
4527 end subroutine
4528#endif
4529
4530 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4531
4532 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4533 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4534 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4535
4536 end interface
4537
4538 ! EXP_UXX
4539
4540 interface setMatInit
4541
4542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4544 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4545
4546 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4547
4548#if SK5_ENABLED
4549 PURE module subroutine setMatInit_EXP_UXX_D20XX_SK5(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4551 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_SK5
4552#endif
4553 use pm_kind, only: SKG => SK5
4554 integer(IK) , intent(in) , optional :: doff
4555 integer(IK) , intent(in) :: nrow, ncol
4556 integer(IK) , intent(in) :: roff, coff
4557 type(upp_type) , intent(in) :: subset
4558 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4559 character(*,SKG) , intent(in) :: vupp
4560 end subroutine
4561#endif
4562
4563#if SK4_ENABLED
4564 PURE module subroutine setMatInit_EXP_UXX_D20XX_SK4(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4566 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_SK4
4567#endif
4568 use pm_kind, only: SKG => SK4
4569 integer(IK) , intent(in) , optional :: doff
4570 integer(IK) , intent(in) :: nrow, ncol
4571 integer(IK) , intent(in) :: roff, coff
4572 type(upp_type) , intent(in) :: subset
4573 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4574 character(*,SKG) , intent(in) :: vupp
4575 end subroutine
4576#endif
4577
4578#if SK3_ENABLED
4579 PURE module subroutine setMatInit_EXP_UXX_D20XX_SK3(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4581 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_SK3
4582#endif
4583 use pm_kind, only: SKG => SK3
4584 integer(IK) , intent(in) , optional :: doff
4585 integer(IK) , intent(in) :: nrow, ncol
4586 integer(IK) , intent(in) :: roff, coff
4587 type(upp_type) , intent(in) :: subset
4588 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4589 character(*,SKG) , intent(in) :: vupp
4590 end subroutine
4591#endif
4592
4593#if SK2_ENABLED
4594 PURE module subroutine setMatInit_EXP_UXX_D20XX_SK2(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4596 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_SK2
4597#endif
4598 use pm_kind, only: SKG => SK2
4599 integer(IK) , intent(in) , optional :: doff
4600 integer(IK) , intent(in) :: nrow, ncol
4601 integer(IK) , intent(in) :: roff, coff
4602 type(upp_type) , intent(in) :: subset
4603 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4604 character(*,SKG) , intent(in) :: vupp
4605 end subroutine
4606#endif
4607
4608#if SK1_ENABLED
4609 PURE module subroutine setMatInit_EXP_UXX_D20XX_SK1(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4611 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_SK1
4612#endif
4613 use pm_kind, only: SKG => SK1
4614 integer(IK) , intent(in) , optional :: doff
4615 integer(IK) , intent(in) :: nrow, ncol
4616 integer(IK) , intent(in) :: roff, coff
4617 type(upp_type) , intent(in) :: subset
4618 character(*,SKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4619 character(*,SKG) , intent(in) :: vupp
4620 end subroutine
4621#endif
4622
4623 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4624
4625#if IK5_ENABLED
4626 PURE module subroutine setMatInit_EXP_UXX_D20XX_IK5(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4627#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4628 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_IK5
4629#endif
4630 use pm_kind, only: IKG => IK5
4631 integer(IK) , intent(in) , optional :: doff
4632 integer(IK) , intent(in) :: nrow, ncol
4633 integer(IK) , intent(in) :: roff, coff
4634 type(upp_type) , intent(in) :: subset
4635 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4636 integer(IKG) , intent(in) :: vupp
4637 end subroutine
4638#endif
4639
4640#if IK4_ENABLED
4641 PURE module subroutine setMatInit_EXP_UXX_D20XX_IK4(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4643 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_IK4
4644#endif
4645 use pm_kind, only: IKG => IK4
4646 integer(IK) , intent(in) , optional :: doff
4647 integer(IK) , intent(in) :: nrow, ncol
4648 integer(IK) , intent(in) :: roff, coff
4649 type(upp_type) , intent(in) :: subset
4650 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4651 integer(IKG) , intent(in) :: vupp
4652 end subroutine
4653#endif
4654
4655#if IK3_ENABLED
4656 PURE module subroutine setMatInit_EXP_UXX_D20XX_IK3(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4658 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_IK3
4659#endif
4660 use pm_kind, only: IKG => IK3
4661 integer(IK) , intent(in) , optional :: doff
4662 integer(IK) , intent(in) :: nrow, ncol
4663 integer(IK) , intent(in) :: roff, coff
4664 type(upp_type) , intent(in) :: subset
4665 integer(IKG) , intent(inout) , contiguous :: mat(1 - roff :, 1 - coff :)
4666 integer(IKG) , intent(in) :: vupp
4667 end subroutine
4668#endif
4669
4670#if IK2_ENABLED
4671 PURE module subroutine setMatInit_EXP_UXX_D20XX_IK2(mat, subset, vupp, nrow, ncol, roff, coff, doff)
4672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4673 !DEC$ ATTRIBUTES DLLEXPORT :: setMatInit_EXP_UXX_D20XX_IK2
4674#endif
4675 use pm_kind, only: IKG => IK2
4676 integer(IK) , intent(in) , optional :: doff
4677 integer(IK) , intent(in) :: nrow, ncol
4678 integer(IK) , intent(in)