ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleCov.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
167
168!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169
171
172 use pm_kind, only: SK, IK, LK, RK
179
180 implicit none
181
182 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleCov"
183
184!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
185
200 ! \param[in] subset : The input scalar constant argument that can be any of the following:<br>
201 ! <ol>
202 ! <li> The constant [lowDia](@ref pm_matrixSubset::lowDia), implying that only the lower-diagonal subset of the output covariance matrix must be computed.<br>
203 ! <li> The constant [uppDia](@ref pm_matrixSubset::uppDia), implying that only the upper-diagonal subset of the output covariance matrix must be computed.<br>
204 ! </ol>
205 ! This input argument is merely serves to resolve the different procedures of this generic interface from each other at compile-time.<br>
206 ! (**optional**. If missing, the full covariance matrix will be output. It can be present **if and only if** the input arguments `x` and `y` are missing.)
341
342 ! cor2cov.
343
344 interface getCov
345
346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
348 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
349
350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351
352#if CK5_ENABLED
353 PURE module function getCovCorStd_ULD_UXD_CK5(cor, subsetr, std) result(cov)
354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
355 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_CK5
356#endif
357 use pm_kind, only: TKG => CK5
358 type(uppDia_type) , intent(in) :: subsetr
359 real(TKG) , intent(in) , contiguous :: std(:)
360 complex(TKG) , intent(in) , contiguous :: cor(:,:)
361 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
362 end function
363#endif
364
365#if CK4_ENABLED
366 PURE module function getCovCorStd_ULD_UXD_CK4(cor, subsetr, std) result(cov)
367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
368 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_CK4
369#endif
370 use pm_kind, only: TKG => CK4
371 type(uppDia_type) , intent(in) :: subsetr
372 real(TKG) , intent(in) , contiguous :: std(:)
373 complex(TKG) , intent(in) , contiguous :: cor(:,:)
374 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
375 end function
376#endif
377
378#if CK3_ENABLED
379 PURE module function getCovCorStd_ULD_UXD_CK3(cor, subsetr, std) result(cov)
380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
381 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_CK3
382#endif
383 use pm_kind, only: TKG => CK3
384 type(uppDia_type) , intent(in) :: subsetr
385 real(TKG) , intent(in) , contiguous :: std(:)
386 complex(TKG) , intent(in) , contiguous :: cor(:,:)
387 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
388 end function
389#endif
390
391#if CK2_ENABLED
392 PURE module function getCovCorStd_ULD_UXD_CK2(cor, subsetr, std) result(cov)
393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
394 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_CK2
395#endif
396 use pm_kind, only: TKG => CK2
397 type(uppDia_type) , intent(in) :: subsetr
398 real(TKG) , intent(in) , contiguous :: std(:)
399 complex(TKG) , intent(in) , contiguous :: cor(:,:)
400 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
401 end function
402#endif
403
404#if CK1_ENABLED
405 PURE module function getCovCorStd_ULD_UXD_CK1(cor, subsetr, std) result(cov)
406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
407 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_CK1
408#endif
409 use pm_kind, only: TKG => CK1
410 type(uppDia_type) , intent(in) :: subsetr
411 real(TKG) , intent(in) , contiguous :: std(:)
412 complex(TKG) , intent(in) , contiguous :: cor(:,:)
413 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
414 end function
415#endif
416
417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418
419#if RK5_ENABLED
420 PURE module function getCovCorStd_ULD_UXD_RK5(cor, subsetr, std) result(cov)
421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
422 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_RK5
423#endif
424 use pm_kind, only: TKG => RK5
425 type(uppDia_type) , intent(in) :: subsetr
426 real(TKG) , intent(in) , contiguous :: std(:)
427 real(TKG) , intent(in) , contiguous :: cor(:,:)
428 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
429 end function
430#endif
431
432#if RK4_ENABLED
433 PURE module function getCovCorStd_ULD_UXD_RK4(cor, subsetr, std) result(cov)
434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
435 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_RK4
436#endif
437 use pm_kind, only: TKG => RK4
438 type(uppDia_type) , intent(in) :: subsetr
439 real(TKG) , intent(in) , contiguous :: std(:)
440 real(TKG) , intent(in) , contiguous :: cor(:,:)
441 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
442 end function
443#endif
444
445#if RK3_ENABLED
446 PURE module function getCovCorStd_ULD_UXD_RK3(cor, subsetr, std) result(cov)
447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
448 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_RK3
449#endif
450 use pm_kind, only: TKG => RK3
451 type(uppDia_type) , intent(in) :: subsetr
452 real(TKG) , intent(in) , contiguous :: std(:)
453 real(TKG) , intent(in) , contiguous :: cor(:,:)
454 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
455 end function
456#endif
457
458#if RK2_ENABLED
459 PURE module function getCovCorStd_ULD_UXD_RK2(cor, subsetr, std) result(cov)
460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
461 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_RK2
462#endif
463 use pm_kind, only: TKG => RK2
464 type(uppDia_type) , intent(in) :: subsetr
465 real(TKG) , intent(in) , contiguous :: std(:)
466 real(TKG) , intent(in) , contiguous :: cor(:,:)
467 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
468 end function
469#endif
470
471#if RK1_ENABLED
472 PURE module function getCovCorStd_ULD_UXD_RK1(cor, subsetr, std) result(cov)
473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
474 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_UXD_RK1
475#endif
476 use pm_kind, only: TKG => RK1
477 type(uppDia_type) , intent(in) :: subsetr
478 real(TKG) , intent(in) , contiguous :: std(:)
479 real(TKG) , intent(in) , contiguous :: cor(:,:)
480 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
481 end function
482#endif
483
484 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
485
486 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
487 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
488 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
489
490 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
491
492#if CK5_ENABLED
493 PURE module function getCovCorStd_ULD_XLD_CK5(cor, subsetr, std) result(cov)
494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
495 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_CK5
496#endif
497 use pm_kind, only: TKG => CK5
498 type(lowDia_type) , intent(in) :: subsetr
499 real(TKG) , intent(in) , contiguous :: std(:)
500 complex(TKG) , intent(in) , contiguous :: cor(:,:)
501 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
502 end function
503#endif
504
505#if CK4_ENABLED
506 PURE module function getCovCorStd_ULD_XLD_CK4(cor, subsetr, std) result(cov)
507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
508 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_CK4
509#endif
510 use pm_kind, only: TKG => CK4
511 type(lowDia_type) , intent(in) :: subsetr
512 real(TKG) , intent(in) , contiguous :: std(:)
513 complex(TKG) , intent(in) , contiguous :: cor(:,:)
514 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
515 end function
516#endif
517
518#if CK3_ENABLED
519 PURE module function getCovCorStd_ULD_XLD_CK3(cor, subsetr, std) result(cov)
520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
521 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_CK3
522#endif
523 use pm_kind, only: TKG => CK3
524 type(lowDia_type) , intent(in) :: subsetr
525 real(TKG) , intent(in) , contiguous :: std(:)
526 complex(TKG) , intent(in) , contiguous :: cor(:,:)
527 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
528 end function
529#endif
530
531#if CK2_ENABLED
532 PURE module function getCovCorStd_ULD_XLD_CK2(cor, subsetr, std) result(cov)
533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
534 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_CK2
535#endif
536 use pm_kind, only: TKG => CK2
537 type(lowDia_type) , intent(in) :: subsetr
538 real(TKG) , intent(in) , contiguous :: std(:)
539 complex(TKG) , intent(in) , contiguous :: cor(:,:)
540 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
541 end function
542#endif
543
544#if CK1_ENABLED
545 PURE module function getCovCorStd_ULD_XLD_CK1(cor, subsetr, std) result(cov)
546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
547 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_CK1
548#endif
549 use pm_kind, only: TKG => CK1
550 type(lowDia_type) , intent(in) :: subsetr
551 real(TKG) , intent(in) , contiguous :: std(:)
552 complex(TKG) , intent(in) , contiguous :: cor(:,:)
553 complex(TKG) :: cov(size(cor, 1, IK), size(cor,2))
554 end function
555#endif
556
557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558
559#if RK5_ENABLED
560 PURE module function getCovCorStd_ULD_XLD_RK5(cor, subsetr, std) result(cov)
561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
562 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_RK5
563#endif
564 use pm_kind, only: TKG => RK5
565 type(lowDia_type) , intent(in) :: subsetr
566 real(TKG) , intent(in) , contiguous :: std(:)
567 real(TKG) , intent(in) , contiguous :: cor(:,:)
568 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
569 end function
570#endif
571
572#if RK4_ENABLED
573 PURE module function getCovCorStd_ULD_XLD_RK4(cor, subsetr, std) result(cov)
574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
575 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_RK4
576#endif
577 use pm_kind, only: TKG => RK4
578 type(lowDia_type) , intent(in) :: subsetr
579 real(TKG) , intent(in) , contiguous :: std(:)
580 real(TKG) , intent(in) , contiguous :: cor(:,:)
581 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
582 end function
583#endif
584
585#if RK3_ENABLED
586 PURE module function getCovCorStd_ULD_XLD_RK3(cor, subsetr, std) result(cov)
587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
588 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_RK3
589#endif
590 use pm_kind, only: TKG => RK3
591 type(lowDia_type) , intent(in) :: subsetr
592 real(TKG) , intent(in) , contiguous :: std(:)
593 real(TKG) , intent(in) , contiguous :: cor(:,:)
594 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
595 end function
596#endif
597
598#if RK2_ENABLED
599 PURE module function getCovCorStd_ULD_XLD_RK2(cor, subsetr, std) result(cov)
600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
601 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_RK2
602#endif
603 use pm_kind, only: TKG => RK2
604 type(lowDia_type) , intent(in) :: subsetr
605 real(TKG) , intent(in) , contiguous :: std(:)
606 real(TKG) , intent(in) , contiguous :: cor(:,:)
607 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
608 end function
609#endif
610
611#if RK1_ENABLED
612 PURE module function getCovCorStd_ULD_XLD_RK1(cor, subsetr, std) result(cov)
613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
614 !DEC$ ATTRIBUTES DLLEXPORT :: getCovCorStd_ULD_XLD_RK1
615#endif
616 use pm_kind, only: TKG => RK1
617 type(lowDia_type) , intent(in) :: subsetr
618 real(TKG) , intent(in) , contiguous :: std(:)
619 real(TKG) , intent(in) , contiguous :: cor(:,:)
620 real(TKG) :: cov(size(cor, 1, IK), size(cor,2))
621 end function
622#endif
623
624 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
625
626 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
627 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
629
630 end interface
631
632 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
633
634 ! no weight: XY.
635
636 interface getCov
637
638 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
639
640#if CK5_ENABLED
641 PURE module function getCovWNO_XY_CK5(x, y, correction) result(cov)
642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
643 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_CK5
644#endif
645 use pm_kind, only: TKG => CK5
646 class(weight_type) , intent(in) , optional :: correction
647 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
648 complex(TKG) :: cov(2, 2)
649 end function
650#endif
651
652#if CK4_ENABLED
653 PURE module function getCovWNO_XY_CK4(x, y, correction) result(cov)
654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
655 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_CK4
656#endif
657 use pm_kind, only: TKG => CK4
658 class(weight_type) , intent(in) , optional :: correction
659 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
660 complex(TKG) :: cov(2, 2)
661 end function
662#endif
663
664#if CK3_ENABLED
665 PURE module function getCovWNO_XY_CK3(x, y, correction) result(cov)
666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
667 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_CK3
668#endif
669 use pm_kind, only: TKG => CK3
670 class(weight_type) , intent(in) , optional :: correction
671 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
672 complex(TKG) :: cov(2, 2)
673 end function
674#endif
675
676#if CK2_ENABLED
677 PURE module function getCovWNO_XY_CK2(x, y, correction) result(cov)
678#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
679 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_CK2
680#endif
681 use pm_kind, only: TKG => CK2
682 class(weight_type) , intent(in) , optional :: correction
683 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
684 complex(TKG) :: cov(2, 2)
685 end function
686#endif
687
688#if CK1_ENABLED
689 PURE module function getCovWNO_XY_CK1(x, y, correction) result(cov)
690#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
691 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_CK1
692#endif
693 use pm_kind, only: TKG => CK1
694 class(weight_type) , intent(in) , optional :: correction
695 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
696 complex(TKG) :: cov(2, 2)
697 end function
698#endif
699
700 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
701
702#if RK5_ENABLED
703 PURE module function getCovWNO_XY_RK5(x, y, correction) result(cov)
704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
705 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_RK5
706#endif
707 use pm_kind, only: TKG => RK5
708 class(weight_type) , intent(in) , optional :: correction
709 real(TKG) , intent(in) , contiguous :: x(:), y(:)
710 real(TKG) :: cov(2, 2)
711 end function
712#endif
713
714#if RK4_ENABLED
715 PURE module function getCovWNO_XY_RK4(x, y, correction) result(cov)
716#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
717 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_RK4
718#endif
719 use pm_kind, only: TKG => RK4
720 class(weight_type) , intent(in) , optional :: correction
721 real(TKG) , intent(in) , contiguous :: x(:), y(:)
722 real(TKG) :: cov(2, 2)
723 end function
724#endif
725
726#if RK3_ENABLED
727 PURE module function getCovWNO_XY_RK3(x, y, correction) result(cov)
728#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
729 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_RK3
730#endif
731 use pm_kind, only: TKG => RK3
732 class(weight_type) , intent(in) , optional :: correction
733 real(TKG) , intent(in) , contiguous :: x(:), y(:)
734 real(TKG) :: cov(2, 2)
735 end function
736#endif
737
738#if RK2_ENABLED
739 PURE module function getCovWNO_XY_RK2(x, y, correction) result(cov)
740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
741 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_RK2
742#endif
743 use pm_kind, only: TKG => RK2
744 class(weight_type) , intent(in) , optional :: correction
745 real(TKG) , intent(in) , contiguous :: x(:), y(:)
746 real(TKG) :: cov(2, 2)
747 end function
748#endif
749
750#if RK1_ENABLED
751 PURE module function getCovWNO_XY_RK1(x, y, correction) result(cov)
752#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
753 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_XY_RK1
754#endif
755 use pm_kind, only: TKG => RK1
756 class(weight_type) , intent(in) , optional :: correction
757 real(TKG) , intent(in) , contiguous :: x(:), y(:)
758 real(TKG) :: cov(2, 2)
759 end function
760#endif
761
762 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
763
764 end interface getCov
765
766 ! integer weight: XY.
767
768 interface getCov
769
770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
771
772#if CK5_ENABLED
773 PURE module function getCovWTI_XY_CK5(x, y, weight, correction) result(cov)
774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
775 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_CK5
776#endif
777 use pm_kind, only: TKG => CK5
778 class(weight_type) , intent(in) , optional :: correction
779 integer(IK) , intent(in) , contiguous :: weight(:)
780 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
781 complex(TKG) :: cov(2, 2)
782 end function
783#endif
784
785#if CK4_ENABLED
786 PURE module function getCovWTI_XY_CK4(x, y, weight, correction) result(cov)
787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
788 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_CK4
789#endif
790 use pm_kind, only: TKG => CK4
791 class(weight_type) , intent(in) , optional :: correction
792 integer(IK) , intent(in) , contiguous :: weight(:)
793 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
794 complex(TKG) :: cov(2, 2)
795 end function
796#endif
797
798#if CK3_ENABLED
799 PURE module function getCovWTI_XY_CK3(x, y, weight, correction) result(cov)
800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
801 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_CK3
802#endif
803 use pm_kind, only: TKG => CK3
804 class(weight_type) , intent(in) , optional :: correction
805 integer(IK) , intent(in) , contiguous :: weight(:)
806 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
807 complex(TKG) :: cov(2, 2)
808 end function
809#endif
810
811#if CK2_ENABLED
812 PURE module function getCovWTI_XY_CK2(x, y, weight, correction) result(cov)
813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
814 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_CK2
815#endif
816 use pm_kind, only: TKG => CK2
817 class(weight_type) , intent(in) , optional :: correction
818 integer(IK) , intent(in) , contiguous :: weight(:)
819 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
820 complex(TKG) :: cov(2, 2)
821 end function
822#endif
823
824#if CK1_ENABLED
825 PURE module function getCovWTI_XY_CK1(x, y, weight, correction) result(cov)
826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
827 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_CK1
828#endif
829 use pm_kind, only: TKG => CK1
830 class(weight_type) , intent(in) , optional :: correction
831 integer(IK) , intent(in) , contiguous :: weight(:)
832 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
833 complex(TKG) :: cov(2, 2)
834 end function
835#endif
836
837 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
838
839#if RK5_ENABLED
840 PURE module function getCovWTI_XY_RK5(x, y, weight, correction) result(cov)
841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
842 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_RK5
843#endif
844 use pm_kind, only: TKG => RK5
845 class(weight_type) , intent(in) , optional :: correction
846 integer(IK) , intent(in) , contiguous :: weight(:)
847 real(TKG) , intent(in) , contiguous :: x(:), y(:)
848 real(TKG) :: cov(2, 2)
849 end function
850#endif
851
852#if RK4_ENABLED
853 PURE module function getCovWTI_XY_RK4(x, y, weight, correction) result(cov)
854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
855 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_RK4
856#endif
857 use pm_kind, only: TKG => RK4
858 class(weight_type) , intent(in) , optional :: correction
859 integer(IK) , intent(in) , contiguous :: weight(:)
860 real(TKG) , intent(in) , contiguous :: x(:), y(:)
861 real(TKG) :: cov(2, 2)
862 end function
863#endif
864
865#if RK3_ENABLED
866 PURE module function getCovWTI_XY_RK3(x, y, weight, correction) result(cov)
867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
868 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_RK3
869#endif
870 use pm_kind, only: TKG => RK3
871 class(weight_type) , intent(in) , optional :: correction
872 integer(IK) , intent(in) , contiguous :: weight(:)
873 real(TKG) , intent(in) , contiguous :: x(:), y(:)
874 real(TKG) :: cov(2, 2)
875 end function
876#endif
877
878#if RK2_ENABLED
879 PURE module function getCovWTI_XY_RK2(x, y, weight, correction) result(cov)
880#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
881 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_RK2
882#endif
883 use pm_kind, only: TKG => RK2
884 class(weight_type) , intent(in) , optional :: correction
885 integer(IK) , intent(in) , contiguous :: weight(:)
886 real(TKG) , intent(in) , contiguous :: x(:), y(:)
887 real(TKG) :: cov(2, 2)
888 end function
889#endif
890
891#if RK1_ENABLED
892 PURE module function getCovWTI_XY_RK1(x, y, weight, correction) result(cov)
893#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
894 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_XY_RK1
895#endif
896 use pm_kind, only: TKG => RK1
897 class(weight_type) , intent(in) , optional :: correction
898 integer(IK) , intent(in) , contiguous :: weight(:)
899 real(TKG) , intent(in) , contiguous :: x(:), y(:)
900 real(TKG) :: cov(2, 2)
901 end function
902#endif
903
904 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
905
906 end interface getCov
907
908 ! real weight: XY.
909
910 interface getCov
911
912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
913
914#if CK5_ENABLED
915 PURE module function getCovWTR_XY_CK5(x, y, weight, correction) result(cov)
916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
917 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_CK5
918#endif
919 use pm_kind, only: TKG => CK5
920 class(weight_type) , intent(in) , optional :: correction
921 real(TKG) , intent(in) , contiguous :: weight(:)
922 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
923 complex(TKG) :: cov(2, 2)
924 end function
925#endif
926
927#if CK4_ENABLED
928 PURE module function getCovWTR_XY_CK4(x, y, weight, correction) result(cov)
929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
930 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_CK4
931#endif
932 use pm_kind, only: TKG => CK4
933 class(weight_type) , intent(in) , optional :: correction
934 real(TKG) , intent(in) , contiguous :: weight(:)
935 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
936 complex(TKG) :: cov(2, 2)
937 end function
938#endif
939
940#if CK3_ENABLED
941 PURE module function getCovWTR_XY_CK3(x, y, weight, correction) result(cov)
942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
943 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_CK3
944#endif
945 use pm_kind, only: TKG => CK3
946 class(weight_type) , intent(in) , optional :: correction
947 real(TKG) , intent(in) , contiguous :: weight(:)
948 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
949 complex(TKG) :: cov(2, 2)
950 end function
951#endif
952
953#if CK2_ENABLED
954 PURE module function getCovWTR_XY_CK2(x, y, weight, correction) result(cov)
955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
956 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_CK2
957#endif
958 use pm_kind, only: TKG => CK2
959 class(weight_type) , intent(in) , optional :: correction
960 real(TKG) , intent(in) , contiguous :: weight(:)
961 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
962 complex(TKG) :: cov(2, 2)
963 end function
964#endif
965
966#if CK1_ENABLED
967 PURE module function getCovWTR_XY_CK1(x, y, weight, correction) result(cov)
968#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
969 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_CK1
970#endif
971 use pm_kind, only: TKG => CK1
972 class(weight_type) , intent(in) , optional :: correction
973 real(TKG) , intent(in) , contiguous :: weight(:)
974 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
975 complex(TKG) :: cov(2, 2)
976 end function
977#endif
978
979 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
980
981#if RK5_ENABLED
982 PURE module function getCovWTR_XY_RK5(x, y, weight, correction) result(cov)
983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
984 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_RK5
985#endif
986 use pm_kind, only: TKG => RK5
987 class(weight_type) , intent(in) , optional :: correction
988 real(TKG) , intent(in) , contiguous :: weight(:)
989 real(TKG) , intent(in) , contiguous :: x(:), y(:)
990 real(TKG) :: cov(2, 2)
991 end function
992#endif
993
994#if RK4_ENABLED
995 PURE module function getCovWTR_XY_RK4(x, y, weight, correction) result(cov)
996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
997 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_RK4
998#endif
999 use pm_kind, only: TKG => RK4
1000 class(weight_type) , intent(in) , optional :: correction
1001 real(TKG) , intent(in) , contiguous :: weight(:)
1002 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1003 real(TKG) :: cov(2, 2)
1004 end function
1005#endif
1006
1007#if RK3_ENABLED
1008 PURE module function getCovWTR_XY_RK3(x, y, weight, correction) result(cov)
1009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1010 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_RK3
1011#endif
1012 use pm_kind, only: TKG => RK3
1013 class(weight_type) , intent(in) , optional :: correction
1014 real(TKG) , intent(in) , contiguous :: weight(:)
1015 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1016 real(TKG) :: cov(2, 2)
1017 end function
1018#endif
1019
1020#if RK2_ENABLED
1021 PURE module function getCovWTR_XY_RK2(x, y, weight, correction) result(cov)
1022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1023 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_RK2
1024#endif
1025 use pm_kind, only: TKG => RK2
1026 class(weight_type) , intent(in) , optional :: correction
1027 real(TKG) , intent(in) , contiguous :: weight(:)
1028 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1029 real(TKG) :: cov(2, 2)
1030 end function
1031#endif
1032
1033#if RK1_ENABLED
1034 PURE module function getCovWTR_XY_RK1(x, y, weight, correction) result(cov)
1035#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1036 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_XY_RK1
1037#endif
1038 use pm_kind, only: TKG => RK1
1039 class(weight_type) , intent(in) , optional :: correction
1040 real(TKG) , intent(in) , contiguous :: weight(:)
1041 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1042 real(TKG) :: cov(2, 2)
1043 end function
1044#endif
1045
1046 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1047
1048 end interface getCov
1049
1050 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1051
1052 ! no weight: ULD.
1053
1054 interface getCov
1055
1056 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1057
1058#if CK5_ENABLED
1059 PURE module function getCovWNO_ULD_CK5(sample, dim, correction) result(cov)
1060#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1061 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_CK5
1062#endif
1063 use pm_kind, only: TKG => CK5
1064 integer(IK) , intent(in) :: dim
1065 class(weight_type) , intent(in) , optional :: correction
1066 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1067 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1068 end function
1069#endif
1070
1071#if CK4_ENABLED
1072 PURE module function getCovWNO_ULD_CK4(sample, dim, correction) result(cov)
1073#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1074 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_CK4
1075#endif
1076 use pm_kind, only: TKG => CK4
1077 integer(IK) , intent(in) :: dim
1078 class(weight_type) , intent(in) , optional :: correction
1079 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1080 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1081 end function
1082#endif
1083
1084#if CK3_ENABLED
1085 PURE module function getCovWNO_ULD_CK3(sample, dim, correction) result(cov)
1086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1087 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_CK3
1088#endif
1089 use pm_kind, only: TKG => CK3
1090 integer(IK) , intent(in) :: dim
1091 class(weight_type) , intent(in) , optional :: correction
1092 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1093 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1094 end function
1095#endif
1096
1097#if CK2_ENABLED
1098 PURE module function getCovWNO_ULD_CK2(sample, dim, correction) result(cov)
1099#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1100 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_CK2
1101#endif
1102 use pm_kind, only: TKG => CK2
1103 integer(IK) , intent(in) :: dim
1104 class(weight_type) , intent(in) , optional :: correction
1105 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1106 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1107 end function
1108#endif
1109
1110#if CK1_ENABLED
1111 PURE module function getCovWNO_ULD_CK1(sample, dim, correction) result(cov)
1112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1113 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_CK1
1114#endif
1115 use pm_kind, only: TKG => CK1
1116 integer(IK) , intent(in) :: dim
1117 class(weight_type) , intent(in) , optional :: correction
1118 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1119 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1120 end function
1121#endif
1122
1123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1124
1125#if RK5_ENABLED
1126 PURE module function getCovWNO_ULD_RK5(sample, dim, correction) result(cov)
1127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1128 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_RK5
1129#endif
1130 use pm_kind, only: TKG => RK5
1131 integer(IK) , intent(in) :: dim
1132 class(weight_type) , intent(in) , optional :: correction
1133 real(TKG) , intent(in) , contiguous :: sample(:,:)
1134 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1135 end function
1136#endif
1137
1138#if RK4_ENABLED
1139 PURE module function getCovWNO_ULD_RK4(sample, dim, correction) result(cov)
1140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1141 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_RK4
1142#endif
1143 use pm_kind, only: TKG => RK4
1144 integer(IK) , intent(in) :: dim
1145 class(weight_type) , intent(in) , optional :: correction
1146 real(TKG) , intent(in) , contiguous :: sample(:,:)
1147 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1148 end function
1149#endif
1150
1151#if RK3_ENABLED
1152 PURE module function getCovWNO_ULD_RK3(sample, dim, correction) result(cov)
1153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1154 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_RK3
1155#endif
1156 use pm_kind, only: TKG => RK3
1157 integer(IK) , intent(in) :: dim
1158 class(weight_type) , intent(in) , optional :: correction
1159 real(TKG) , intent(in) , contiguous :: sample(:,:)
1160 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1161 end function
1162#endif
1163
1164#if RK2_ENABLED
1165 PURE module function getCovWNO_ULD_RK2(sample, dim, correction) result(cov)
1166#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1167 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_RK2
1168#endif
1169 use pm_kind, only: TKG => RK2
1170 integer(IK) , intent(in) :: dim
1171 class(weight_type) , intent(in) , optional :: correction
1172 real(TKG) , intent(in) , contiguous :: sample(:,:)
1173 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1174 end function
1175#endif
1176
1177#if RK1_ENABLED
1178 PURE module function getCovWNO_ULD_RK1(sample, dim, correction) result(cov)
1179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1180 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWNO_ULD_RK1
1181#endif
1182 use pm_kind, only: TKG => RK1
1183 integer(IK) , intent(in) :: dim
1184 class(weight_type) , intent(in) , optional :: correction
1185 real(TKG) , intent(in) , contiguous :: sample(:,:)
1186 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1187 end function
1188#endif
1189
1190 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1191
1192 end interface getCov
1193
1194 ! integer weight: ULD.
1195
1196 interface getCov
1197
1198 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1199
1200#if CK5_ENABLED
1201 PURE module function getCovWTI_ULD_CK5(sample, dim, weight, correction) result(cov)
1202#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1203 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_CK5
1204#endif
1205 use pm_kind, only: TKG => CK5
1206 integer(IK) , intent(in) :: dim
1207 class(weight_type) , intent(in) , optional :: correction
1208 integer(IK) , intent(in) , contiguous :: weight(:)
1209 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1210 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1211 end function
1212#endif
1213
1214#if CK4_ENABLED
1215 PURE module function getCovWTI_ULD_CK4(sample, dim, weight, correction) result(cov)
1216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1217 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_CK4
1218#endif
1219 use pm_kind, only: TKG => CK4
1220 integer(IK) , intent(in) :: dim
1221 class(weight_type) , intent(in) , optional :: correction
1222 integer(IK) , intent(in) , contiguous :: weight(:)
1223 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1224 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1225 end function
1226#endif
1227
1228#if CK3_ENABLED
1229 PURE module function getCovWTI_ULD_CK3(sample, dim, weight, correction) result(cov)
1230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1231 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_CK3
1232#endif
1233 use pm_kind, only: TKG => CK3
1234 integer(IK) , intent(in) :: dim
1235 class(weight_type) , intent(in) , optional :: correction
1236 integer(IK) , intent(in) , contiguous :: weight(:)
1237 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1238 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1239 end function
1240#endif
1241
1242#if CK2_ENABLED
1243 PURE module function getCovWTI_ULD_CK2(sample, dim, weight, correction) result(cov)
1244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1245 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_CK2
1246#endif
1247 use pm_kind, only: TKG => CK2
1248 integer(IK) , intent(in) :: dim
1249 class(weight_type) , intent(in) , optional :: correction
1250 integer(IK) , intent(in) , contiguous :: weight(:)
1251 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1252 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1253 end function
1254#endif
1255
1256#if CK1_ENABLED
1257 PURE module function getCovWTI_ULD_CK1(sample, dim, weight, correction) result(cov)
1258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1259 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_CK1
1260#endif
1261 use pm_kind, only: TKG => CK1
1262 integer(IK) , intent(in) :: dim
1263 class(weight_type) , intent(in) , optional :: correction
1264 integer(IK) , intent(in) , contiguous :: weight(:)
1265 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1266 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1267 end function
1268#endif
1269
1270 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1271
1272#if RK5_ENABLED
1273 PURE module function getCovWTI_ULD_RK5(sample, dim, weight, correction) result(cov)
1274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1275 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_RK5
1276#endif
1277 use pm_kind, only: TKG => RK5
1278 integer(IK) , intent(in) :: dim
1279 class(weight_type) , intent(in) , optional :: correction
1280 integer(IK) , intent(in) , contiguous :: weight(:)
1281 real(TKG) , intent(in) , contiguous :: sample(:,:)
1282 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1283 end function
1284#endif
1285
1286#if RK4_ENABLED
1287 PURE module function getCovWTI_ULD_RK4(sample, dim, weight, correction) result(cov)
1288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1289 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_RK4
1290#endif
1291 use pm_kind, only: TKG => RK4
1292 integer(IK) , intent(in) :: dim
1293 class(weight_type) , intent(in) , optional :: correction
1294 integer(IK) , intent(in) , contiguous :: weight(:)
1295 real(TKG) , intent(in) , contiguous :: sample(:,:)
1296 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1297 end function
1298#endif
1299
1300#if RK3_ENABLED
1301 PURE module function getCovWTI_ULD_RK3(sample, dim, weight, correction) result(cov)
1302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1303 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_RK3
1304#endif
1305 use pm_kind, only: TKG => RK3
1306 integer(IK) , intent(in) :: dim
1307 class(weight_type) , intent(in) , optional :: correction
1308 integer(IK) , intent(in) , contiguous :: weight(:)
1309 real(TKG) , intent(in) , contiguous :: sample(:,:)
1310 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1311 end function
1312#endif
1313
1314#if RK2_ENABLED
1315 PURE module function getCovWTI_ULD_RK2(sample, dim, weight, correction) result(cov)
1316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1317 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_RK2
1318#endif
1319 use pm_kind, only: TKG => RK2
1320 integer(IK) , intent(in) :: dim
1321 class(weight_type) , intent(in) , optional :: correction
1322 integer(IK) , intent(in) , contiguous :: weight(:)
1323 real(TKG) , intent(in) , contiguous :: sample(:,:)
1324 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1325 end function
1326#endif
1327
1328#if RK1_ENABLED
1329 PURE module function getCovWTI_ULD_RK1(sample, dim, weight, correction) result(cov)
1330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1331 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTI_ULD_RK1
1332#endif
1333 use pm_kind, only: TKG => RK1
1334 integer(IK) , intent(in) :: dim
1335 class(weight_type) , intent(in) , optional :: correction
1336 integer(IK) , intent(in) , contiguous :: weight(:)
1337 real(TKG) , intent(in) , contiguous :: sample(:,:)
1338 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1339 end function
1340#endif
1341
1342 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1343
1344 end interface getCov
1345
1346 ! real weight: ULD.
1347
1348 interface getCov
1349
1350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1351
1352#if CK5_ENABLED
1353 PURE module function getCovWTR_ULD_CK5(sample, dim, weight, correction) result(cov)
1354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1355 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_CK5
1356#endif
1357 use pm_kind, only: TKG => CK5
1358 integer(IK) , intent(in) :: dim
1359 class(weight_type) , intent(in) , optional :: correction
1360 real(TKG) , intent(in) , contiguous :: weight(:)
1361 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1362 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1363 end function
1364#endif
1365
1366#if CK4_ENABLED
1367 PURE module function getCovWTR_ULD_CK4(sample, dim, weight, correction) result(cov)
1368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1369 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_CK4
1370#endif
1371 use pm_kind, only: TKG => CK4
1372 integer(IK) , intent(in) :: dim
1373 class(weight_type) , intent(in) , optional :: correction
1374 real(TKG) , intent(in) , contiguous :: weight(:)
1375 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1376 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1377 end function
1378#endif
1379
1380#if CK3_ENABLED
1381 PURE module function getCovWTR_ULD_CK3(sample, dim, weight, correction) result(cov)
1382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1383 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_CK3
1384#endif
1385 use pm_kind, only: TKG => CK3
1386 integer(IK) , intent(in) :: dim
1387 class(weight_type) , intent(in) , optional :: correction
1388 real(TKG) , intent(in) , contiguous :: weight(:)
1389 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1390 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1391 end function
1392#endif
1393
1394#if CK2_ENABLED
1395 PURE module function getCovWTR_ULD_CK2(sample, dim, weight, correction) result(cov)
1396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1397 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_CK2
1398#endif
1399 use pm_kind, only: TKG => CK2
1400 integer(IK) , intent(in) :: dim
1401 class(weight_type) , intent(in) , optional :: correction
1402 real(TKG) , intent(in) , contiguous :: weight(:)
1403 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1404 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1405 end function
1406#endif
1407
1408#if CK1_ENABLED
1409 PURE module function getCovWTR_ULD_CK1(sample, dim, weight, correction) result(cov)
1410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1411 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_CK1
1412#endif
1413 use pm_kind, only: TKG => CK1
1414 integer(IK) , intent(in) :: dim
1415 class(weight_type) , intent(in) , optional :: correction
1416 real(TKG) , intent(in) , contiguous :: weight(:)
1417 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1418 complex(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1419 end function
1420#endif
1421
1422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1423
1424#if RK5_ENABLED
1425 PURE module function getCovWTR_ULD_RK5(sample, dim, weight, correction) result(cov)
1426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1427 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_RK5
1428#endif
1429 use pm_kind, only: TKG => RK5
1430 integer(IK) , intent(in) :: dim
1431 class(weight_type) , intent(in) , optional :: correction
1432 real(TKG) , intent(in) , contiguous :: weight(:)
1433 real(TKG) , intent(in) , contiguous :: sample(:,:)
1434 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1435 end function
1436#endif
1437
1438#if RK4_ENABLED
1439 PURE module function getCovWTR_ULD_RK4(sample, dim, weight, correction) result(cov)
1440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1441 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_RK4
1442#endif
1443 use pm_kind, only: TKG => RK4
1444 integer(IK) , intent(in) :: dim
1445 class(weight_type) , intent(in) , optional :: correction
1446 real(TKG) , intent(in) , contiguous :: weight(:)
1447 real(TKG) , intent(in) , contiguous :: sample(:,:)
1448 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1449 end function
1450#endif
1451
1452#if RK3_ENABLED
1453 PURE module function getCovWTR_ULD_RK3(sample, dim, weight, correction) result(cov)
1454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1455 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_RK3
1456#endif
1457 use pm_kind, only: TKG => RK3
1458 integer(IK) , intent(in) :: dim
1459 class(weight_type) , intent(in) , optional :: correction
1460 real(TKG) , intent(in) , contiguous :: weight(:)
1461 real(TKG) , intent(in) , contiguous :: sample(:,:)
1462 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1463 end function
1464#endif
1465
1466#if RK2_ENABLED
1467 PURE module function getCovWTR_ULD_RK2(sample, dim, weight, correction) result(cov)
1468#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1469 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_RK2
1470#endif
1471 use pm_kind, only: TKG => RK2
1472 integer(IK) , intent(in) :: dim
1473 class(weight_type) , intent(in) , optional :: correction
1474 real(TKG) , intent(in) , contiguous :: weight(:)
1475 real(TKG) , intent(in) , contiguous :: sample(:,:)
1476 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1477 end function
1478#endif
1479
1480#if RK1_ENABLED
1481 PURE module function getCovWTR_ULD_RK1(sample, dim, weight, correction) result(cov)
1482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1483 !DEC$ ATTRIBUTES DLLEXPORT :: getCovWTR_ULD_RK1
1484#endif
1485 use pm_kind, only: TKG => RK1
1486 integer(IK) , intent(in) :: dim
1487 class(weight_type) , intent(in) , optional :: correction
1488 real(TKG) , intent(in) , contiguous :: weight(:)
1489 real(TKG) , intent(in) , contiguous :: sample(:,:)
1490 real(TKG) :: cov(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1491 end function
1492#endif
1493
1494 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1495
1496 end interface getCov
1497
1498!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1499
1691
1692 ! cor2cov.
1693
1694 interface setCov
1695
1696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1697 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1699
1700 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1701
1702#if CK5_ENABLED
1703 PURE module subroutine setCovCorStd_UXD_UXD_CK5(cov, subset, cor, subsetr, std)
1704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1705 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_CK5
1706#endif
1707 use pm_kind, only: TKG => CK5
1708 type(uppDia_type) , intent(in) :: subset
1709 type(uppDia_type) , intent(in) :: subsetr
1710 real(TKG) , intent(in) , contiguous :: std(:)
1711 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1712 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1713 end subroutine
1714#endif
1715
1716#if CK4_ENABLED
1717 PURE module subroutine setCovCorStd_UXD_UXD_CK4(cov, subset, cor, subsetr, std)
1718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1719 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_CK4
1720#endif
1721 use pm_kind, only: TKG => CK4
1722 type(uppDia_type) , intent(in) :: subset
1723 type(uppDia_type) , intent(in) :: subsetr
1724 real(TKG) , intent(in) , contiguous :: std(:)
1725 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1726 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1727 end subroutine
1728#endif
1729
1730#if CK3_ENABLED
1731 PURE module subroutine setCovCorStd_UXD_UXD_CK3(cov, subset, cor, subsetr, std)
1732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1733 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_CK3
1734#endif
1735 use pm_kind, only: TKG => CK3
1736 type(uppDia_type) , intent(in) :: subset
1737 type(uppDia_type) , intent(in) :: subsetr
1738 real(TKG) , intent(in) , contiguous :: std(:)
1739 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1740 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1741 end subroutine
1742#endif
1743
1744#if CK2_ENABLED
1745 PURE module subroutine setCovCorStd_UXD_UXD_CK2(cov, subset, cor, subsetr, std)
1746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1747 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_CK2
1748#endif
1749 use pm_kind, only: TKG => CK2
1750 type(uppDia_type) , intent(in) :: subset
1751 type(uppDia_type) , intent(in) :: subsetr
1752 real(TKG) , intent(in) , contiguous :: std(:)
1753 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1754 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1755 end subroutine
1756#endif
1757
1758#if CK1_ENABLED
1759 PURE module subroutine setCovCorStd_UXD_UXD_CK1(cov, subset, cor, subsetr, std)
1760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1761 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_CK1
1762#endif
1763 use pm_kind, only: TKG => CK1
1764 type(uppDia_type) , intent(in) :: subset
1765 type(uppDia_type) , intent(in) :: subsetr
1766 real(TKG) , intent(in) , contiguous :: std(:)
1767 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1768 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1769 end subroutine
1770#endif
1771
1772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1773
1774#if RK5_ENABLED
1775 PURE module subroutine setCovCorStd_UXD_UXD_RK5(cov, subset, cor, subsetr, std)
1776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1777 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_RK5
1778#endif
1779 use pm_kind, only: TKG => RK5
1780 type(uppDia_type) , intent(in) :: subset
1781 type(uppDia_type) , intent(in) :: subsetr
1782 real(TKG) , intent(in) , contiguous :: std(:)
1783 real(TKG) , intent(in) , contiguous :: cor(:,:)
1784 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1785 end subroutine
1786#endif
1787
1788#if RK4_ENABLED
1789 PURE module subroutine setCovCorStd_UXD_UXD_RK4(cov, subset, cor, subsetr, std)
1790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1791 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_RK4
1792#endif
1793 use pm_kind, only: TKG => RK4
1794 type(uppDia_type) , intent(in) :: subset
1795 type(uppDia_type) , intent(in) :: subsetr
1796 real(TKG) , intent(in) , contiguous :: std(:)
1797 real(TKG) , intent(in) , contiguous :: cor(:,:)
1798 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1799 end subroutine
1800#endif
1801
1802#if RK3_ENABLED
1803 PURE module subroutine setCovCorStd_UXD_UXD_RK3(cov, subset, cor, subsetr, std)
1804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1805 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_RK3
1806#endif
1807 use pm_kind, only: TKG => RK3
1808 type(uppDia_type) , intent(in) :: subset
1809 type(uppDia_type) , intent(in) :: subsetr
1810 real(TKG) , intent(in) , contiguous :: std(:)
1811 real(TKG) , intent(in) , contiguous :: cor(:,:)
1812 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1813 end subroutine
1814#endif
1815
1816#if RK2_ENABLED
1817 PURE module subroutine setCovCorStd_UXD_UXD_RK2(cov, subset, cor, subsetr, std)
1818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1819 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_RK2
1820#endif
1821 use pm_kind, only: TKG => RK2
1822 type(uppDia_type) , intent(in) :: subset
1823 type(uppDia_type) , intent(in) :: subsetr
1824 real(TKG) , intent(in) , contiguous :: std(:)
1825 real(TKG) , intent(in) , contiguous :: cor(:,:)
1826 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1827 end subroutine
1828#endif
1829
1830#if RK1_ENABLED
1831 PURE module subroutine setCovCorStd_UXD_UXD_RK1(cov, subset, cor, subsetr, std)
1832#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1833 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_UXD_RK1
1834#endif
1835 use pm_kind, only: TKG => RK1
1836 type(uppDia_type) , intent(in) :: subset
1837 type(uppDia_type) , intent(in) :: subsetr
1838 real(TKG) , intent(in) , contiguous :: std(:)
1839 real(TKG) , intent(in) , contiguous :: cor(:,:)
1840 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1841 end subroutine
1842#endif
1843
1844 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1845
1846 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1847 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1849
1850 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1851
1852#if CK5_ENABLED
1853 PURE module subroutine setCovCorStd_UXD_XLD_CK5(cov, subset, cor, subsetr, std)
1854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1855 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_CK5
1856#endif
1857 use pm_kind, only: TKG => CK5
1858 type(uppDia_type) , intent(in) :: subset
1859 type(lowDia_type) , intent(in) :: subsetr
1860 real(TKG) , intent(in) , contiguous :: std(:)
1861 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1862 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1863 end subroutine
1864#endif
1865
1866#if CK4_ENABLED
1867 PURE module subroutine setCovCorStd_UXD_XLD_CK4(cov, subset, cor, subsetr, std)
1868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1869 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_CK4
1870#endif
1871 use pm_kind, only: TKG => CK4
1872 type(uppDia_type) , intent(in) :: subset
1873 type(lowDia_type) , intent(in) :: subsetr
1874 real(TKG) , intent(in) , contiguous :: std(:)
1875 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1876 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1877 end subroutine
1878#endif
1879
1880#if CK3_ENABLED
1881 PURE module subroutine setCovCorStd_UXD_XLD_CK3(cov, subset, cor, subsetr, std)
1882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1883 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_CK3
1884#endif
1885 use pm_kind, only: TKG => CK3
1886 type(uppDia_type) , intent(in) :: subset
1887 type(lowDia_type) , intent(in) :: subsetr
1888 real(TKG) , intent(in) , contiguous :: std(:)
1889 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1890 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1891 end subroutine
1892#endif
1893
1894#if CK2_ENABLED
1895 PURE module subroutine setCovCorStd_UXD_XLD_CK2(cov, subset, cor, subsetr, std)
1896#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1897 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_CK2
1898#endif
1899 use pm_kind, only: TKG => CK2
1900 type(uppDia_type) , intent(in) :: subset
1901 type(lowDia_type) , intent(in) :: subsetr
1902 real(TKG) , intent(in) , contiguous :: std(:)
1903 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1904 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1905 end subroutine
1906#endif
1907
1908#if CK1_ENABLED
1909 PURE module subroutine setCovCorStd_UXD_XLD_CK1(cov, subset, cor, subsetr, std)
1910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1911 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_CK1
1912#endif
1913 use pm_kind, only: TKG => CK1
1914 type(uppDia_type) , intent(in) :: subset
1915 type(lowDia_type) , intent(in) :: subsetr
1916 real(TKG) , intent(in) , contiguous :: std(:)
1917 complex(TKG) , intent(in) , contiguous :: cor(:,:)
1918 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
1919 end subroutine
1920#endif
1921
1922 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1923
1924#if RK5_ENABLED
1925 PURE module subroutine setCovCorStd_UXD_XLD_RK5(cov, subset, cor, subsetr, std)
1926#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1927 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_RK5
1928#endif
1929 use pm_kind, only: TKG => RK5
1930 type(uppDia_type) , intent(in) :: subset
1931 type(lowDia_type) , intent(in) :: subsetr
1932 real(TKG) , intent(in) , contiguous :: std(:)
1933 real(TKG) , intent(in) , contiguous :: cor(:,:)
1934 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1935 end subroutine
1936#endif
1937
1938#if RK4_ENABLED
1939 PURE module subroutine setCovCorStd_UXD_XLD_RK4(cov, subset, cor, subsetr, std)
1940#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1941 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_RK4
1942#endif
1943 use pm_kind, only: TKG => RK4
1944 type(uppDia_type) , intent(in) :: subset
1945 type(lowDia_type) , intent(in) :: subsetr
1946 real(TKG) , intent(in) , contiguous :: std(:)
1947 real(TKG) , intent(in) , contiguous :: cor(:,:)
1948 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1949 end subroutine
1950#endif
1951
1952#if RK3_ENABLED
1953 PURE module subroutine setCovCorStd_UXD_XLD_RK3(cov, subset, cor, subsetr, std)
1954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1955 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_RK3
1956#endif
1957 use pm_kind, only: TKG => RK3
1958 type(uppDia_type) , intent(in) :: subset
1959 type(lowDia_type) , intent(in) :: subsetr
1960 real(TKG) , intent(in) , contiguous :: std(:)
1961 real(TKG) , intent(in) , contiguous :: cor(:,:)
1962 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1963 end subroutine
1964#endif
1965
1966#if RK2_ENABLED
1967 PURE module subroutine setCovCorStd_UXD_XLD_RK2(cov, subset, cor, subsetr, std)
1968#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1969 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_RK2
1970#endif
1971 use pm_kind, only: TKG => RK2
1972 type(uppDia_type) , intent(in) :: subset
1973 type(lowDia_type) , intent(in) :: subsetr
1974 real(TKG) , intent(in) , contiguous :: std(:)
1975 real(TKG) , intent(in) , contiguous :: cor(:,:)
1976 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1977 end subroutine
1978#endif
1979
1980#if RK1_ENABLED
1981 PURE module subroutine setCovCorStd_UXD_XLD_RK1(cov, subset, cor, subsetr, std)
1982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1983 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_UXD_XLD_RK1
1984#endif
1985 use pm_kind, only: TKG => RK1
1986 type(uppDia_type) , intent(in) :: subset
1987 type(lowDia_type) , intent(in) :: subsetr
1988 real(TKG) , intent(in) , contiguous :: std(:)
1989 real(TKG) , intent(in) , contiguous :: cor(:,:)
1990 real(TKG) , intent(inout) , contiguous :: cov(:,:)
1991 end subroutine
1992#endif
1993
1994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1995
1996 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1997 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1998 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1999
2000 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2001
2002#if CK5_ENABLED
2003 PURE module subroutine setCovCorStd_XLD_UXD_CK5(cov, subset, cor, subsetr, std)
2004#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2005 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_CK5
2006#endif
2007 use pm_kind, only: TKG => CK5
2008 type(lowDia_type) , intent(in) :: subset
2009 type(uppDia_type) , intent(in) :: subsetr
2010 real(TKG) , intent(in) , contiguous :: std(:)
2011 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2012 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2013 end subroutine
2014#endif
2015
2016#if CK4_ENABLED
2017 PURE module subroutine setCovCorStd_XLD_UXD_CK4(cov, subset, cor, subsetr, std)
2018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2019 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_CK4
2020#endif
2021 use pm_kind, only: TKG => CK4
2022 type(lowDia_type) , intent(in) :: subset
2023 type(uppDia_type) , intent(in) :: subsetr
2024 real(TKG) , intent(in) , contiguous :: std(:)
2025 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2026 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2027 end subroutine
2028#endif
2029
2030#if CK3_ENABLED
2031 PURE module subroutine setCovCorStd_XLD_UXD_CK3(cov, subset, cor, subsetr, std)
2032#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2033 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_CK3
2034#endif
2035 use pm_kind, only: TKG => CK3
2036 type(lowDia_type) , intent(in) :: subset
2037 type(uppDia_type) , intent(in) :: subsetr
2038 real(TKG) , intent(in) , contiguous :: std(:)
2039 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2040 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2041 end subroutine
2042#endif
2043
2044#if CK2_ENABLED
2045 PURE module subroutine setCovCorStd_XLD_UXD_CK2(cov, subset, cor, subsetr, std)
2046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2047 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_CK2
2048#endif
2049 use pm_kind, only: TKG => CK2
2050 type(lowDia_type) , intent(in) :: subset
2051 type(uppDia_type) , intent(in) :: subsetr
2052 real(TKG) , intent(in) , contiguous :: std(:)
2053 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2054 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2055 end subroutine
2056#endif
2057
2058#if CK1_ENABLED
2059 PURE module subroutine setCovCorStd_XLD_UXD_CK1(cov, subset, cor, subsetr, std)
2060#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2061 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_CK1
2062#endif
2063 use pm_kind, only: TKG => CK1
2064 type(lowDia_type) , intent(in) :: subset
2065 type(uppDia_type) , intent(in) :: subsetr
2066 real(TKG) , intent(in) , contiguous :: std(:)
2067 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2068 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2069 end subroutine
2070#endif
2071
2072 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2073
2074#if RK5_ENABLED
2075 PURE module subroutine setCovCorStd_XLD_UXD_RK5(cov, subset, cor, subsetr, std)
2076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2077 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_RK5
2078#endif
2079 use pm_kind, only: TKG => RK5
2080 type(lowDia_type) , intent(in) :: subset
2081 type(uppDia_type) , intent(in) :: subsetr
2082 real(TKG) , intent(in) , contiguous :: std(:)
2083 real(TKG) , intent(in) , contiguous :: cor(:,:)
2084 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2085 end subroutine
2086#endif
2087
2088#if RK4_ENABLED
2089 PURE module subroutine setCovCorStd_XLD_UXD_RK4(cov, subset, cor, subsetr, std)
2090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2091 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_RK4
2092#endif
2093 use pm_kind, only: TKG => RK4
2094 type(lowDia_type) , intent(in) :: subset
2095 type(uppDia_type) , intent(in) :: subsetr
2096 real(TKG) , intent(in) , contiguous :: std(:)
2097 real(TKG) , intent(in) , contiguous :: cor(:,:)
2098 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2099 end subroutine
2100#endif
2101
2102#if RK3_ENABLED
2103 PURE module subroutine setCovCorStd_XLD_UXD_RK3(cov, subset, cor, subsetr, std)
2104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2105 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_RK3
2106#endif
2107 use pm_kind, only: TKG => RK3
2108 type(lowDia_type) , intent(in) :: subset
2109 type(uppDia_type) , intent(in) :: subsetr
2110 real(TKG) , intent(in) , contiguous :: std(:)
2111 real(TKG) , intent(in) , contiguous :: cor(:,:)
2112 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2113 end subroutine
2114#endif
2115
2116#if RK2_ENABLED
2117 PURE module subroutine setCovCorStd_XLD_UXD_RK2(cov, subset, cor, subsetr, std)
2118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2119 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_RK2
2120#endif
2121 use pm_kind, only: TKG => RK2
2122 type(lowDia_type) , intent(in) :: subset
2123 type(uppDia_type) , intent(in) :: subsetr
2124 real(TKG) , intent(in) , contiguous :: std(:)
2125 real(TKG) , intent(in) , contiguous :: cor(:,:)
2126 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2127 end subroutine
2128#endif
2129
2130#if RK1_ENABLED
2131 PURE module subroutine setCovCorStd_XLD_UXD_RK1(cov, subset, cor, subsetr, std)
2132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2133 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_UXD_RK1
2134#endif
2135 use pm_kind, only: TKG => RK1
2136 type(lowDia_type) , intent(in) :: subset
2137 type(uppDia_type) , intent(in) :: subsetr
2138 real(TKG) , intent(in) , contiguous :: std(:)
2139 real(TKG) , intent(in) , contiguous :: cor(:,:)
2140 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2141 end subroutine
2142#endif
2143
2144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2145
2146 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2147 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2148 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2149
2150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2151
2152#if CK5_ENABLED
2153 PURE module subroutine setCovCorStd_XLD_XLD_CK5(cov, subset, cor, subsetr, std)
2154#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2155 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_CK5
2156#endif
2157 use pm_kind, only: TKG => CK5
2158 type(lowDia_type) , intent(in) :: subset
2159 type(lowDia_type) , intent(in) :: subsetr
2160 real(TKG) , intent(in) , contiguous :: std(:)
2161 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2162 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2163 end subroutine
2164#endif
2165
2166#if CK4_ENABLED
2167 PURE module subroutine setCovCorStd_XLD_XLD_CK4(cov, subset, cor, subsetr, std)
2168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2169 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_CK4
2170#endif
2171 use pm_kind, only: TKG => CK4
2172 type(lowDia_type) , intent(in) :: subset
2173 type(lowDia_type) , intent(in) :: subsetr
2174 real(TKG) , intent(in) , contiguous :: std(:)
2175 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2176 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2177 end subroutine
2178#endif
2179
2180#if CK3_ENABLED
2181 PURE module subroutine setCovCorStd_XLD_XLD_CK3(cov, subset, cor, subsetr, std)
2182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2183 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_CK3
2184#endif
2185 use pm_kind, only: TKG => CK3
2186 type(lowDia_type) , intent(in) :: subset
2187 type(lowDia_type) , intent(in) :: subsetr
2188 real(TKG) , intent(in) , contiguous :: std(:)
2189 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2190 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2191 end subroutine
2192#endif
2193
2194#if CK2_ENABLED
2195 PURE module subroutine setCovCorStd_XLD_XLD_CK2(cov, subset, cor, subsetr, std)
2196#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2197 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_CK2
2198#endif
2199 use pm_kind, only: TKG => CK2
2200 type(lowDia_type) , intent(in) :: subset
2201 type(lowDia_type) , intent(in) :: subsetr
2202 real(TKG) , intent(in) , contiguous :: std(:)
2203 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2204 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2205 end subroutine
2206#endif
2207
2208#if CK1_ENABLED
2209 PURE module subroutine setCovCorStd_XLD_XLD_CK1(cov, subset, cor, subsetr, std)
2210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2211 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_CK1
2212#endif
2213 use pm_kind, only: TKG => CK1
2214 type(lowDia_type) , intent(in) :: subset
2215 type(lowDia_type) , intent(in) :: subsetr
2216 real(TKG) , intent(in) , contiguous :: std(:)
2217 complex(TKG) , intent(in) , contiguous :: cor(:,:)
2218 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
2219 end subroutine
2220#endif
2221
2222 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2223
2224#if RK5_ENABLED
2225 PURE module subroutine setCovCorStd_XLD_XLD_RK5(cov, subset, cor, subsetr, std)
2226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2227 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_RK5
2228#endif
2229 use pm_kind, only: TKG => RK5
2230 type(lowDia_type) , intent(in) :: subset
2231 type(lowDia_type) , intent(in) :: subsetr
2232 real(TKG) , intent(in) , contiguous :: std(:)
2233 real(TKG) , intent(in) , contiguous :: cor(:,:)
2234 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2235 end subroutine
2236#endif
2237
2238#if RK4_ENABLED
2239 PURE module subroutine setCovCorStd_XLD_XLD_RK4(cov, subset, cor, subsetr, std)
2240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2241 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_RK4
2242#endif
2243 use pm_kind, only: TKG => RK4
2244 type(lowDia_type) , intent(in) :: subset
2245 type(lowDia_type) , intent(in) :: subsetr
2246 real(TKG) , intent(in) , contiguous :: std(:)
2247 real(TKG) , intent(in) , contiguous :: cor(:,:)
2248 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2249 end subroutine
2250#endif
2251
2252#if RK3_ENABLED
2253 PURE module subroutine setCovCorStd_XLD_XLD_RK3(cov, subset, cor, subsetr, std)
2254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2255 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_RK3
2256#endif
2257 use pm_kind, only: TKG => RK3
2258 type(lowDia_type) , intent(in) :: subset
2259 type(lowDia_type) , intent(in) :: subsetr
2260 real(TKG) , intent(in) , contiguous :: std(:)
2261 real(TKG) , intent(in) , contiguous :: cor(:,:)
2262 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2263 end subroutine
2264#endif
2265
2266#if RK2_ENABLED
2267 PURE module subroutine setCovCorStd_XLD_XLD_RK2(cov, subset, cor, subsetr, std)
2268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2269 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_RK2
2270#endif
2271 use pm_kind, only: TKG => RK2
2272 type(lowDia_type) , intent(in) :: subset
2273 type(lowDia_type) , intent(in) :: subsetr
2274 real(TKG) , intent(in) , contiguous :: std(:)
2275 real(TKG) , intent(in) , contiguous :: cor(:,:)
2276 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2277 end subroutine
2278#endif
2279
2280#if RK1_ENABLED
2281 PURE module subroutine setCovCorStd_XLD_XLD_RK1(cov, subset, cor, subsetr, std)
2282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2283 !DEC$ ATTRIBUTES DLLEXPORT :: setCovCorStd_XLD_XLD_RK1
2284#endif
2285 use pm_kind, only: TKG => RK1
2286 type(lowDia_type) , intent(in) :: subset
2287 type(lowDia_type) , intent(in) :: subsetr
2288 real(TKG) , intent(in) , contiguous :: std(:)
2289 real(TKG) , intent(in) , contiguous :: cor(:,:)
2290 real(TKG) , intent(inout) , contiguous :: cov(:,:)
2291 end subroutine
2292#endif
2293
2294 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2295
2296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2297 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2298 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2299
2300 end interface
2301
2302 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2303
2304 ! XY - no weight.
2305
2306 interface setCov
2307
2308 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2309 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2310 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2311
2312 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2313
2314#if CK5_ENABLED
2315 PURE module subroutine setCovOrgWNO_XY_CK5(cov, x, y)
2316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2317 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_CK5
2318#endif
2319 use pm_kind, only: TKG => CK5
2320 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2321 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2322 end subroutine
2323#endif
2324
2325#if CK4_ENABLED
2326 PURE module subroutine setCovOrgWNO_XY_CK4(cov, x, y)
2327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2328 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_CK4
2329#endif
2330 use pm_kind, only: TKG => CK4
2331 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2332 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2333 end subroutine
2334#endif
2335
2336#if CK3_ENABLED
2337 PURE module subroutine setCovOrgWNO_XY_CK3(cov, x, y)
2338#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2339 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_CK3
2340#endif
2341 use pm_kind, only: TKG => CK3
2342 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2343 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2344 end subroutine
2345#endif
2346
2347#if CK2_ENABLED
2348 PURE module subroutine setCovOrgWNO_XY_CK2(cov, x, y)
2349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2350 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_CK2
2351#endif
2352 use pm_kind, only: TKG => CK2
2353 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2354 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2355 end subroutine
2356#endif
2357
2358#if CK1_ENABLED
2359 PURE module subroutine setCovOrgWNO_XY_CK1(cov, x, y)
2360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2361 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_CK1
2362#endif
2363 use pm_kind, only: TKG => CK1
2364 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2365 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2366 end subroutine
2367#endif
2368
2369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2370
2371#if RK5_ENABLED
2372 PURE module subroutine setCovOrgWNO_XY_RK5(cov, x, y)
2373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2374 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_RK5
2375#endif
2376 use pm_kind, only: TKG => RK5
2377 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2378 real(TKG) , intent(out) , contiguous :: cov(:,:)
2379 end subroutine
2380#endif
2381
2382#if RK4_ENABLED
2383 PURE module subroutine setCovOrgWNO_XY_RK4(cov, x, y)
2384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2385 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_RK4
2386#endif
2387 use pm_kind, only: TKG => RK4
2388 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2389 real(TKG) , intent(out) , contiguous :: cov(:,:)
2390 end subroutine
2391#endif
2392
2393#if RK3_ENABLED
2394 PURE module subroutine setCovOrgWNO_XY_RK3(cov, x, y)
2395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2396 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_RK3
2397#endif
2398 use pm_kind, only: TKG => RK3
2399 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2400 real(TKG) , intent(out) , contiguous :: cov(:,:)
2401 end subroutine
2402#endif
2403
2404#if RK2_ENABLED
2405 PURE module subroutine setCovOrgWNO_XY_RK2(cov, x, y)
2406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2407 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_RK2
2408#endif
2409 use pm_kind, only: TKG => RK2
2410 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2411 real(TKG) , intent(out) , contiguous :: cov(:,:)
2412 end subroutine
2413#endif
2414
2415#if RK1_ENABLED
2416 PURE module subroutine setCovOrgWNO_XY_RK1(cov, x, y)
2417#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2418 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XY_RK1
2419#endif
2420 use pm_kind, only: TKG => RK1
2421 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2422 real(TKG) , intent(out) , contiguous :: cov(:,:)
2423 end subroutine
2424#endif
2425
2426 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2427
2428 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2429 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2430 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2431
2432 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2433
2434#if CK5_ENABLED
2435 PURE module subroutine setCovAvgWNO_XY_CK5(cov, mean, x, y)
2436#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2437 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_CK5
2438#endif
2439 use pm_kind, only: TKG => CK5
2440 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2441 complex(TKG) , intent(in) , contiguous :: mean(:)
2442 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2443 end subroutine
2444#endif
2445
2446#if CK4_ENABLED
2447 PURE module subroutine setCovAvgWNO_XY_CK4(cov, mean, x, y)
2448#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2449 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_CK4
2450#endif
2451 use pm_kind, only: TKG => CK4
2452 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2453 complex(TKG) , intent(in) , contiguous :: mean(:)
2454 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2455 end subroutine
2456#endif
2457
2458#if CK3_ENABLED
2459 PURE module subroutine setCovAvgWNO_XY_CK3(cov, mean, x, y)
2460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2461 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_CK3
2462#endif
2463 use pm_kind, only: TKG => CK3
2464 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2465 complex(TKG) , intent(in) , contiguous :: mean(:)
2466 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2467 end subroutine
2468#endif
2469
2470#if CK2_ENABLED
2471 PURE module subroutine setCovAvgWNO_XY_CK2(cov, mean, x, y)
2472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2473 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_CK2
2474#endif
2475 use pm_kind, only: TKG => CK2
2476 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2477 complex(TKG) , intent(in) , contiguous :: mean(:)
2478 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2479 end subroutine
2480#endif
2481
2482#if CK1_ENABLED
2483 PURE module subroutine setCovAvgWNO_XY_CK1(cov, mean, x, y)
2484#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2485 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_CK1
2486#endif
2487 use pm_kind, only: TKG => CK1
2488 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2489 complex(TKG) , intent(in) , contiguous :: mean(:)
2490 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2491 end subroutine
2492#endif
2493
2494 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2495
2496#if RK5_ENABLED
2497 PURE module subroutine setCovAvgWNO_XY_RK5(cov, mean, x, y)
2498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2499 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_RK5
2500#endif
2501 use pm_kind, only: TKG => RK5
2502 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2503 real(TKG) , intent(in) , contiguous :: mean(:)
2504 real(TKG) , intent(out) , contiguous :: cov(:,:)
2505 end subroutine
2506#endif
2507
2508#if RK4_ENABLED
2509 PURE module subroutine setCovAvgWNO_XY_RK4(cov, mean, x, y)
2510#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2511 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_RK4
2512#endif
2513 use pm_kind, only: TKG => RK4
2514 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2515 real(TKG) , intent(in) , contiguous :: mean(:)
2516 real(TKG) , intent(out) , contiguous :: cov(:,:)
2517 end subroutine
2518#endif
2519
2520#if RK3_ENABLED
2521 PURE module subroutine setCovAvgWNO_XY_RK3(cov, mean, x, y)
2522#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2523 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_RK3
2524#endif
2525 use pm_kind, only: TKG => RK3
2526 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2527 real(TKG) , intent(in) , contiguous :: mean(:)
2528 real(TKG) , intent(out) , contiguous :: cov(:,:)
2529 end subroutine
2530#endif
2531
2532#if RK2_ENABLED
2533 PURE module subroutine setCovAvgWNO_XY_RK2(cov, mean, x, y)
2534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2535 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_RK2
2536#endif
2537 use pm_kind, only: TKG => RK2
2538 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2539 real(TKG) , intent(in) , contiguous :: mean(:)
2540 real(TKG) , intent(out) , contiguous :: cov(:,:)
2541 end subroutine
2542#endif
2543
2544#if RK1_ENABLED
2545 PURE module subroutine setCovAvgWNO_XY_RK1(cov, mean, x, y)
2546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2547 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XY_RK1
2548#endif
2549 use pm_kind, only: TKG => RK1
2550 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2551 real(TKG) , intent(in) , contiguous :: mean(:)
2552 real(TKG) , intent(out) , contiguous :: cov(:,:)
2553 end subroutine
2554#endif
2555
2556 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2557
2558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2559 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2561
2562 end interface setCov
2563
2564 ! XY - integer weight.
2565
2566 interface setCov
2567
2568 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2569 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2571
2572 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2573
2574#if CK5_ENABLED
2575 PURE module subroutine setCovOrgWTI_XY_CK5(cov, x, y, weight, weisum)
2576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2577 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_CK5
2578#endif
2579 use pm_kind, only: TKG => CK5
2580 integer(IK) , intent(in) :: weisum
2581 integer(IK) , intent(in) , contiguous :: weight(:)
2582 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2583 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2584 end subroutine
2585#endif
2586
2587#if CK4_ENABLED
2588 PURE module subroutine setCovOrgWTI_XY_CK4(cov, x, y, weight, weisum)
2589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2590 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_CK4
2591#endif
2592 use pm_kind, only: TKG => CK4
2593 integer(IK) , intent(in) :: weisum
2594 integer(IK) , intent(in) , contiguous :: weight(:)
2595 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2596 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2597 end subroutine
2598#endif
2599
2600#if CK3_ENABLED
2601 PURE module subroutine setCovOrgWTI_XY_CK3(cov, x, y, weight, weisum)
2602#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2603 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_CK3
2604#endif
2605 use pm_kind, only: TKG => CK3
2606 integer(IK) , intent(in) :: weisum
2607 integer(IK) , intent(in) , contiguous :: weight(:)
2608 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2609 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2610 end subroutine
2611#endif
2612
2613#if CK2_ENABLED
2614 PURE module subroutine setCovOrgWTI_XY_CK2(cov, x, y, weight, weisum)
2615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2616 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_CK2
2617#endif
2618 use pm_kind, only: TKG => CK2
2619 integer(IK) , intent(in) :: weisum
2620 integer(IK) , intent(in) , contiguous :: weight(:)
2621 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2622 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2623 end subroutine
2624#endif
2625
2626#if CK1_ENABLED
2627 PURE module subroutine setCovOrgWTI_XY_CK1(cov, x, y, weight, weisum)
2628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2629 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_CK1
2630#endif
2631 use pm_kind, only: TKG => CK1
2632 integer(IK) , intent(in) :: weisum
2633 integer(IK) , intent(in) , contiguous :: weight(:)
2634 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2635 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2636 end subroutine
2637#endif
2638
2639 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2640
2641#if RK5_ENABLED
2642 PURE module subroutine setCovOrgWTI_XY_RK5(cov, x, y, weight, weisum)
2643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2644 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_RK5
2645#endif
2646 use pm_kind, only: TKG => RK5
2647 integer(IK) , intent(in) :: weisum
2648 integer(IK) , intent(in) , contiguous :: weight(:)
2649 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2650 real(TKG) , intent(out) , contiguous :: cov(:,:)
2651 end subroutine
2652#endif
2653
2654#if RK4_ENABLED
2655 PURE module subroutine setCovOrgWTI_XY_RK4(cov, x, y, weight, weisum)
2656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2657 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_RK4
2658#endif
2659 use pm_kind, only: TKG => RK4
2660 integer(IK) , intent(in) :: weisum
2661 integer(IK) , intent(in) , contiguous :: weight(:)
2662 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2663 real(TKG) , intent(out) , contiguous :: cov(:,:)
2664 end subroutine
2665#endif
2666
2667#if RK3_ENABLED
2668 PURE module subroutine setCovOrgWTI_XY_RK3(cov, x, y, weight, weisum)
2669#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2670 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_RK3
2671#endif
2672 use pm_kind, only: TKG => RK3
2673 integer(IK) , intent(in) :: weisum
2674 integer(IK) , intent(in) , contiguous :: weight(:)
2675 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2676 real(TKG) , intent(out) , contiguous :: cov(:,:)
2677 end subroutine
2678#endif
2679
2680#if RK2_ENABLED
2681 PURE module subroutine setCovOrgWTI_XY_RK2(cov, x, y, weight, weisum)
2682#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2683 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_RK2
2684#endif
2685 use pm_kind, only: TKG => RK2
2686 integer(IK) , intent(in) :: weisum
2687 integer(IK) , intent(in) , contiguous :: weight(:)
2688 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2689 real(TKG) , intent(out) , contiguous :: cov(:,:)
2690 end subroutine
2691#endif
2692
2693#if RK1_ENABLED
2694 PURE module subroutine setCovOrgWTI_XY_RK1(cov, x, y, weight, weisum)
2695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2696 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XY_RK1
2697#endif
2698 use pm_kind, only: TKG => RK1
2699 integer(IK) , intent(in) :: weisum
2700 integer(IK) , intent(in) , contiguous :: weight(:)
2701 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2702 real(TKG) , intent(out) , contiguous :: cov(:,:)
2703 end subroutine
2704#endif
2705
2706 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2707
2708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2709 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2710 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2711
2712 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2713
2714#if CK5_ENABLED
2715 PURE module subroutine setCovAvgWTI_XY_CK5(cov, mean, x, y, weight, weisum)
2716#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2717 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_CK5
2718#endif
2719 use pm_kind, only: TKG => CK5
2720 integer(IK) , intent(in) :: weisum
2721 complex(TKG) , intent(in) , contiguous :: mean(:)
2722 integer(IK) , intent(in) , contiguous :: weight(:)
2723 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2724 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2725 end subroutine
2726#endif
2727
2728#if CK4_ENABLED
2729 PURE module subroutine setCovAvgWTI_XY_CK4(cov, mean, x, y, weight, weisum)
2730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2731 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_CK4
2732#endif
2733 use pm_kind, only: TKG => CK4
2734 integer(IK) , intent(in) :: weisum
2735 complex(TKG) , intent(in) , contiguous :: mean(:)
2736 integer(IK) , intent(in) , contiguous :: weight(:)
2737 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2738 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2739 end subroutine
2740#endif
2741
2742#if CK3_ENABLED
2743 PURE module subroutine setCovAvgWTI_XY_CK3(cov, mean, x, y, weight, weisum)
2744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2745 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_CK3
2746#endif
2747 use pm_kind, only: TKG => CK3
2748 integer(IK) , intent(in) :: weisum
2749 complex(TKG) , intent(in) , contiguous :: mean(:)
2750 integer(IK) , intent(in) , contiguous :: weight(:)
2751 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2752 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2753 end subroutine
2754#endif
2755
2756#if CK2_ENABLED
2757 PURE module subroutine setCovAvgWTI_XY_CK2(cov, mean, x, y, weight, weisum)
2758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2759 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_CK2
2760#endif
2761 use pm_kind, only: TKG => CK2
2762 integer(IK) , intent(in) :: weisum
2763 complex(TKG) , intent(in) , contiguous :: mean(:)
2764 integer(IK) , intent(in) , contiguous :: weight(:)
2765 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2766 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2767 end subroutine
2768#endif
2769
2770#if CK1_ENABLED
2771 PURE module subroutine setCovAvgWTI_XY_CK1(cov, mean, x, y, weight, weisum)
2772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2773 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_CK1
2774#endif
2775 use pm_kind, only: TKG => CK1
2776 integer(IK) , intent(in) :: weisum
2777 complex(TKG) , intent(in) , contiguous :: mean(:)
2778 integer(IK) , intent(in) , contiguous :: weight(:)
2779 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2780 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2781 end subroutine
2782#endif
2783
2784 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2785
2786#if RK5_ENABLED
2787 PURE module subroutine setCovAvgWTI_XY_RK5(cov, mean, x, y, weight, weisum)
2788#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2789 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_RK5
2790#endif
2791 use pm_kind, only: TKG => RK5
2792 integer(IK) , intent(in) :: weisum
2793 real(TKG) , intent(in) , contiguous :: mean(:)
2794 integer(IK) , intent(in) , contiguous :: weight(:)
2795 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2796 real(TKG) , intent(out) , contiguous :: cov(:,:)
2797 end subroutine
2798#endif
2799
2800#if RK4_ENABLED
2801 PURE module subroutine setCovAvgWTI_XY_RK4(cov, mean, x, y, weight, weisum)
2802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2803 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_RK4
2804#endif
2805 use pm_kind, only: TKG => RK4
2806 integer(IK) , intent(in) :: weisum
2807 real(TKG) , intent(in) , contiguous :: mean(:)
2808 integer(IK) , intent(in) , contiguous :: weight(:)
2809 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2810 real(TKG) , intent(out) , contiguous :: cov(:,:)
2811 end subroutine
2812#endif
2813
2814#if RK3_ENABLED
2815 PURE module subroutine setCovAvgWTI_XY_RK3(cov, mean, x, y, weight, weisum)
2816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2817 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_RK3
2818#endif
2819 use pm_kind, only: TKG => RK3
2820 integer(IK) , intent(in) :: weisum
2821 real(TKG) , intent(in) , contiguous :: mean(:)
2822 integer(IK) , intent(in) , contiguous :: weight(:)
2823 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2824 real(TKG) , intent(out) , contiguous :: cov(:,:)
2825 end subroutine
2826#endif
2827
2828#if RK2_ENABLED
2829 PURE module subroutine setCovAvgWTI_XY_RK2(cov, mean, x, y, weight, weisum)
2830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2831 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_RK2
2832#endif
2833 use pm_kind, only: TKG => RK2
2834 integer(IK) , intent(in) :: weisum
2835 real(TKG) , intent(in) , contiguous :: mean(:)
2836 integer(IK) , intent(in) , contiguous :: weight(:)
2837 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2838 real(TKG) , intent(out) , contiguous :: cov(:,:)
2839 end subroutine
2840#endif
2841
2842#if RK1_ENABLED
2843 PURE module subroutine setCovAvgWTI_XY_RK1(cov, mean, x, y, weight, weisum)
2844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2845 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XY_RK1
2846#endif
2847 use pm_kind, only: TKG => RK1
2848 integer(IK) , intent(in) :: weisum
2849 real(TKG) , intent(in) , contiguous :: mean(:)
2850 integer(IK) , intent(in) , contiguous :: weight(:)
2851 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2852 real(TKG) , intent(out) , contiguous :: cov(:,:)
2853 end subroutine
2854#endif
2855
2856 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2857
2858 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2859 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2861
2862 end interface setCov
2863
2864 ! XY - real weight.
2865
2866 interface setCov
2867
2868 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2869 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2870 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2871
2872 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2873
2874#if CK5_ENABLED
2875 PURE module subroutine setCovOrgWTR_XY_CK5(cov, x, y, weight, weisum)
2876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2877 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_CK5
2878#endif
2879 use pm_kind, only: TKG => CK5
2880 real(TKG) , intent(in) :: weisum
2881 real(TKG) , intent(in) , contiguous :: weight(:)
2882 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2883 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2884 end subroutine
2885#endif
2886
2887#if CK4_ENABLED
2888 PURE module subroutine setCovOrgWTR_XY_CK4(cov, x, y, weight, weisum)
2889#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2890 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_CK4
2891#endif
2892 use pm_kind, only: TKG => CK4
2893 real(TKG) , intent(in) :: weisum
2894 real(TKG) , intent(in) , contiguous :: weight(:)
2895 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2896 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2897 end subroutine
2898#endif
2899
2900#if CK3_ENABLED
2901 PURE module subroutine setCovOrgWTR_XY_CK3(cov, x, y, weight, weisum)
2902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2903 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_CK3
2904#endif
2905 use pm_kind, only: TKG => CK3
2906 real(TKG) , intent(in) :: weisum
2907 real(TKG) , intent(in) , contiguous :: weight(:)
2908 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2909 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2910 end subroutine
2911#endif
2912
2913#if CK2_ENABLED
2914 PURE module subroutine setCovOrgWTR_XY_CK2(cov, x, y, weight, weisum)
2915#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2916 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_CK2
2917#endif
2918 use pm_kind, only: TKG => CK2
2919 real(TKG) , intent(in) :: weisum
2920 real(TKG) , intent(in) , contiguous :: weight(:)
2921 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2922 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2923 end subroutine
2924#endif
2925
2926#if CK1_ENABLED
2927 PURE module subroutine setCovOrgWTR_XY_CK1(cov, x, y, weight, weisum)
2928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2929 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_CK1
2930#endif
2931 use pm_kind, only: TKG => CK1
2932 real(TKG) , intent(in) :: weisum
2933 real(TKG) , intent(in) , contiguous :: weight(:)
2934 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2935 complex(TKG) , intent(out) , contiguous :: cov(:,:)
2936 end subroutine
2937#endif
2938
2939 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2940
2941#if RK5_ENABLED
2942 PURE module subroutine setCovOrgWTR_XY_RK5(cov, x, y, weight, weisum)
2943#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2944 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_RK5
2945#endif
2946 use pm_kind, only: TKG => RK5
2947 real(TKG) , intent(in) :: weisum
2948 real(TKG) , intent(in) , contiguous :: weight(:)
2949 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2950 real(TKG) , intent(out) , contiguous :: cov(:,:)
2951 end subroutine
2952#endif
2953
2954#if RK4_ENABLED
2955 PURE module subroutine setCovOrgWTR_XY_RK4(cov, x, y, weight, weisum)
2956#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2957 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_RK4
2958#endif
2959 use pm_kind, only: TKG => RK4
2960 real(TKG) , intent(in) :: weisum
2961 real(TKG) , intent(in) , contiguous :: weight(:)
2962 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2963 real(TKG) , intent(out) , contiguous :: cov(:,:)
2964 end subroutine
2965#endif
2966
2967#if RK3_ENABLED
2968 PURE module subroutine setCovOrgWTR_XY_RK3(cov, x, y, weight, weisum)
2969#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2970 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_RK3
2971#endif
2972 use pm_kind, only: TKG => RK3
2973 real(TKG) , intent(in) :: weisum
2974 real(TKG) , intent(in) , contiguous :: weight(:)
2975 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2976 real(TKG) , intent(out) , contiguous :: cov(:,:)
2977 end subroutine
2978#endif
2979
2980#if RK2_ENABLED
2981 PURE module subroutine setCovOrgWTR_XY_RK2(cov, x, y, weight, weisum)
2982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2983 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_RK2
2984#endif
2985 use pm_kind, only: TKG => RK2
2986 real(TKG) , intent(in) :: weisum
2987 real(TKG) , intent(in) , contiguous :: weight(:)
2988 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2989 real(TKG) , intent(out) , contiguous :: cov(:,:)
2990 end subroutine
2991#endif
2992
2993#if RK1_ENABLED
2994 PURE module subroutine setCovOrgWTR_XY_RK1(cov, x, y, weight, weisum)
2995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2996 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XY_RK1
2997#endif
2998 use pm_kind, only: TKG => RK1
2999 real(TKG) , intent(in) :: weisum
3000 real(TKG) , intent(in) , contiguous :: weight(:)
3001 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3002 real(TKG) , intent(out) , contiguous :: cov(:,:)
3003 end subroutine
3004#endif
3005
3006 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3007
3008 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3009 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3010 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3011
3012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3013
3014#if CK5_ENABLED
3015 PURE module subroutine setCovAvgWTR_XY_CK5(cov, mean, x, y, weight, weisum)
3016#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3017 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_CK5
3018#endif
3019 use pm_kind, only: TKG => CK5
3020 real(TKG) , intent(in) :: weisum
3021 complex(TKG) , intent(in) , contiguous :: mean(:)
3022 real(TKG) , intent(in) , contiguous :: weight(:)
3023 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
3024 complex(TKG) , intent(out) , contiguous :: cov(:,:)
3025 end subroutine
3026#endif
3027
3028#if CK4_ENABLED
3029 PURE module subroutine setCovAvgWTR_XY_CK4(cov, mean, x, y, weight, weisum)
3030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3031 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_CK4
3032#endif
3033 use pm_kind, only: TKG => CK4
3034 real(TKG) , intent(in) :: weisum
3035 complex(TKG) , intent(in) , contiguous :: mean(:)
3036 real(TKG) , intent(in) , contiguous :: weight(:)
3037 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
3038 complex(TKG) , intent(out) , contiguous :: cov(:,:)
3039 end subroutine
3040#endif
3041
3042#if CK3_ENABLED
3043 PURE module subroutine setCovAvgWTR_XY_CK3(cov, mean, x, y, weight, weisum)
3044#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3045 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_CK3
3046#endif
3047 use pm_kind, only: TKG => CK3
3048 real(TKG) , intent(in) :: weisum
3049 complex(TKG) , intent(in) , contiguous :: mean(:)
3050 real(TKG) , intent(in) , contiguous :: weight(:)
3051 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
3052 complex(TKG) , intent(out) , contiguous :: cov(:,:)
3053 end subroutine
3054#endif
3055
3056#if CK2_ENABLED
3057 PURE module subroutine setCovAvgWTR_XY_CK2(cov, mean, x, y, weight, weisum)
3058#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3059 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_CK2
3060#endif
3061 use pm_kind, only: TKG => CK2
3062 real(TKG) , intent(in) :: weisum
3063 complex(TKG) , intent(in) , contiguous :: mean(:)
3064 real(TKG) , intent(in) , contiguous :: weight(:)
3065 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
3066 complex(TKG) , intent(out) , contiguous :: cov(:,:)
3067 end subroutine
3068#endif
3069
3070#if CK1_ENABLED
3071 PURE module subroutine setCovAvgWTR_XY_CK1(cov, mean, x, y, weight, weisum)
3072#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3073 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_CK1
3074#endif
3075 use pm_kind, only: TKG => CK1
3076 real(TKG) , intent(in) :: weisum
3077 complex(TKG) , intent(in) , contiguous :: mean(:)
3078 real(TKG) , intent(in) , contiguous :: weight(:)
3079 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
3080 complex(TKG) , intent(out) , contiguous :: cov(:,:)
3081 end subroutine
3082#endif
3083
3084 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3085
3086#if RK5_ENABLED
3087 PURE module subroutine setCovAvgWTR_XY_RK5(cov, mean, x, y, weight, weisum)
3088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3089 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_RK5
3090#endif
3091 use pm_kind, only: TKG => RK5
3092 real(TKG) , intent(in) :: weisum
3093 real(TKG) , intent(in) , contiguous :: mean(:)
3094 real(TKG) , intent(in) , contiguous :: weight(:)
3095 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3096 real(TKG) , intent(out) , contiguous :: cov(:,:)
3097 end subroutine
3098#endif
3099
3100#if RK4_ENABLED
3101 PURE module subroutine setCovAvgWTR_XY_RK4(cov, mean, x, y, weight, weisum)
3102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3103 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_RK4
3104#endif
3105 use pm_kind, only: TKG => RK4
3106 real(TKG) , intent(in) :: weisum
3107 real(TKG) , intent(in) , contiguous :: mean(:)
3108 real(TKG) , intent(in) , contiguous :: weight(:)
3109 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3110 real(TKG) , intent(out) , contiguous :: cov(:,:)
3111 end subroutine
3112#endif
3113
3114#if RK3_ENABLED
3115 PURE module subroutine setCovAvgWTR_XY_RK3(cov, mean, x, y, weight, weisum)
3116#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3117 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_RK3
3118#endif
3119 use pm_kind, only: TKG => RK3
3120 real(TKG) , intent(in) :: weisum
3121 real(TKG) , intent(in) , contiguous :: mean(:)
3122 real(TKG) , intent(in) , contiguous :: weight(:)
3123 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3124 real(TKG) , intent(out) , contiguous :: cov(:,:)
3125 end subroutine
3126#endif
3127
3128#if RK2_ENABLED
3129 PURE module subroutine setCovAvgWTR_XY_RK2(cov, mean, x, y, weight, weisum)
3130#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3131 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_RK2
3132#endif
3133 use pm_kind, only: TKG => RK2
3134 real(TKG) , intent(in) :: weisum
3135 real(TKG) , intent(in) , contiguous :: mean(:)
3136 real(TKG) , intent(in) , contiguous :: weight(:)
3137 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3138 real(TKG) , intent(out) , contiguous :: cov(:,:)
3139 end subroutine
3140#endif
3141
3142#if RK1_ENABLED
3143 PURE module subroutine setCovAvgWTR_XY_RK1(cov, mean, x, y, weight, weisum)
3144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3145 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XY_RK1
3146#endif
3147 use pm_kind, only: TKG => RK1
3148 real(TKG) , intent(in) :: weisum
3149 real(TKG) , intent(in) , contiguous :: mean(:)
3150 real(TKG) , intent(in) , contiguous :: weight(:)
3151 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3152 real(TKG) , intent(out) , contiguous :: cov(:,:)
3153 end subroutine
3154#endif
3155
3156 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3157
3158 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3160 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3161
3162 end interface setCov
3163
3164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3165
3166 ! UXD - no weight.
3167
3168 interface setCov
3169
3170 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3172 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3173
3174 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3175
3176#if CK5_ENABLED
3177 PURE module subroutine setCovOrgWNO_UXD_CK5(cov, subset, sample, dim)
3178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3179 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_CK5
3180#endif
3181 use pm_kind, only: TKG => CK5
3182 integer(IK) , intent(in) :: dim
3183 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3184 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3185 type(uppDia_type) , intent(in) :: subset
3186 end subroutine
3187#endif
3188
3189#if CK4_ENABLED
3190 PURE module subroutine setCovOrgWNO_UXD_CK4(cov, subset, sample, dim)
3191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3192 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_CK4
3193#endif
3194 use pm_kind, only: TKG => CK4
3195 integer(IK) , intent(in) :: dim
3196 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3197 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3198 type(uppDia_type) , intent(in) :: subset
3199 end subroutine
3200#endif
3201
3202#if CK3_ENABLED
3203 PURE module subroutine setCovOrgWNO_UXD_CK3(cov, subset, sample, dim)
3204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3205 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_CK3
3206#endif
3207 use pm_kind, only: TKG => CK3
3208 integer(IK) , intent(in) :: dim
3209 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3210 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3211 type(uppDia_type) , intent(in) :: subset
3212 end subroutine
3213#endif
3214
3215#if CK2_ENABLED
3216 PURE module subroutine setCovOrgWNO_UXD_CK2(cov, subset, sample, dim)
3217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3218 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_CK2
3219#endif
3220 use pm_kind, only: TKG => CK2
3221 integer(IK) , intent(in) :: dim
3222 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3223 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3224 type(uppDia_type) , intent(in) :: subset
3225 end subroutine
3226#endif
3227
3228#if CK1_ENABLED
3229 PURE module subroutine setCovOrgWNO_UXD_CK1(cov, subset, sample, dim)
3230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3231 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_CK1
3232#endif
3233 use pm_kind, only: TKG => CK1
3234 integer(IK) , intent(in) :: dim
3235 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3236 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3237 type(uppDia_type) , intent(in) :: subset
3238 end subroutine
3239#endif
3240
3241 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3242
3243#if RK5_ENABLED
3244 PURE module subroutine setCovOrgWNO_UXD_RK5(cov, subset, sample, dim)
3245#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3246 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_RK5
3247#endif
3248 use pm_kind, only: TKG => RK5
3249 integer(IK) , intent(in) :: dim
3250 real(TKG) , intent(in) , contiguous :: sample(:,:)
3251 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3252 type(uppDia_type) , intent(in) :: subset
3253 end subroutine
3254#endif
3255
3256#if RK4_ENABLED
3257 PURE module subroutine setCovOrgWNO_UXD_RK4(cov, subset, sample, dim)
3258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3259 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_RK4
3260#endif
3261 use pm_kind, only: TKG => RK4
3262 integer(IK) , intent(in) :: dim
3263 real(TKG) , intent(in) , contiguous :: sample(:,:)
3264 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3265 type(uppDia_type) , intent(in) :: subset
3266 end subroutine
3267#endif
3268
3269#if RK3_ENABLED
3270 PURE module subroutine setCovOrgWNO_UXD_RK3(cov, subset, sample, dim)
3271#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3272 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_RK3
3273#endif
3274 use pm_kind, only: TKG => RK3
3275 integer(IK) , intent(in) :: dim
3276 real(TKG) , intent(in) , contiguous :: sample(:,:)
3277 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3278 type(uppDia_type) , intent(in) :: subset
3279 end subroutine
3280#endif
3281
3282#if RK2_ENABLED
3283 PURE module subroutine setCovOrgWNO_UXD_RK2(cov, subset, sample, dim)
3284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3285 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_RK2
3286#endif
3287 use pm_kind, only: TKG => RK2
3288 integer(IK) , intent(in) :: dim
3289 real(TKG) , intent(in) , contiguous :: sample(:,:)
3290 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3291 type(uppDia_type) , intent(in) :: subset
3292 end subroutine
3293#endif
3294
3295#if RK1_ENABLED
3296 PURE module subroutine setCovOrgWNO_UXD_RK1(cov, subset, sample, dim)
3297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3298 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_UXD_RK1
3299#endif
3300 use pm_kind, only: TKG => RK1
3301 integer(IK) , intent(in) :: dim
3302 real(TKG) , intent(in) , contiguous :: sample(:,:)
3303 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3304 type(uppDia_type) , intent(in) :: subset
3305 end subroutine
3306#endif
3307
3308 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3309
3310 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3311 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3312 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3313
3314 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3315
3316#if CK5_ENABLED
3317 PURE module subroutine setCovAvgWNO_UXD_CK5(cov, subset, mean, sample, dim)
3318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3319 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_CK5
3320#endif
3321 use pm_kind, only: TKG => CK5
3322 integer(IK) , intent(in) :: dim
3323 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3324 complex(TKG) , intent(in) , contiguous :: mean(:)
3325 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3326 type(uppDia_type) , intent(in) :: subset
3327 end subroutine
3328#endif
3329
3330#if CK4_ENABLED
3331 PURE module subroutine setCovAvgWNO_UXD_CK4(cov, subset, mean, sample, dim)
3332#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3333 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_CK4
3334#endif
3335 use pm_kind, only: TKG => CK4
3336 integer(IK) , intent(in) :: dim
3337 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3338 complex(TKG) , intent(in) , contiguous :: mean(:)
3339 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3340 type(uppDia_type) , intent(in) :: subset
3341 end subroutine
3342#endif
3343
3344#if CK3_ENABLED
3345 PURE module subroutine setCovAvgWNO_UXD_CK3(cov, subset, mean, sample, dim)
3346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3347 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_CK3
3348#endif
3349 use pm_kind, only: TKG => CK3
3350 integer(IK) , intent(in) :: dim
3351 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3352 complex(TKG) , intent(in) , contiguous :: mean(:)
3353 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3354 type(uppDia_type) , intent(in) :: subset
3355 end subroutine
3356#endif
3357
3358#if CK2_ENABLED
3359 PURE module subroutine setCovAvgWNO_UXD_CK2(cov, subset, mean, sample, dim)
3360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3361 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_CK2
3362#endif
3363 use pm_kind, only: TKG => CK2
3364 integer(IK) , intent(in) :: dim
3365 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3366 complex(TKG) , intent(in) , contiguous :: mean(:)
3367 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3368 type(uppDia_type) , intent(in) :: subset
3369 end subroutine
3370#endif
3371
3372#if CK1_ENABLED
3373 PURE module subroutine setCovAvgWNO_UXD_CK1(cov, subset, mean, sample, dim)
3374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3375 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_CK1
3376#endif
3377 use pm_kind, only: TKG => CK1
3378 integer(IK) , intent(in) :: dim
3379 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3380 complex(TKG) , intent(in) , contiguous :: mean(:)
3381 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3382 type(uppDia_type) , intent(in) :: subset
3383 end subroutine
3384#endif
3385
3386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3387
3388#if RK5_ENABLED
3389 PURE module subroutine setCovAvgWNO_UXD_RK5(cov, subset, mean, sample, dim)
3390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3391 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_RK5
3392#endif
3393 use pm_kind, only: TKG => RK5
3394 integer(IK) , intent(in) :: dim
3395 real(TKG) , intent(in) , contiguous :: sample(:,:)
3396 real(TKG) , intent(in) , contiguous :: mean(:)
3397 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3398 type(uppDia_type) , intent(in) :: subset
3399 end subroutine
3400#endif
3401
3402#if RK4_ENABLED
3403 PURE module subroutine setCovAvgWNO_UXD_RK4(cov, subset, mean, sample, dim)
3404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3405 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_RK4
3406#endif
3407 use pm_kind, only: TKG => RK4
3408 integer(IK) , intent(in) :: dim
3409 real(TKG) , intent(in) , contiguous :: sample(:,:)
3410 real(TKG) , intent(in) , contiguous :: mean(:)
3411 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3412 type(uppDia_type) , intent(in) :: subset
3413 end subroutine
3414#endif
3415
3416#if RK3_ENABLED
3417 PURE module subroutine setCovAvgWNO_UXD_RK3(cov, subset, mean, sample, dim)
3418#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3419 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_RK3
3420#endif
3421 use pm_kind, only: TKG => RK3
3422 integer(IK) , intent(in) :: dim
3423 real(TKG) , intent(in) , contiguous :: sample(:,:)
3424 real(TKG) , intent(in) , contiguous :: mean(:)
3425 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3426 type(uppDia_type) , intent(in) :: subset
3427 end subroutine
3428#endif
3429
3430#if RK2_ENABLED
3431 PURE module subroutine setCovAvgWNO_UXD_RK2(cov, subset, mean, sample, dim)
3432#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3433 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_RK2
3434#endif
3435 use pm_kind, only: TKG => RK2
3436 integer(IK) , intent(in) :: dim
3437 real(TKG) , intent(in) , contiguous :: sample(:,:)
3438 real(TKG) , intent(in) , contiguous :: mean(:)
3439 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3440 type(uppDia_type) , intent(in) :: subset
3441 end subroutine
3442#endif
3443
3444#if RK1_ENABLED
3445 PURE module subroutine setCovAvgWNO_UXD_RK1(cov, subset, mean, sample, dim)
3446#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3447 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_UXD_RK1
3448#endif
3449 use pm_kind, only: TKG => RK1
3450 integer(IK) , intent(in) :: dim
3451 real(TKG) , intent(in) , contiguous :: sample(:,:)
3452 real(TKG) , intent(in) , contiguous :: mean(:)
3453 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3454 type(uppDia_type) , intent(in) :: subset
3455 end subroutine
3456#endif
3457
3458 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3459
3460 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3461 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3463
3464 end interface setCov
3465
3466 ! UXD - integer weight.
3467
3468 interface setCov
3469
3470 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3472 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3473
3474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3475
3476#if CK5_ENABLED
3477 PURE module subroutine setCovOrgWTI_UXD_CK5(cov, subset, sample, dim, weight, weisum)
3478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3479 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_CK5
3480#endif
3481 use pm_kind, only: TKG => CK5
3482 integer(IK) , intent(in) :: dim
3483 integer(IK) , intent(in) :: weisum
3484 integer(IK) , intent(in) , contiguous :: weight(:)
3485 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3486 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3487 type(uppDia_type) , intent(in) :: subset
3488 end subroutine
3489#endif
3490
3491#if CK4_ENABLED
3492 PURE module subroutine setCovOrgWTI_UXD_CK4(cov, subset, sample, dim, weight, weisum)
3493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3494 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_CK4
3495#endif
3496 use pm_kind, only: TKG => CK4
3497 integer(IK) , intent(in) :: dim
3498 integer(IK) , intent(in) :: weisum
3499 integer(IK) , intent(in) , contiguous :: weight(:)
3500 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3501 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3502 type(uppDia_type) , intent(in) :: subset
3503 end subroutine
3504#endif
3505
3506#if CK3_ENABLED
3507 PURE module subroutine setCovOrgWTI_UXD_CK3(cov, subset, sample, dim, weight, weisum)
3508#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3509 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_CK3
3510#endif
3511 use pm_kind, only: TKG => CK3
3512 integer(IK) , intent(in) :: dim
3513 integer(IK) , intent(in) :: weisum
3514 integer(IK) , intent(in) , contiguous :: weight(:)
3515 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3516 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3517 type(uppDia_type) , intent(in) :: subset
3518 end subroutine
3519#endif
3520
3521#if CK2_ENABLED
3522 PURE module subroutine setCovOrgWTI_UXD_CK2(cov, subset, sample, dim, weight, weisum)
3523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3524 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_CK2
3525#endif
3526 use pm_kind, only: TKG => CK2
3527 integer(IK) , intent(in) :: dim
3528 integer(IK) , intent(in) :: weisum
3529 integer(IK) , intent(in) , contiguous :: weight(:)
3530 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3531 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3532 type(uppDia_type) , intent(in) :: subset
3533 end subroutine
3534#endif
3535
3536#if CK1_ENABLED
3537 PURE module subroutine setCovOrgWTI_UXD_CK1(cov, subset, sample, dim, weight, weisum)
3538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3539 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_CK1
3540#endif
3541 use pm_kind, only: TKG => CK1
3542 integer(IK) , intent(in) :: dim
3543 integer(IK) , intent(in) :: weisum
3544 integer(IK) , intent(in) , contiguous :: weight(:)
3545 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3546 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3547 type(uppDia_type) , intent(in) :: subset
3548 end subroutine
3549#endif
3550
3551 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3552
3553#if RK5_ENABLED
3554 PURE module subroutine setCovOrgWTI_UXD_RK5(cov, subset, sample, dim, weight, weisum)
3555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3556 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_RK5
3557#endif
3558 use pm_kind, only: TKG => RK5
3559 integer(IK) , intent(in) :: dim
3560 integer(IK) , intent(in) :: weisum
3561 integer(IK) , intent(in) , contiguous :: weight(:)
3562 real(TKG) , intent(in) , contiguous :: sample(:,:)
3563 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3564 type(uppDia_type) , intent(in) :: subset
3565 end subroutine
3566#endif
3567
3568#if RK4_ENABLED
3569 PURE module subroutine setCovOrgWTI_UXD_RK4(cov, subset, sample, dim, weight, weisum)
3570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3571 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_RK4
3572#endif
3573 use pm_kind, only: TKG => RK4
3574 integer(IK) , intent(in) :: dim
3575 integer(IK) , intent(in) :: weisum
3576 integer(IK) , intent(in) , contiguous :: weight(:)
3577 real(TKG) , intent(in) , contiguous :: sample(:,:)
3578 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3579 type(uppDia_type) , intent(in) :: subset
3580 end subroutine
3581#endif
3582
3583#if RK3_ENABLED
3584 PURE module subroutine setCovOrgWTI_UXD_RK3(cov, subset, sample, dim, weight, weisum)
3585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3586 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_RK3
3587#endif
3588 use pm_kind, only: TKG => RK3
3589 integer(IK) , intent(in) :: dim
3590 integer(IK) , intent(in) :: weisum
3591 integer(IK) , intent(in) , contiguous :: weight(:)
3592 real(TKG) , intent(in) , contiguous :: sample(:,:)
3593 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3594 type(uppDia_type) , intent(in) :: subset
3595 end subroutine
3596#endif
3597
3598#if RK2_ENABLED
3599 PURE module subroutine setCovOrgWTI_UXD_RK2(cov, subset, sample, dim, weight, weisum)
3600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3601 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_RK2
3602#endif
3603 use pm_kind, only: TKG => RK2
3604 integer(IK) , intent(in) :: dim
3605 integer(IK) , intent(in) :: weisum
3606 integer(IK) , intent(in) , contiguous :: weight(:)
3607 real(TKG) , intent(in) , contiguous :: sample(:,:)
3608 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3609 type(uppDia_type) , intent(in) :: subset
3610 end subroutine
3611#endif
3612
3613#if RK1_ENABLED
3614 PURE module subroutine setCovOrgWTI_UXD_RK1(cov, subset, sample, dim, weight, weisum)
3615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3616 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_UXD_RK1
3617#endif
3618 use pm_kind, only: TKG => RK1
3619 integer(IK) , intent(in) :: dim
3620 integer(IK) , intent(in) :: weisum
3621 integer(IK) , intent(in) , contiguous :: weight(:)
3622 real(TKG) , intent(in) , contiguous :: sample(:,:)
3623 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3624 type(uppDia_type) , intent(in) :: subset
3625 end subroutine
3626#endif
3627
3628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3629
3630 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3631 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3632 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3633
3634 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3635
3636#if CK5_ENABLED
3637 PURE module subroutine setCovAvgWTI_UXD_CK5(cov, subset, mean, sample, dim, weight, weisum)
3638#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3639 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_CK5
3640#endif
3641 use pm_kind, only: TKG => CK5
3642 integer(IK) , intent(in) :: dim
3643 integer(IK) , intent(in) :: weisum
3644 complex(TKG) , intent(in) , contiguous :: mean(:)
3645 integer(IK) , intent(in) , contiguous :: weight(:)
3646 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3647 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3648 type(uppDia_type) , intent(in) :: subset
3649 end subroutine
3650#endif
3651
3652#if CK4_ENABLED
3653 PURE module subroutine setCovAvgWTI_UXD_CK4(cov, subset, mean, sample, dim, weight, weisum)
3654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3655 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_CK4
3656#endif
3657 use pm_kind, only: TKG => CK4
3658 integer(IK) , intent(in) :: dim
3659 integer(IK) , intent(in) :: weisum
3660 complex(TKG) , intent(in) , contiguous :: mean(:)
3661 integer(IK) , intent(in) , contiguous :: weight(:)
3662 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3663 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3664 type(uppDia_type) , intent(in) :: subset
3665 end subroutine
3666#endif
3667
3668#if CK3_ENABLED
3669 PURE module subroutine setCovAvgWTI_UXD_CK3(cov, subset, mean, sample, dim, weight, weisum)
3670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3671 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_CK3
3672#endif
3673 use pm_kind, only: TKG => CK3
3674 integer(IK) , intent(in) :: dim
3675 integer(IK) , intent(in) :: weisum
3676 complex(TKG) , intent(in) , contiguous :: mean(:)
3677 integer(IK) , intent(in) , contiguous :: weight(:)
3678 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3679 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3680 type(uppDia_type) , intent(in) :: subset
3681 end subroutine
3682#endif
3683
3684#if CK2_ENABLED
3685 PURE module subroutine setCovAvgWTI_UXD_CK2(cov, subset, mean, sample, dim, weight, weisum)
3686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3687 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_CK2
3688#endif
3689 use pm_kind, only: TKG => CK2
3690 integer(IK) , intent(in) :: dim
3691 integer(IK) , intent(in) :: weisum
3692 complex(TKG) , intent(in) , contiguous :: mean(:)
3693 integer(IK) , intent(in) , contiguous :: weight(:)
3694 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3695 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3696 type(uppDia_type) , intent(in) :: subset
3697 end subroutine
3698#endif
3699
3700#if CK1_ENABLED
3701 PURE module subroutine setCovAvgWTI_UXD_CK1(cov, subset, mean, sample, dim, weight, weisum)
3702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3703 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_CK1
3704#endif
3705 use pm_kind, only: TKG => CK1
3706 integer(IK) , intent(in) :: dim
3707 integer(IK) , intent(in) :: weisum
3708 complex(TKG) , intent(in) , contiguous :: mean(:)
3709 integer(IK) , intent(in) , contiguous :: weight(:)
3710 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3711 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3712 type(uppDia_type) , intent(in) :: subset
3713 end subroutine
3714#endif
3715
3716 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3717
3718#if RK5_ENABLED
3719 PURE module subroutine setCovAvgWTI_UXD_RK5(cov, subset, mean, sample, dim, weight, weisum)
3720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3721 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_RK5
3722#endif
3723 use pm_kind, only: TKG => RK5
3724 integer(IK) , intent(in) :: dim
3725 integer(IK) , intent(in) :: weisum
3726 real(TKG) , intent(in) , contiguous :: mean(:)
3727 integer(IK) , intent(in) , contiguous :: weight(:)
3728 real(TKG) , intent(in) , contiguous :: sample(:,:)
3729 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3730 type(uppDia_type) , intent(in) :: subset
3731 end subroutine
3732#endif
3733
3734#if RK4_ENABLED
3735 PURE module subroutine setCovAvgWTI_UXD_RK4(cov, subset, mean, sample, dim, weight, weisum)
3736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3737 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_RK4
3738#endif
3739 use pm_kind, only: TKG => RK4
3740 integer(IK) , intent(in) :: dim
3741 integer(IK) , intent(in) :: weisum
3742 real(TKG) , intent(in) , contiguous :: mean(:)
3743 integer(IK) , intent(in) , contiguous :: weight(:)
3744 real(TKG) , intent(in) , contiguous :: sample(:,:)
3745 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3746 type(uppDia_type) , intent(in) :: subset
3747 end subroutine
3748#endif
3749
3750#if RK3_ENABLED
3751 PURE module subroutine setCovAvgWTI_UXD_RK3(cov, subset, mean, sample, dim, weight, weisum)
3752#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3753 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_RK3
3754#endif
3755 use pm_kind, only: TKG => RK3
3756 integer(IK) , intent(in) :: dim
3757 integer(IK) , intent(in) :: weisum
3758 real(TKG) , intent(in) , contiguous :: mean(:)
3759 integer(IK) , intent(in) , contiguous :: weight(:)
3760 real(TKG) , intent(in) , contiguous :: sample(:,:)
3761 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3762 type(uppDia_type) , intent(in) :: subset
3763 end subroutine
3764#endif
3765
3766#if RK2_ENABLED
3767 PURE module subroutine setCovAvgWTI_UXD_RK2(cov, subset, mean, sample, dim, weight, weisum)
3768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3769 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_RK2
3770#endif
3771 use pm_kind, only: TKG => RK2
3772 integer(IK) , intent(in) :: dim
3773 integer(IK) , intent(in) :: weisum
3774 real(TKG) , intent(in) , contiguous :: mean(:)
3775 integer(IK) , intent(in) , contiguous :: weight(:)
3776 real(TKG) , intent(in) , contiguous :: sample(:,:)
3777 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3778 type(uppDia_type) , intent(in) :: subset
3779 end subroutine
3780#endif
3781
3782#if RK1_ENABLED
3783 PURE module subroutine setCovAvgWTI_UXD_RK1(cov, subset, mean, sample, dim, weight, weisum)
3784#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3785 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_UXD_RK1
3786#endif
3787 use pm_kind, only: TKG => RK1
3788 integer(IK) , intent(in) :: dim
3789 integer(IK) , intent(in) :: weisum
3790 real(TKG) , intent(in) , contiguous :: mean(:)
3791 integer(IK) , intent(in) , contiguous :: weight(:)
3792 real(TKG) , intent(in) , contiguous :: sample(:,:)
3793 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3794 type(uppDia_type) , intent(in) :: subset
3795 end subroutine
3796#endif
3797
3798 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3799
3800 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3801 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3802 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3803
3804 end interface setCov
3805
3806 ! UXD - real weight.
3807
3808 interface setCov
3809
3810 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3811 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3812 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3813
3814 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3815
3816#if CK5_ENABLED
3817 PURE module subroutine setCovOrgWTR_UXD_CK5(cov, subset, sample, dim, weight, weisum)
3818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3819 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_CK5
3820#endif
3821 use pm_kind, only: TKG => CK5
3822 integer(IK) , intent(in) :: dim
3823 real(TKG) , intent(in) :: weisum
3824 real(TKG) , intent(in) , contiguous :: weight(:)
3825 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3826 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3827 type(uppDia_type) , intent(in) :: subset
3828 end subroutine
3829#endif
3830
3831#if CK4_ENABLED
3832 PURE module subroutine setCovOrgWTR_UXD_CK4(cov, subset, sample, dim, weight, weisum)
3833#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3834 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_CK4
3835#endif
3836 use pm_kind, only: TKG => CK4
3837 integer(IK) , intent(in) :: dim
3838 real(TKG) , intent(in) :: weisum
3839 real(TKG) , intent(in) , contiguous :: weight(:)
3840 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3841 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3842 type(uppDia_type) , intent(in) :: subset
3843 end subroutine
3844#endif
3845
3846#if CK3_ENABLED
3847 PURE module subroutine setCovOrgWTR_UXD_CK3(cov, subset, sample, dim, weight, weisum)
3848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3849 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_CK3
3850#endif
3851 use pm_kind, only: TKG => CK3
3852 integer(IK) , intent(in) :: dim
3853 real(TKG) , intent(in) :: weisum
3854 real(TKG) , intent(in) , contiguous :: weight(:)
3855 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3856 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3857 type(uppDia_type) , intent(in) :: subset
3858 end subroutine
3859#endif
3860
3861#if CK2_ENABLED
3862 PURE module subroutine setCovOrgWTR_UXD_CK2(cov, subset, sample, dim, weight, weisum)
3863#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3864 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_CK2
3865#endif
3866 use pm_kind, only: TKG => CK2
3867 integer(IK) , intent(in) :: dim
3868 real(TKG) , intent(in) :: weisum
3869 real(TKG) , intent(in) , contiguous :: weight(:)
3870 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3871 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3872 type(uppDia_type) , intent(in) :: subset
3873 end subroutine
3874#endif
3875
3876#if CK1_ENABLED
3877 PURE module subroutine setCovOrgWTR_UXD_CK1(cov, subset, sample, dim, weight, weisum)
3878#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3879 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_CK1
3880#endif
3881 use pm_kind, only: TKG => CK1
3882 integer(IK) , intent(in) :: dim
3883 real(TKG) , intent(in) :: weisum
3884 real(TKG) , intent(in) , contiguous :: weight(:)
3885 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3886 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3887 type(uppDia_type) , intent(in) :: subset
3888 end subroutine
3889#endif
3890
3891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3892
3893#if RK5_ENABLED
3894 PURE module subroutine setCovOrgWTR_UXD_RK5(cov, subset, sample, dim, weight, weisum)
3895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3896 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_RK5
3897#endif
3898 use pm_kind, only: TKG => RK5
3899 integer(IK) , intent(in) :: dim
3900 real(TKG) , intent(in) :: weisum
3901 real(TKG) , intent(in) , contiguous :: weight(:)
3902 real(TKG) , intent(in) , contiguous :: sample(:,:)
3903 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3904 type(uppDia_type) , intent(in) :: subset
3905 end subroutine
3906#endif
3907
3908#if RK4_ENABLED
3909 PURE module subroutine setCovOrgWTR_UXD_RK4(cov, subset, sample, dim, weight, weisum)
3910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3911 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_RK4
3912#endif
3913 use pm_kind, only: TKG => RK4
3914 integer(IK) , intent(in) :: dim
3915 real(TKG) , intent(in) :: weisum
3916 real(TKG) , intent(in) , contiguous :: weight(:)
3917 real(TKG) , intent(in) , contiguous :: sample(:,:)
3918 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3919 type(uppDia_type) , intent(in) :: subset
3920 end subroutine
3921#endif
3922
3923#if RK3_ENABLED
3924 PURE module subroutine setCovOrgWTR_UXD_RK3(cov, subset, sample, dim, weight, weisum)
3925#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3926 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_RK3
3927#endif
3928 use pm_kind, only: TKG => RK3
3929 integer(IK) , intent(in) :: dim
3930 real(TKG) , intent(in) :: weisum
3931 real(TKG) , intent(in) , contiguous :: weight(:)
3932 real(TKG) , intent(in) , contiguous :: sample(:,:)
3933 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3934 type(uppDia_type) , intent(in) :: subset
3935 end subroutine
3936#endif
3937
3938#if RK2_ENABLED
3939 PURE module subroutine setCovOrgWTR_UXD_RK2(cov, subset, sample, dim, weight, weisum)
3940#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3941 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_RK2
3942#endif
3943 use pm_kind, only: TKG => RK2
3944 integer(IK) , intent(in) :: dim
3945 real(TKG) , intent(in) :: weisum
3946 real(TKG) , intent(in) , contiguous :: weight(:)
3947 real(TKG) , intent(in) , contiguous :: sample(:,:)
3948 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3949 type(uppDia_type) , intent(in) :: subset
3950 end subroutine
3951#endif
3952
3953#if RK1_ENABLED
3954 PURE module subroutine setCovOrgWTR_UXD_RK1(cov, subset, sample, dim, weight, weisum)
3955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3956 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_UXD_RK1
3957#endif
3958 use pm_kind, only: TKG => RK1
3959 integer(IK) , intent(in) :: dim
3960 real(TKG) , intent(in) :: weisum
3961 real(TKG) , intent(in) , contiguous :: weight(:)
3962 real(TKG) , intent(in) , contiguous :: sample(:,:)
3963 real(TKG) , intent(inout) , contiguous :: cov(:,:)
3964 type(uppDia_type) , intent(in) :: subset
3965 end subroutine
3966#endif
3967
3968 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3969
3970 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3971 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3972 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3973
3974 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3975
3976#if CK5_ENABLED
3977 PURE module subroutine setCovAvgWTR_UXD_CK5(cov, subset, mean, sample, dim, weight, weisum)
3978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3979 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_CK5
3980#endif
3981 use pm_kind, only: TKG => CK5
3982 integer(IK) , intent(in) :: dim
3983 real(TKG) , intent(in) :: weisum
3984 complex(TKG) , intent(in) , contiguous :: mean(:)
3985 real(TKG) , intent(in) , contiguous :: weight(:)
3986 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3987 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
3988 type(uppDia_type) , intent(in) :: subset
3989 end subroutine
3990#endif
3991
3992#if CK4_ENABLED
3993 PURE module subroutine setCovAvgWTR_UXD_CK4(cov, subset, mean, sample, dim, weight, weisum)
3994#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3995 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_CK4
3996#endif
3997 use pm_kind, only: TKG => CK4
3998 integer(IK) , intent(in) :: dim
3999 real(TKG) , intent(in) :: weisum
4000 complex(TKG) , intent(in) , contiguous :: mean(:)
4001 real(TKG) , intent(in) , contiguous :: weight(:)
4002 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4003 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4004 type(uppDia_type) , intent(in) :: subset
4005 end subroutine
4006#endif
4007
4008#if CK3_ENABLED
4009 PURE module subroutine setCovAvgWTR_UXD_CK3(cov, subset, mean, sample, dim, weight, weisum)
4010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4011 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_CK3
4012#endif
4013 use pm_kind, only: TKG => CK3
4014 integer(IK) , intent(in) :: dim
4015 real(TKG) , intent(in) :: weisum
4016 complex(TKG) , intent(in) , contiguous :: mean(:)
4017 real(TKG) , intent(in) , contiguous :: weight(:)
4018 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4019 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4020 type(uppDia_type) , intent(in) :: subset
4021 end subroutine
4022#endif
4023
4024#if CK2_ENABLED
4025 PURE module subroutine setCovAvgWTR_UXD_CK2(cov, subset, mean, sample, dim, weight, weisum)
4026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4027 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_CK2
4028#endif
4029 use pm_kind, only: TKG => CK2
4030 integer(IK) , intent(in) :: dim
4031 real(TKG) , intent(in) :: weisum
4032 complex(TKG) , intent(in) , contiguous :: mean(:)
4033 real(TKG) , intent(in) , contiguous :: weight(:)
4034 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4035 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4036 type(uppDia_type) , intent(in) :: subset
4037 end subroutine
4038#endif
4039
4040#if CK1_ENABLED
4041 PURE module subroutine setCovAvgWTR_UXD_CK1(cov, subset, mean, sample, dim, weight, weisum)
4042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4043 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_CK1
4044#endif
4045 use pm_kind, only: TKG => CK1
4046 integer(IK) , intent(in) :: dim
4047 real(TKG) , intent(in) :: weisum
4048 complex(TKG) , intent(in) , contiguous :: mean(:)
4049 real(TKG) , intent(in) , contiguous :: weight(:)
4050 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4051 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4052 type(uppDia_type) , intent(in) :: subset
4053 end subroutine
4054#endif
4055
4056 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4057
4058#if RK5_ENABLED
4059 PURE module subroutine setCovAvgWTR_UXD_RK5(cov, subset, mean, sample, dim, weight, weisum)
4060#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4061 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_RK5
4062#endif
4063 use pm_kind, only: TKG => RK5
4064 integer(IK) , intent(in) :: dim
4065 real(TKG) , intent(in) :: weisum
4066 real(TKG) , intent(in) , contiguous :: mean(:)
4067 real(TKG) , intent(in) , contiguous :: weight(:)
4068 real(TKG) , intent(in) , contiguous :: sample(:,:)
4069 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4070 type(uppDia_type) , intent(in) :: subset
4071 end subroutine
4072#endif
4073
4074#if RK4_ENABLED
4075 PURE module subroutine setCovAvgWTR_UXD_RK4(cov, subset, mean, sample, dim, weight, weisum)
4076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4077 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_RK4
4078#endif
4079 use pm_kind, only: TKG => RK4
4080 integer(IK) , intent(in) :: dim
4081 real(TKG) , intent(in) :: weisum
4082 real(TKG) , intent(in) , contiguous :: mean(:)
4083 real(TKG) , intent(in) , contiguous :: weight(:)
4084 real(TKG) , intent(in) , contiguous :: sample(:,:)
4085 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4086 type(uppDia_type) , intent(in) :: subset
4087 end subroutine
4088#endif
4089
4090#if RK3_ENABLED
4091 PURE module subroutine setCovAvgWTR_UXD_RK3(cov, subset, mean, sample, dim, weight, weisum)
4092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4093 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_RK3
4094#endif
4095 use pm_kind, only: TKG => RK3
4096 integer(IK) , intent(in) :: dim
4097 real(TKG) , intent(in) :: weisum
4098 real(TKG) , intent(in) , contiguous :: mean(:)
4099 real(TKG) , intent(in) , contiguous :: weight(:)
4100 real(TKG) , intent(in) , contiguous :: sample(:,:)
4101 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4102 type(uppDia_type) , intent(in) :: subset
4103 end subroutine
4104#endif
4105
4106#if RK2_ENABLED
4107 PURE module subroutine setCovAvgWTR_UXD_RK2(cov, subset, mean, sample, dim, weight, weisum)
4108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4109 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_RK2
4110#endif
4111 use pm_kind, only: TKG => RK2
4112 integer(IK) , intent(in) :: dim
4113 real(TKG) , intent(in) :: weisum
4114 real(TKG) , intent(in) , contiguous :: mean(:)
4115 real(TKG) , intent(in) , contiguous :: weight(:)
4116 real(TKG) , intent(in) , contiguous :: sample(:,:)
4117 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4118 type(uppDia_type) , intent(in) :: subset
4119 end subroutine
4120#endif
4121
4122#if RK1_ENABLED
4123 PURE module subroutine setCovAvgWTR_UXD_RK1(cov, subset, mean, sample, dim, weight, weisum)
4124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4125 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_UXD_RK1
4126#endif
4127 use pm_kind, only: TKG => RK1
4128 integer(IK) , intent(in) :: dim
4129 real(TKG) , intent(in) :: weisum
4130 real(TKG) , intent(in) , contiguous :: mean(:)
4131 real(TKG) , intent(in) , contiguous :: weight(:)
4132 real(TKG) , intent(in) , contiguous :: sample(:,:)
4133 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4134 type(uppDia_type) , intent(in) :: subset
4135 end subroutine
4136#endif
4137
4138 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4139
4140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4143
4144 end interface setCov
4145
4146 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4147
4148 ! XLD - no weight.
4149
4150 interface setCov
4151
4152 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4154 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4155
4156 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4157
4158#if CK5_ENABLED
4159 PURE module subroutine setCovOrgWNO_XLD_CK5(cov, subset, sample, dim)
4160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4161 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_CK5
4162#endif
4163 use pm_kind, only: TKG => CK5
4164 integer(IK) , intent(in) :: dim
4165 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4166 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4167 type(lowDia_type) , intent(in) :: subset
4168 end subroutine
4169#endif
4170
4171#if CK4_ENABLED
4172 PURE module subroutine setCovOrgWNO_XLD_CK4(cov, subset, sample, dim)
4173#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4174 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_CK4
4175#endif
4176 use pm_kind, only: TKG => CK4
4177 integer(IK) , intent(in) :: dim
4178 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4179 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4180 type(lowDia_type) , intent(in) :: subset
4181 end subroutine
4182#endif
4183
4184#if CK3_ENABLED
4185 PURE module subroutine setCovOrgWNO_XLD_CK3(cov, subset, sample, dim)
4186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4187 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_CK3
4188#endif
4189 use pm_kind, only: TKG => CK3
4190 integer(IK) , intent(in) :: dim
4191 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4192 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4193 type(lowDia_type) , intent(in) :: subset
4194 end subroutine
4195#endif
4196
4197#if CK2_ENABLED
4198 PURE module subroutine setCovOrgWNO_XLD_CK2(cov, subset, sample, dim)
4199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4200 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_CK2
4201#endif
4202 use pm_kind, only: TKG => CK2
4203 integer(IK) , intent(in) :: dim
4204 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4205 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4206 type(lowDia_type) , intent(in) :: subset
4207 end subroutine
4208#endif
4209
4210#if CK1_ENABLED
4211 PURE module subroutine setCovOrgWNO_XLD_CK1(cov, subset, sample, dim)
4212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4213 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_CK1
4214#endif
4215 use pm_kind, only: TKG => CK1
4216 integer(IK) , intent(in) :: dim
4217 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4218 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4219 type(lowDia_type) , intent(in) :: subset
4220 end subroutine
4221#endif
4222
4223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4224
4225#if RK5_ENABLED
4226 PURE module subroutine setCovOrgWNO_XLD_RK5(cov, subset, sample, dim)
4227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4228 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_RK5
4229#endif
4230 use pm_kind, only: TKG => RK5
4231 integer(IK) , intent(in) :: dim
4232 real(TKG) , intent(in) , contiguous :: sample(:,:)
4233 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4234 type(lowDia_type) , intent(in) :: subset
4235 end subroutine
4236#endif
4237
4238#if RK4_ENABLED
4239 PURE module subroutine setCovOrgWNO_XLD_RK4(cov, subset, sample, dim)
4240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4241 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_RK4
4242#endif
4243 use pm_kind, only: TKG => RK4
4244 integer(IK) , intent(in) :: dim
4245 real(TKG) , intent(in) , contiguous :: sample(:,:)
4246 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4247 type(lowDia_type) , intent(in) :: subset
4248 end subroutine
4249#endif
4250
4251#if RK3_ENABLED
4252 PURE module subroutine setCovOrgWNO_XLD_RK3(cov, subset, sample, dim)
4253#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4254 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_RK3
4255#endif
4256 use pm_kind, only: TKG => RK3
4257 integer(IK) , intent(in) :: dim
4258 real(TKG) , intent(in) , contiguous :: sample(:,:)
4259 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4260 type(lowDia_type) , intent(in) :: subset
4261 end subroutine
4262#endif
4263
4264#if RK2_ENABLED
4265 PURE module subroutine setCovOrgWNO_XLD_RK2(cov, subset, sample, dim)
4266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4267 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_RK2
4268#endif
4269 use pm_kind, only: TKG => RK2
4270 integer(IK) , intent(in) :: dim
4271 real(TKG) , intent(in) , contiguous :: sample(:,:)
4272 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4273 type(lowDia_type) , intent(in) :: subset
4274 end subroutine
4275#endif
4276
4277#if RK1_ENABLED
4278 PURE module subroutine setCovOrgWNO_XLD_RK1(cov, subset, sample, dim)
4279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4280 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWNO_XLD_RK1
4281#endif
4282 use pm_kind, only: TKG => RK1
4283 integer(IK) , intent(in) :: dim
4284 real(TKG) , intent(in) , contiguous :: sample(:,:)
4285 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4286 type(lowDia_type) , intent(in) :: subset
4287 end subroutine
4288#endif
4289
4290 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4291
4292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4293 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4294 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4295
4296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4297
4298#if CK5_ENABLED
4299 PURE module subroutine setCovAvgWNO_XLD_CK5(cov, subset, mean, sample, dim)
4300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4301 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_CK5
4302#endif
4303 use pm_kind, only: TKG => CK5
4304 integer(IK) , intent(in) :: dim
4305 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4306 complex(TKG) , intent(in) , contiguous :: mean(:)
4307 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4308 type(lowDia_type) , intent(in) :: subset
4309 end subroutine
4310#endif
4311
4312#if CK4_ENABLED
4313 PURE module subroutine setCovAvgWNO_XLD_CK4(cov, subset, mean, sample, dim)
4314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4315 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_CK4
4316#endif
4317 use pm_kind, only: TKG => CK4
4318 integer(IK) , intent(in) :: dim
4319 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4320 complex(TKG) , intent(in) , contiguous :: mean(:)
4321 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4322 type(lowDia_type) , intent(in) :: subset
4323 end subroutine
4324#endif
4325
4326#if CK3_ENABLED
4327 PURE module subroutine setCovAvgWNO_XLD_CK3(cov, subset, mean, sample, dim)
4328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4329 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_CK3
4330#endif
4331 use pm_kind, only: TKG => CK3
4332 integer(IK) , intent(in) :: dim
4333 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4334 complex(TKG) , intent(in) , contiguous :: mean(:)
4335 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4336 type(lowDia_type) , intent(in) :: subset
4337 end subroutine
4338#endif
4339
4340#if CK2_ENABLED
4341 PURE module subroutine setCovAvgWNO_XLD_CK2(cov, subset, mean, sample, dim)
4342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4343 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_CK2
4344#endif
4345 use pm_kind, only: TKG => CK2
4346 integer(IK) , intent(in) :: dim
4347 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4348 complex(TKG) , intent(in) , contiguous :: mean(:)
4349 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4350 type(lowDia_type) , intent(in) :: subset
4351 end subroutine
4352#endif
4353
4354#if CK1_ENABLED
4355 PURE module subroutine setCovAvgWNO_XLD_CK1(cov, subset, mean, sample, dim)
4356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4357 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_CK1
4358#endif
4359 use pm_kind, only: TKG => CK1
4360 integer(IK) , intent(in) :: dim
4361 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4362 complex(TKG) , intent(in) , contiguous :: mean(:)
4363 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4364 type(lowDia_type) , intent(in) :: subset
4365 end subroutine
4366#endif
4367
4368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4369
4370#if RK5_ENABLED
4371 PURE module subroutine setCovAvgWNO_XLD_RK5(cov, subset, mean, sample, dim)
4372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4373 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_RK5
4374#endif
4375 use pm_kind, only: TKG => RK5
4376 integer(IK) , intent(in) :: dim
4377 real(TKG) , intent(in) , contiguous :: sample(:,:)
4378 real(TKG) , intent(in) , contiguous :: mean(:)
4379 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4380 type(lowDia_type) , intent(in) :: subset
4381 end subroutine
4382#endif
4383
4384#if RK4_ENABLED
4385 PURE module subroutine setCovAvgWNO_XLD_RK4(cov, subset, mean, sample, dim)
4386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4387 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_RK4
4388#endif
4389 use pm_kind, only: TKG => RK4
4390 integer(IK) , intent(in) :: dim
4391 real(TKG) , intent(in) , contiguous :: sample(:,:)
4392 real(TKG) , intent(in) , contiguous :: mean(:)
4393 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4394 type(lowDia_type) , intent(in) :: subset
4395 end subroutine
4396#endif
4397
4398#if RK3_ENABLED
4399 PURE module subroutine setCovAvgWNO_XLD_RK3(cov, subset, mean, sample, dim)
4400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4401 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_RK3
4402#endif
4403 use pm_kind, only: TKG => RK3
4404 integer(IK) , intent(in) :: dim
4405 real(TKG) , intent(in) , contiguous :: sample(:,:)
4406 real(TKG) , intent(in) , contiguous :: mean(:)
4407 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4408 type(lowDia_type) , intent(in) :: subset
4409 end subroutine
4410#endif
4411
4412#if RK2_ENABLED
4413 PURE module subroutine setCovAvgWNO_XLD_RK2(cov, subset, mean, sample, dim)
4414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4415 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_RK2
4416#endif
4417 use pm_kind, only: TKG => RK2
4418 integer(IK) , intent(in) :: dim
4419 real(TKG) , intent(in) , contiguous :: sample(:,:)
4420 real(TKG) , intent(in) , contiguous :: mean(:)
4421 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4422 type(lowDia_type) , intent(in) :: subset
4423 end subroutine
4424#endif
4425
4426#if RK1_ENABLED
4427 PURE module subroutine setCovAvgWNO_XLD_RK1(cov, subset, mean, sample, dim)
4428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4429 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWNO_XLD_RK1
4430#endif
4431 use pm_kind, only: TKG => RK1
4432 integer(IK) , intent(in) :: dim
4433 real(TKG) , intent(in) , contiguous :: sample(:,:)
4434 real(TKG) , intent(in) , contiguous :: mean(:)
4435 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4436 type(lowDia_type) , intent(in) :: subset
4437 end subroutine
4438#endif
4439
4440 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4441
4442 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4443 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4444 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4445
4446 end interface setCov
4447
4448 ! XLD - integer weight.
4449
4450 interface setCov
4451
4452 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4453 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4454 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4455
4456 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4457
4458#if CK5_ENABLED
4459 PURE module subroutine setCovOrgWTI_XLD_CK5(cov, subset, sample, dim, weight, weisum)
4460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4461 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_CK5
4462#endif
4463 use pm_kind, only: TKG => CK5
4464 integer(IK) , intent(in) :: dim
4465 integer(IK) , intent(in) :: weisum
4466 integer(IK) , intent(in) , contiguous :: weight(:)
4467 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4468 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4469 type(lowDia_type) , intent(in) :: subset
4470 end subroutine
4471#endif
4472
4473#if CK4_ENABLED
4474 PURE module subroutine setCovOrgWTI_XLD_CK4(cov, subset, sample, dim, weight, weisum)
4475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4476 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_CK4
4477#endif
4478 use pm_kind, only: TKG => CK4
4479 integer(IK) , intent(in) :: dim
4480 integer(IK) , intent(in) :: weisum
4481 integer(IK) , intent(in) , contiguous :: weight(:)
4482 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4483 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4484 type(lowDia_type) , intent(in) :: subset
4485 end subroutine
4486#endif
4487
4488#if CK3_ENABLED
4489 PURE module subroutine setCovOrgWTI_XLD_CK3(cov, subset, sample, dim, weight, weisum)
4490#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4491 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_CK3
4492#endif
4493 use pm_kind, only: TKG => CK3
4494 integer(IK) , intent(in) :: dim
4495 integer(IK) , intent(in) :: weisum
4496 integer(IK) , intent(in) , contiguous :: weight(:)
4497 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4498 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4499 type(lowDia_type) , intent(in) :: subset
4500 end subroutine
4501#endif
4502
4503#if CK2_ENABLED
4504 PURE module subroutine setCovOrgWTI_XLD_CK2(cov, subset, sample, dim, weight, weisum)
4505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4506 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_CK2
4507#endif
4508 use pm_kind, only: TKG => CK2
4509 integer(IK) , intent(in) :: dim
4510 integer(IK) , intent(in) :: weisum
4511 integer(IK) , intent(in) , contiguous :: weight(:)
4512 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4513 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4514 type(lowDia_type) , intent(in) :: subset
4515 end subroutine
4516#endif
4517
4518#if CK1_ENABLED
4519 PURE module subroutine setCovOrgWTI_XLD_CK1(cov, subset, sample, dim, weight, weisum)
4520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4521 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_CK1
4522#endif
4523 use pm_kind, only: TKG => CK1
4524 integer(IK) , intent(in) :: dim
4525 integer(IK) , intent(in) :: weisum
4526 integer(IK) , intent(in) , contiguous :: weight(:)
4527 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4528 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4529 type(lowDia_type) , intent(in) :: subset
4530 end subroutine
4531#endif
4532
4533 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4534
4535#if RK5_ENABLED
4536 PURE module subroutine setCovOrgWTI_XLD_RK5(cov, subset, sample, dim, weight, weisum)
4537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4538 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_RK5
4539#endif
4540 use pm_kind, only: TKG => RK5
4541 integer(IK) , intent(in) :: dim
4542 integer(IK) , intent(in) :: weisum
4543 integer(IK) , intent(in) , contiguous :: weight(:)
4544 real(TKG) , intent(in) , contiguous :: sample(:,:)
4545 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4546 type(lowDia_type) , intent(in) :: subset
4547 end subroutine
4548#endif
4549
4550#if RK4_ENABLED
4551 PURE module subroutine setCovOrgWTI_XLD_RK4(cov, subset, sample, dim, weight, weisum)
4552#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4553 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_RK4
4554#endif
4555 use pm_kind, only: TKG => RK4
4556 integer(IK) , intent(in) :: dim
4557 integer(IK) , intent(in) :: weisum
4558 integer(IK) , intent(in) , contiguous :: weight(:)
4559 real(TKG) , intent(in) , contiguous :: sample(:,:)
4560 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4561 type(lowDia_type) , intent(in) :: subset
4562 end subroutine
4563#endif
4564
4565#if RK3_ENABLED
4566 PURE module subroutine setCovOrgWTI_XLD_RK3(cov, subset, sample, dim, weight, weisum)
4567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4568 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_RK3
4569#endif
4570 use pm_kind, only: TKG => RK3
4571 integer(IK) , intent(in) :: dim
4572 integer(IK) , intent(in) :: weisum
4573 integer(IK) , intent(in) , contiguous :: weight(:)
4574 real(TKG) , intent(in) , contiguous :: sample(:,:)
4575 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4576 type(lowDia_type) , intent(in) :: subset
4577 end subroutine
4578#endif
4579
4580#if RK2_ENABLED
4581 PURE module subroutine setCovOrgWTI_XLD_RK2(cov, subset, sample, dim, weight, weisum)
4582#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4583 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_RK2
4584#endif
4585 use pm_kind, only: TKG => RK2
4586 integer(IK) , intent(in) :: dim
4587 integer(IK) , intent(in) :: weisum
4588 integer(IK) , intent(in) , contiguous :: weight(:)
4589 real(TKG) , intent(in) , contiguous :: sample(:,:)
4590 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4591 type(lowDia_type) , intent(in) :: subset
4592 end subroutine
4593#endif
4594
4595#if RK1_ENABLED
4596 PURE module subroutine setCovOrgWTI_XLD_RK1(cov, subset, sample, dim, weight, weisum)
4597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4598 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTI_XLD_RK1
4599#endif
4600 use pm_kind, only: TKG => RK1
4601 integer(IK) , intent(in) :: dim
4602 integer(IK) , intent(in) :: weisum
4603 integer(IK) , intent(in) , contiguous :: weight(:)
4604 real(TKG) , intent(in) , contiguous :: sample(:,:)
4605 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4606 type(lowDia_type) , intent(in) :: subset
4607 end subroutine
4608#endif
4609
4610 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4611
4612 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4613 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4614 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4615
4616 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4617
4618#if CK5_ENABLED
4619 PURE module subroutine setCovAvgWTI_XLD_CK5(cov, subset, mean, sample, dim, weight, weisum)
4620#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4621 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_CK5
4622#endif
4623 use pm_kind, only: TKG => CK5
4624 integer(IK) , intent(in) :: dim
4625 integer(IK) , intent(in) :: weisum
4626 complex(TKG) , intent(in) , contiguous :: mean(:)
4627 integer(IK) , intent(in) , contiguous :: weight(:)
4628 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4629 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4630 type(lowDia_type) , intent(in) :: subset
4631 end subroutine
4632#endif
4633
4634#if CK4_ENABLED
4635 PURE module subroutine setCovAvgWTI_XLD_CK4(cov, subset, mean, sample, dim, weight, weisum)
4636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4637 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_CK4
4638#endif
4639 use pm_kind, only: TKG => CK4
4640 integer(IK) , intent(in) :: dim
4641 integer(IK) , intent(in) :: weisum
4642 complex(TKG) , intent(in) , contiguous :: mean(:)
4643 integer(IK) , intent(in) , contiguous :: weight(:)
4644 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4645 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4646 type(lowDia_type) , intent(in) :: subset
4647 end subroutine
4648#endif
4649
4650#if CK3_ENABLED
4651 PURE module subroutine setCovAvgWTI_XLD_CK3(cov, subset, mean, sample, dim, weight, weisum)
4652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4653 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_CK3
4654#endif
4655 use pm_kind, only: TKG => CK3
4656 integer(IK) , intent(in) :: dim
4657 integer(IK) , intent(in) :: weisum
4658 complex(TKG) , intent(in) , contiguous :: mean(:)
4659 integer(IK) , intent(in) , contiguous :: weight(:)
4660 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4661 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4662 type(lowDia_type) , intent(in) :: subset
4663 end subroutine
4664#endif
4665
4666#if CK2_ENABLED
4667 PURE module subroutine setCovAvgWTI_XLD_CK2(cov, subset, mean, sample, dim, weight, weisum)
4668#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4669 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_CK2
4670#endif
4671 use pm_kind, only: TKG => CK2
4672 integer(IK) , intent(in) :: dim
4673 integer(IK) , intent(in) :: weisum
4674 complex(TKG) , intent(in) , contiguous :: mean(:)
4675 integer(IK) , intent(in) , contiguous :: weight(:)
4676 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4677 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4678 type(lowDia_type) , intent(in) :: subset
4679 end subroutine
4680#endif
4681
4682#if CK1_ENABLED
4683 PURE module subroutine setCovAvgWTI_XLD_CK1(cov, subset, mean, sample, dim, weight, weisum)
4684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4685 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_CK1
4686#endif
4687 use pm_kind, only: TKG => CK1
4688 integer(IK) , intent(in) :: dim
4689 integer(IK) , intent(in) :: weisum
4690 complex(TKG) , intent(in) , contiguous :: mean(:)
4691 integer(IK) , intent(in) , contiguous :: weight(:)
4692 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4693 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4694 type(lowDia_type) , intent(in) :: subset
4695 end subroutine
4696#endif
4697
4698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4699
4700#if RK5_ENABLED
4701 PURE module subroutine setCovAvgWTI_XLD_RK5(cov, subset, mean, sample, dim, weight, weisum)
4702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4703 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_RK5
4704#endif
4705 use pm_kind, only: TKG => RK5
4706 integer(IK) , intent(in) :: dim
4707 integer(IK) , intent(in) :: weisum
4708 real(TKG) , intent(in) , contiguous :: mean(:)
4709 integer(IK) , intent(in) , contiguous :: weight(:)
4710 real(TKG) , intent(in) , contiguous :: sample(:,:)
4711 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4712 type(lowDia_type) , intent(in) :: subset
4713 end subroutine
4714#endif
4715
4716#if RK4_ENABLED
4717 PURE module subroutine setCovAvgWTI_XLD_RK4(cov, subset, mean, sample, dim, weight, weisum)
4718#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4719 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_RK4
4720#endif
4721 use pm_kind, only: TKG => RK4
4722 integer(IK) , intent(in) :: dim
4723 integer(IK) , intent(in) :: weisum
4724 real(TKG) , intent(in) , contiguous :: mean(:)
4725 integer(IK) , intent(in) , contiguous :: weight(:)
4726 real(TKG) , intent(in) , contiguous :: sample(:,:)
4727 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4728 type(lowDia_type) , intent(in) :: subset
4729 end subroutine
4730#endif
4731
4732#if RK3_ENABLED
4733 PURE module subroutine setCovAvgWTI_XLD_RK3(cov, subset, mean, sample, dim, weight, weisum)
4734#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4735 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_RK3
4736#endif
4737 use pm_kind, only: TKG => RK3
4738 integer(IK) , intent(in) :: dim
4739 integer(IK) , intent(in) :: weisum
4740 real(TKG) , intent(in) , contiguous :: mean(:)
4741 integer(IK) , intent(in) , contiguous :: weight(:)
4742 real(TKG) , intent(in) , contiguous :: sample(:,:)
4743 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4744 type(lowDia_type) , intent(in) :: subset
4745 end subroutine
4746#endif
4747
4748#if RK2_ENABLED
4749 PURE module subroutine setCovAvgWTI_XLD_RK2(cov, subset, mean, sample, dim, weight, weisum)
4750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4751 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_RK2
4752#endif
4753 use pm_kind, only: TKG => RK2
4754 integer(IK) , intent(in) :: dim
4755 integer(IK) , intent(in) :: weisum
4756 real(TKG) , intent(in) , contiguous :: mean(:)
4757 integer(IK) , intent(in) , contiguous :: weight(:)
4758 real(TKG) , intent(in) , contiguous :: sample(:,:)
4759 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4760 type(lowDia_type) , intent(in) :: subset
4761 end subroutine
4762#endif
4763
4764#if RK1_ENABLED
4765 PURE module subroutine setCovAvgWTI_XLD_RK1(cov, subset, mean, sample, dim, weight, weisum)
4766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4767 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTI_XLD_RK1
4768#endif
4769 use pm_kind, only: TKG => RK1
4770 integer(IK) , intent(in) :: dim
4771 integer(IK) , intent(in) :: weisum
4772 real(TKG) , intent(in) , contiguous :: mean(:)
4773 integer(IK) , intent(in) , contiguous :: weight(:)
4774 real(TKG) , intent(in) , contiguous :: sample(:,:)
4775 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4776 type(lowDia_type) , intent(in) :: subset
4777 end subroutine
4778#endif
4779
4780 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4781
4782 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4783 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4784 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4785
4786 end interface setCov
4787
4788 ! XLD - real weight.
4789
4790 interface setCov
4791
4792 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4793 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4794 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4795
4796 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4797
4798#if CK5_ENABLED
4799 PURE module subroutine setCovOrgWTR_XLD_CK5(cov, subset, sample, dim, weight, weisum)
4800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4801 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_CK5
4802#endif
4803 use pm_kind, only: TKG => CK5
4804 integer(IK) , intent(in) :: dim
4805 real(TKG) , intent(in) :: weisum
4806 real(TKG) , intent(in) , contiguous :: weight(:)
4807 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4808 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4809 type(lowDia_type) , intent(in) :: subset
4810 end subroutine
4811#endif
4812
4813#if CK4_ENABLED
4814 PURE module subroutine setCovOrgWTR_XLD_CK4(cov, subset, sample, dim, weight, weisum)
4815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4816 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_CK4
4817#endif
4818 use pm_kind, only: TKG => CK4
4819 integer(IK) , intent(in) :: dim
4820 real(TKG) , intent(in) :: weisum
4821 real(TKG) , intent(in) , contiguous :: weight(:)
4822 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4823 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4824 type(lowDia_type) , intent(in) :: subset
4825 end subroutine
4826#endif
4827
4828#if CK3_ENABLED
4829 PURE module subroutine setCovOrgWTR_XLD_CK3(cov, subset, sample, dim, weight, weisum)
4830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4831 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_CK3
4832#endif
4833 use pm_kind, only: TKG => CK3
4834 integer(IK) , intent(in) :: dim
4835 real(TKG) , intent(in) :: weisum
4836 real(TKG) , intent(in) , contiguous :: weight(:)
4837 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4838 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4839 type(lowDia_type) , intent(in) :: subset
4840 end subroutine
4841#endif
4842
4843#if CK2_ENABLED
4844 PURE module subroutine setCovOrgWTR_XLD_CK2(cov, subset, sample, dim, weight, weisum)
4845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4846 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_CK2
4847#endif
4848 use pm_kind, only: TKG => CK2
4849 integer(IK) , intent(in) :: dim
4850 real(TKG) , intent(in) :: weisum
4851 real(TKG) , intent(in) , contiguous :: weight(:)
4852 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4853 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4854 type(lowDia_type) , intent(in) :: subset
4855 end subroutine
4856#endif
4857
4858#if CK1_ENABLED
4859 PURE module subroutine setCovOrgWTR_XLD_CK1(cov, subset, sample, dim, weight, weisum)
4860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4861 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_CK1
4862#endif
4863 use pm_kind, only: TKG => CK1
4864 integer(IK) , intent(in) :: dim
4865 real(TKG) , intent(in) :: weisum
4866 real(TKG) , intent(in) , contiguous :: weight(:)
4867 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4868 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4869 type(lowDia_type) , intent(in) :: subset
4870 end subroutine
4871#endif
4872
4873 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4874
4875#if RK5_ENABLED
4876 PURE module subroutine setCovOrgWTR_XLD_RK5(cov, subset, sample, dim, weight, weisum)
4877#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4878 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_RK5
4879#endif
4880 use pm_kind, only: TKG => RK5
4881 integer(IK) , intent(in) :: dim
4882 real(TKG) , intent(in) :: weisum
4883 real(TKG) , intent(in) , contiguous :: weight(:)
4884 real(TKG) , intent(in) , contiguous :: sample(:,:)
4885 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4886 type(lowDia_type) , intent(in) :: subset
4887 end subroutine
4888#endif
4889
4890#if RK4_ENABLED
4891 PURE module subroutine setCovOrgWTR_XLD_RK4(cov, subset, sample, dim, weight, weisum)
4892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4893 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_RK4
4894#endif
4895 use pm_kind, only: TKG => RK4
4896 integer(IK) , intent(in) :: dim
4897 real(TKG) , intent(in) :: weisum
4898 real(TKG) , intent(in) , contiguous :: weight(:)
4899 real(TKG) , intent(in) , contiguous :: sample(:,:)
4900 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4901 type(lowDia_type) , intent(in) :: subset
4902 end subroutine
4903#endif
4904
4905#if RK3_ENABLED
4906 PURE module subroutine setCovOrgWTR_XLD_RK3(cov, subset, sample, dim, weight, weisum)
4907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4908 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_RK3
4909#endif
4910 use pm_kind, only: TKG => RK3
4911 integer(IK) , intent(in) :: dim
4912 real(TKG) , intent(in) :: weisum
4913 real(TKG) , intent(in) , contiguous :: weight(:)
4914 real(TKG) , intent(in) , contiguous :: sample(:,:)
4915 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4916 type(lowDia_type) , intent(in) :: subset
4917 end subroutine
4918#endif
4919
4920#if RK2_ENABLED
4921 PURE module subroutine setCovOrgWTR_XLD_RK2(cov, subset, sample, dim, weight, weisum)
4922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4923 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_RK2
4924#endif
4925 use pm_kind, only: TKG => RK2
4926 integer(IK) , intent(in) :: dim
4927 real(TKG) , intent(in) :: weisum
4928 real(TKG) , intent(in) , contiguous :: weight(:)
4929 real(TKG) , intent(in) , contiguous :: sample(:,:)
4930 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4931 type(lowDia_type) , intent(in) :: subset
4932 end subroutine
4933#endif
4934
4935#if RK1_ENABLED
4936 PURE module subroutine setCovOrgWTR_XLD_RK1(cov, subset, sample, dim, weight, weisum)
4937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4938 !DEC$ ATTRIBUTES DLLEXPORT :: setCovOrgWTR_XLD_RK1
4939#endif
4940 use pm_kind, only: TKG => RK1
4941 integer(IK) , intent(in) :: dim
4942 real(TKG) , intent(in) :: weisum
4943 real(TKG) , intent(in) , contiguous :: weight(:)
4944 real(TKG) , intent(in) , contiguous :: sample(:,:)
4945 real(TKG) , intent(inout) , contiguous :: cov(:,:)
4946 type(lowDia_type) , intent(in) :: subset
4947 end subroutine
4948#endif
4949
4950 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4951
4952 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4953 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4955
4956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4957
4958#if CK5_ENABLED
4959 PURE module subroutine setCovAvgWTR_XLD_CK5(cov, subset, mean, sample, dim, weight, weisum)
4960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4961 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_CK5
4962#endif
4963 use pm_kind, only: TKG => CK5
4964 integer(IK) , intent(in) :: dim
4965 real(TKG) , intent(in) :: weisum
4966 complex(TKG) , intent(in) , contiguous :: mean(:)
4967 real(TKG) , intent(in) , contiguous :: weight(:)
4968 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4969 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4970 type(lowDia_type) , intent(in) :: subset
4971 end subroutine
4972#endif
4973
4974#if CK4_ENABLED
4975 PURE module subroutine setCovAvgWTR_XLD_CK4(cov, subset, mean, sample, dim, weight, weisum)
4976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4977 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_CK4
4978#endif
4979 use pm_kind, only: TKG => CK4
4980 integer(IK) , intent(in) :: dim
4981 real(TKG) , intent(in) :: weisum
4982 complex(TKG) , intent(in) , contiguous :: mean(:)
4983 real(TKG) , intent(in) , contiguous :: weight(:)
4984 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4985 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
4986 type(lowDia_type) , intent(in) :: subset
4987 end subroutine
4988#endif
4989
4990#if CK3_ENABLED
4991 PURE module subroutine setCovAvgWTR_XLD_CK3(cov, subset, mean, sample, dim, weight, weisum)
4992#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4993 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_CK3
4994#endif
4995 use pm_kind, only: TKG => CK3
4996 integer(IK) , intent(in) :: dim
4997 real(TKG) , intent(in) :: weisum
4998 complex(TKG) , intent(in) , contiguous :: mean(:)
4999 real(TKG) , intent(in) , contiguous :: weight(:)
5000 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5001 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5002 type(lowDia_type) , intent(in) :: subset
5003 end subroutine
5004#endif
5005
5006#if CK2_ENABLED
5007 PURE module subroutine setCovAvgWTR_XLD_CK2(cov, subset, mean, sample, dim, weight, weisum)
5008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5009 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_CK2
5010#endif
5011 use pm_kind, only: TKG => CK2
5012 integer(IK) , intent(in) :: dim
5013 real(TKG) , intent(in) :: weisum
5014 complex(TKG) , intent(in) , contiguous :: mean(:)
5015 real(TKG) , intent(in) , contiguous :: weight(:)
5016 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5017 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5018 type(lowDia_type) , intent(in) :: subset
5019 end subroutine
5020#endif
5021
5022#if CK1_ENABLED
5023 PURE module subroutine setCovAvgWTR_XLD_CK1(cov, subset, mean, sample, dim, weight, weisum)
5024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5025 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_CK1
5026#endif
5027 use pm_kind, only: TKG => CK1
5028 integer(IK) , intent(in) :: dim
5029 real(TKG) , intent(in) :: weisum
5030 complex(TKG) , intent(in) , contiguous :: mean(:)
5031 real(TKG) , intent(in) , contiguous :: weight(:)
5032 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5033 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5034 type(lowDia_type) , intent(in) :: subset
5035 end subroutine
5036#endif
5037
5038 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5039
5040#if RK5_ENABLED
5041 PURE module subroutine setCovAvgWTR_XLD_RK5(cov, subset, mean, sample, dim, weight, weisum)
5042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5043 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_RK5
5044#endif
5045 use pm_kind, only: TKG => RK5
5046 integer(IK) , intent(in) :: dim
5047 real(TKG) , intent(in) :: weisum
5048 real(TKG) , intent(in) , contiguous :: mean(:)
5049 real(TKG) , intent(in) , contiguous :: weight(:)
5050 real(TKG) , intent(in) , contiguous :: sample(:,:)
5051 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5052 type(lowDia_type) , intent(in) :: subset
5053 end subroutine
5054#endif
5055
5056#if RK4_ENABLED
5057 PURE module subroutine setCovAvgWTR_XLD_RK4(cov, subset, mean, sample, dim, weight, weisum)
5058#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5059 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_RK4
5060#endif
5061 use pm_kind, only: TKG => RK4
5062 integer(IK) , intent(in) :: dim
5063 real(TKG) , intent(in) :: weisum
5064 real(TKG) , intent(in) , contiguous :: mean(:)
5065 real(TKG) , intent(in) , contiguous :: weight(:)
5066 real(TKG) , intent(in) , contiguous :: sample(:,:)
5067 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5068 type(lowDia_type) , intent(in) :: subset
5069 end subroutine
5070#endif
5071
5072#if RK3_ENABLED
5073 PURE module subroutine setCovAvgWTR_XLD_RK3(cov, subset, mean, sample, dim, weight, weisum)
5074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5075 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_RK3
5076#endif
5077 use pm_kind, only: TKG =>