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 => RK3
5078 integer(IK) , intent(in) :: dim
5079 real(TKG) , intent(in) :: weisum
5080 real(TKG) , intent(in) , contiguous :: mean(:)
5081 real(TKG) , intent(in) , contiguous :: weight(:)
5082 real(TKG) , intent(in) , contiguous :: sample(:,:)
5083 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5084 type(lowDia_type) , intent(in) :: subset
5085 end subroutine
5086#endif
5087
5088#if RK2_ENABLED
5089 PURE module subroutine setCovAvgWTR_XLD_RK2(cov, subset, mean, sample, dim, weight, weisum)
5090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5091 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_RK2
5092#endif
5093 use pm_kind, only: TKG => RK2
5094 integer(IK) , intent(in) :: dim
5095 real(TKG) , intent(in) :: weisum
5096 real(TKG) , intent(in) , contiguous :: mean(:)
5097 real(TKG) , intent(in) , contiguous :: weight(:)
5098 real(TKG) , intent(in) , contiguous :: sample(:,:)
5099 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5100 type(lowDia_type) , intent(in) :: subset
5101 end subroutine
5102#endif
5103
5104#if RK1_ENABLED
5105 PURE module subroutine setCovAvgWTR_XLD_RK1(cov, subset, mean, sample, dim, weight, weisum)
5106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5107 !DEC$ ATTRIBUTES DLLEXPORT :: setCovAvgWTR_XLD_RK1
5108#endif
5109 use pm_kind, only: TKG => RK1
5110 integer(IK) , intent(in) :: dim
5111 real(TKG) , intent(in) :: weisum
5112 real(TKG) , intent(in) , contiguous :: mean(:)
5113 real(TKG) , intent(in) , contiguous :: weight(:)
5114 real(TKG) , intent(in) , contiguous :: sample(:,:)
5115 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5116 type(lowDia_type) , intent(in) :: subset
5117 end subroutine
5118#endif
5119
5120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5121
5122 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5124 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5125
5126 end interface setCov
5127
5128!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5129
5295
5296 ! XY - no weight.
5297
5298 interface setCovMean
5299
5300 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5302 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5303
5304 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5305
5306#if CK5_ENABLED
5307 PURE module subroutine setCovMeanWNO_XY_CK5(cov, mean, x, y, meang)
5308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5309 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_CK5
5310#endif
5311 use pm_kind, only: TKG => CK5
5312 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5313 complex(TKG) , intent(out) , contiguous :: mean(:)
5314 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5315 complex(TKG) , intent(in) , contiguous :: meang(:)
5316 end subroutine
5317#endif
5318
5319#if CK4_ENABLED
5320 PURE module subroutine setCovMeanWNO_XY_CK4(cov, mean, x, y, meang)
5321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5322 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_CK4
5323#endif
5324 use pm_kind, only: TKG => CK4
5325 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5326 complex(TKG) , intent(out) , contiguous :: mean(:)
5327 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5328 complex(TKG) , intent(in) , contiguous :: meang(:)
5329 end subroutine
5330#endif
5331
5332#if CK3_ENABLED
5333 PURE module subroutine setCovMeanWNO_XY_CK3(cov, mean, x, y, meang)
5334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5335 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_CK3
5336#endif
5337 use pm_kind, only: TKG => CK3
5338 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5339 complex(TKG) , intent(out) , contiguous :: mean(:)
5340 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5341 complex(TKG) , intent(in) , contiguous :: meang(:)
5342 end subroutine
5343#endif
5344
5345#if CK2_ENABLED
5346 PURE module subroutine setCovMeanWNO_XY_CK2(cov, mean, x, y, meang)
5347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5348 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_CK2
5349#endif
5350 use pm_kind, only: TKG => CK2
5351 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5352 complex(TKG) , intent(out) , contiguous :: mean(:)
5353 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5354 complex(TKG) , intent(in) , contiguous :: meang(:)
5355 end subroutine
5356#endif
5357
5358#if CK1_ENABLED
5359 PURE module subroutine setCovMeanWNO_XY_CK1(cov, mean, x, y, meang)
5360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5361 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_CK1
5362#endif
5363 use pm_kind, only: TKG => CK1
5364 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5365 complex(TKG) , intent(out) , contiguous :: mean(:)
5366 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5367 complex(TKG) , intent(in) , contiguous :: meang(:)
5368 end subroutine
5369#endif
5370
5371 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5372
5373#if RK5_ENABLED
5374 PURE module subroutine setCovMeanWNO_XY_RK5(cov, mean, x, y, meang)
5375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5376 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_RK5
5377#endif
5378 use pm_kind, only: TKG => RK5
5379 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5380 real(TKG) , intent(out) , contiguous :: mean(:)
5381 real(TKG) , intent(out) , contiguous :: cov(:,:)
5382 real(TKG) , intent(in) , contiguous :: meang(:)
5383 end subroutine
5384#endif
5385
5386#if RK4_ENABLED
5387 PURE module subroutine setCovMeanWNO_XY_RK4(cov, mean, x, y, meang)
5388#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5389 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_RK4
5390#endif
5391 use pm_kind, only: TKG => RK4
5392 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5393 real(TKG) , intent(out) , contiguous :: mean(:)
5394 real(TKG) , intent(out) , contiguous :: cov(:,:)
5395 real(TKG) , intent(in) , contiguous :: meang(:)
5396 end subroutine
5397#endif
5398
5399#if RK3_ENABLED
5400 PURE module subroutine setCovMeanWNO_XY_RK3(cov, mean, x, y, meang)
5401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5402 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_RK3
5403#endif
5404 use pm_kind, only: TKG => RK3
5405 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5406 real(TKG) , intent(out) , contiguous :: mean(:)
5407 real(TKG) , intent(out) , contiguous :: cov(:,:)
5408 real(TKG) , intent(in) , contiguous :: meang(:)
5409 end subroutine
5410#endif
5411
5412#if RK2_ENABLED
5413 PURE module subroutine setCovMeanWNO_XY_RK2(cov, mean, x, y, meang)
5414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5415 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_RK2
5416#endif
5417 use pm_kind, only: TKG => RK2
5418 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5419 real(TKG) , intent(out) , contiguous :: mean(:)
5420 real(TKG) , intent(out) , contiguous :: cov(:,:)
5421 real(TKG) , intent(in) , contiguous :: meang(:)
5422 end subroutine
5423#endif
5424
5425#if RK1_ENABLED
5426 PURE module subroutine setCovMeanWNO_XY_RK1(cov, mean, x, y, meang)
5427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5428 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XY_RK1
5429#endif
5430 use pm_kind, only: TKG => RK1
5431 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5432 real(TKG) , intent(out) , contiguous :: mean(:)
5433 real(TKG) , intent(out) , contiguous :: cov(:,:)
5434 real(TKG) , intent(in) , contiguous :: meang(:)
5435 end subroutine
5436#endif
5437
5438 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5439
5440 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5441 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5442 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5443
5444 end interface setCovMean
5445
5446 ! XY - integer weight.
5447
5448 interface setCovMean
5449
5450 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5451 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5452 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5453
5454 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5455
5456#if CK5_ENABLED
5457 PURE module subroutine setCovMeanWTI_XY_CK5(cov, mean, x, y, weight, weisum, meang)
5458#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5459 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_CK5
5460#endif
5461 use pm_kind, only: TKG => CK5
5462 integer(IK) , intent(out) :: weisum
5463 complex(TKG) , intent(out) , contiguous :: mean(:)
5464 integer(IK) , intent(in) , contiguous :: weight(:)
5465 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5466 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5467 complex(TKG) , intent(in) , contiguous :: meang(:)
5468 end subroutine
5469#endif
5470
5471#if CK4_ENABLED
5472 PURE module subroutine setCovMeanWTI_XY_CK4(cov, mean, x, y, weight, weisum, meang)
5473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5474 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_CK4
5475#endif
5476 use pm_kind, only: TKG => CK4
5477 integer(IK) , intent(out) :: weisum
5478 complex(TKG) , intent(out) , contiguous :: mean(:)
5479 integer(IK) , intent(in) , contiguous :: weight(:)
5480 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5481 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5482 complex(TKG) , intent(in) , contiguous :: meang(:)
5483 end subroutine
5484#endif
5485
5486#if CK3_ENABLED
5487 PURE module subroutine setCovMeanWTI_XY_CK3(cov, mean, x, y, weight, weisum, meang)
5488#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5489 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_CK3
5490#endif
5491 use pm_kind, only: TKG => CK3
5492 integer(IK) , intent(out) :: weisum
5493 complex(TKG) , intent(out) , contiguous :: mean(:)
5494 integer(IK) , intent(in) , contiguous :: weight(:)
5495 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5496 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5497 complex(TKG) , intent(in) , contiguous :: meang(:)
5498 end subroutine
5499#endif
5500
5501#if CK2_ENABLED
5502 PURE module subroutine setCovMeanWTI_XY_CK2(cov, mean, x, y, weight, weisum, meang)
5503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5504 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_CK2
5505#endif
5506 use pm_kind, only: TKG => CK2
5507 integer(IK) , intent(out) :: weisum
5508 complex(TKG) , intent(out) , contiguous :: mean(:)
5509 integer(IK) , intent(in) , contiguous :: weight(:)
5510 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5511 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5512 complex(TKG) , intent(in) , contiguous :: meang(:)
5513 end subroutine
5514#endif
5515
5516#if CK1_ENABLED
5517 PURE module subroutine setCovMeanWTI_XY_CK1(cov, mean, x, y, weight, weisum, meang)
5518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5519 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_CK1
5520#endif
5521 use pm_kind, only: TKG => CK1
5522 integer(IK) , intent(out) :: weisum
5523 complex(TKG) , intent(out) , contiguous :: mean(:)
5524 integer(IK) , intent(in) , contiguous :: weight(:)
5525 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5526 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5527 complex(TKG) , intent(in) , contiguous :: meang(:)
5528 end subroutine
5529#endif
5530
5531 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5532
5533#if RK5_ENABLED
5534 PURE module subroutine setCovMeanWTI_XY_RK5(cov, mean, x, y, weight, weisum, meang)
5535#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5536 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_RK5
5537#endif
5538 use pm_kind, only: TKG => RK5
5539 integer(IK) , intent(out) :: weisum
5540 real(TKG) , intent(out) , contiguous :: mean(:)
5541 integer(IK) , intent(in) , contiguous :: weight(:)
5542 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5543 real(TKG) , intent(out) , contiguous :: cov(:,:)
5544 real(TKG) , intent(in) , contiguous :: meang(:)
5545 end subroutine
5546#endif
5547
5548#if RK4_ENABLED
5549 PURE module subroutine setCovMeanWTI_XY_RK4(cov, mean, x, y, weight, weisum, meang)
5550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5551 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_RK4
5552#endif
5553 use pm_kind, only: TKG => RK4
5554 integer(IK) , intent(out) :: weisum
5555 real(TKG) , intent(out) , contiguous :: mean(:)
5556 integer(IK) , intent(in) , contiguous :: weight(:)
5557 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5558 real(TKG) , intent(out) , contiguous :: cov(:,:)
5559 real(TKG) , intent(in) , contiguous :: meang(:)
5560 end subroutine
5561#endif
5562
5563#if RK3_ENABLED
5564 PURE module subroutine setCovMeanWTI_XY_RK3(cov, mean, x, y, weight, weisum, meang)
5565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5566 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_RK3
5567#endif
5568 use pm_kind, only: TKG => RK3
5569 integer(IK) , intent(out) :: weisum
5570 real(TKG) , intent(out) , contiguous :: mean(:)
5571 integer(IK) , intent(in) , contiguous :: weight(:)
5572 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5573 real(TKG) , intent(out) , contiguous :: cov(:,:)
5574 real(TKG) , intent(in) , contiguous :: meang(:)
5575 end subroutine
5576#endif
5577
5578#if RK2_ENABLED
5579 PURE module subroutine setCovMeanWTI_XY_RK2(cov, mean, x, y, weight, weisum, meang)
5580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5581 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_RK2
5582#endif
5583 use pm_kind, only: TKG => RK2
5584 integer(IK) , intent(out) :: weisum
5585 real(TKG) , intent(out) , contiguous :: mean(:)
5586 integer(IK) , intent(in) , contiguous :: weight(:)
5587 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5588 real(TKG) , intent(out) , contiguous :: cov(:,:)
5589 real(TKG) , intent(in) , contiguous :: meang(:)
5590 end subroutine
5591#endif
5592
5593#if RK1_ENABLED
5594 PURE module subroutine setCovMeanWTI_XY_RK1(cov, mean, x, y, weight, weisum, meang)
5595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5596 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XY_RK1
5597#endif
5598 use pm_kind, only: TKG => RK1
5599 integer(IK) , intent(out) :: weisum
5600 real(TKG) , intent(out) , contiguous :: mean(:)
5601 integer(IK) , intent(in) , contiguous :: weight(:)
5602 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5603 real(TKG) , intent(out) , contiguous :: cov(:,:)
5604 real(TKG) , intent(in) , contiguous :: meang(:)
5605 end subroutine
5606#endif
5607
5608 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5609
5610 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5612 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5613
5614 end interface setCovMean
5615
5616 ! XY - real weight.
5617
5618 interface setCovMean
5619
5620 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5621 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5623
5624 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5625
5626#if CK5_ENABLED
5627 PURE module subroutine setCovMeanWTR_XY_CK5(cov, mean, x, y, weight, weisum, meang)
5628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5629 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_CK5
5630#endif
5631 use pm_kind, only: TKG => CK5
5632 real(TKG) , intent(out) :: weisum
5633 complex(TKG) , intent(out) , contiguous :: mean(:)
5634 real(TKG) , intent(in) , contiguous :: weight(:)
5635 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5636 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5637 complex(TKG) , intent(in) , contiguous :: meang(:)
5638 end subroutine
5639#endif
5640
5641#if CK4_ENABLED
5642 PURE module subroutine setCovMeanWTR_XY_CK4(cov, mean, x, y, weight, weisum, meang)
5643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5644 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_CK4
5645#endif
5646 use pm_kind, only: TKG => CK4
5647 real(TKG) , intent(out) :: weisum
5648 complex(TKG) , intent(out) , contiguous :: mean(:)
5649 real(TKG) , intent(in) , contiguous :: weight(:)
5650 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5651 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5652 complex(TKG) , intent(in) , contiguous :: meang(:)
5653 end subroutine
5654#endif
5655
5656#if CK3_ENABLED
5657 PURE module subroutine setCovMeanWTR_XY_CK3(cov, mean, x, y, weight, weisum, meang)
5658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5659 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_CK3
5660#endif
5661 use pm_kind, only: TKG => CK3
5662 real(TKG) , intent(out) :: weisum
5663 complex(TKG) , intent(out) , contiguous :: mean(:)
5664 real(TKG) , intent(in) , contiguous :: weight(:)
5665 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5666 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5667 complex(TKG) , intent(in) , contiguous :: meang(:)
5668 end subroutine
5669#endif
5670
5671#if CK2_ENABLED
5672 PURE module subroutine setCovMeanWTR_XY_CK2(cov, mean, x, y, weight, weisum, meang)
5673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5674 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_CK2
5675#endif
5676 use pm_kind, only: TKG => CK2
5677 real(TKG) , intent(out) :: weisum
5678 complex(TKG) , intent(out) , contiguous :: mean(:)
5679 real(TKG) , intent(in) , contiguous :: weight(:)
5680 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5681 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5682 complex(TKG) , intent(in) , contiguous :: meang(:)
5683 end subroutine
5684#endif
5685
5686#if CK1_ENABLED
5687 PURE module subroutine setCovMeanWTR_XY_CK1(cov, mean, x, y, weight, weisum, meang)
5688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5689 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_CK1
5690#endif
5691 use pm_kind, only: TKG => CK1
5692 real(TKG) , intent(out) :: weisum
5693 complex(TKG) , intent(out) , contiguous :: mean(:)
5694 real(TKG) , intent(in) , contiguous :: weight(:)
5695 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
5696 complex(TKG) , intent(out) , contiguous :: cov(:,:)
5697 complex(TKG) , intent(in) , contiguous :: meang(:)
5698 end subroutine
5699#endif
5700
5701 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5702
5703#if RK5_ENABLED
5704 PURE module subroutine setCovMeanWTR_XY_RK5(cov, mean, x, y, weight, weisum, meang)
5705#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5706 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_RK5
5707#endif
5708 use pm_kind, only: TKG => RK5
5709 real(TKG) , intent(out) :: weisum
5710 real(TKG) , intent(out) , contiguous :: mean(:)
5711 real(TKG) , intent(in) , contiguous :: weight(:)
5712 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5713 real(TKG) , intent(out) , contiguous :: cov(:,:)
5714 real(TKG) , intent(in) , contiguous :: meang(:)
5715 end subroutine
5716#endif
5717
5718#if RK4_ENABLED
5719 PURE module subroutine setCovMeanWTR_XY_RK4(cov, mean, x, y, weight, weisum, meang)
5720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5721 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_RK4
5722#endif
5723 use pm_kind, only: TKG => RK4
5724 real(TKG) , intent(out) :: weisum
5725 real(TKG) , intent(out) , contiguous :: mean(:)
5726 real(TKG) , intent(in) , contiguous :: weight(:)
5727 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5728 real(TKG) , intent(out) , contiguous :: cov(:,:)
5729 real(TKG) , intent(in) , contiguous :: meang(:)
5730 end subroutine
5731#endif
5732
5733#if RK3_ENABLED
5734 PURE module subroutine setCovMeanWTR_XY_RK3(cov, mean, x, y, weight, weisum, meang)
5735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5736 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_RK3
5737#endif
5738 use pm_kind, only: TKG => RK3
5739 real(TKG) , intent(out) :: weisum
5740 real(TKG) , intent(out) , contiguous :: mean(:)
5741 real(TKG) , intent(in) , contiguous :: weight(:)
5742 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5743 real(TKG) , intent(out) , contiguous :: cov(:,:)
5744 real(TKG) , intent(in) , contiguous :: meang(:)
5745 end subroutine
5746#endif
5747
5748#if RK2_ENABLED
5749 PURE module subroutine setCovMeanWTR_XY_RK2(cov, mean, x, y, weight, weisum, meang)
5750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5751 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_RK2
5752#endif
5753 use pm_kind, only: TKG => RK2
5754 real(TKG) , intent(out) :: weisum
5755 real(TKG) , intent(out) , contiguous :: mean(:)
5756 real(TKG) , intent(in) , contiguous :: weight(:)
5757 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5758 real(TKG) , intent(out) , contiguous :: cov(:,:)
5759 real(TKG) , intent(in) , contiguous :: meang(:)
5760 end subroutine
5761#endif
5762
5763#if RK1_ENABLED
5764 PURE module subroutine setCovMeanWTR_XY_RK1(cov, mean, x, y, weight, weisum, meang)
5765#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5766 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XY_RK1
5767#endif
5768 use pm_kind, only: TKG => RK1
5769 real(TKG) , intent(out) :: weisum
5770 real(TKG) , intent(out) , contiguous :: mean(:)
5771 real(TKG) , intent(in) , contiguous :: weight(:)
5772 real(TKG) , intent(in) , contiguous :: x(:), y(:)
5773 real(TKG) , intent(out) , contiguous :: cov(:,:)
5774 real(TKG) , intent(in) , contiguous :: meang(:)
5775 end subroutine
5776#endif
5777
5778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5779
5780 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5781 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5782 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5783
5784 end interface setCovMean
5785
5786 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5787
5788 ! UXD - no weight.
5789
5790 interface setCovMean
5791
5792 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5793 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5794 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5795
5796 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5797
5798#if CK5_ENABLED
5799 PURE module subroutine setCovMeanWNO_UXD_CK5(cov, subset, mean, sample, dim, meang)
5800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5801 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_CK5
5802#endif
5803 use pm_kind, only: TKG => CK5
5804 integer(IK) , intent(in) :: dim
5805 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5806 complex(TKG) , intent(out) , contiguous :: mean(:)
5807 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5808 complex(TKG) , intent(in) , contiguous :: meang(:)
5809 type(uppDia_type) , intent(in) :: subset
5810 end subroutine
5811#endif
5812
5813#if CK4_ENABLED
5814 PURE module subroutine setCovMeanWNO_UXD_CK4(cov, subset, mean, sample, dim, meang)
5815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5816 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_CK4
5817#endif
5818 use pm_kind, only: TKG => CK4
5819 integer(IK) , intent(in) :: dim
5820 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5821 complex(TKG) , intent(out) , contiguous :: mean(:)
5822 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5823 complex(TKG) , intent(in) , contiguous :: meang(:)
5824 type(uppDia_type) , intent(in) :: subset
5825 end subroutine
5826#endif
5827
5828#if CK3_ENABLED
5829 PURE module subroutine setCovMeanWNO_UXD_CK3(cov, subset, mean, sample, dim, meang)
5830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5831 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_CK3
5832#endif
5833 use pm_kind, only: TKG => CK3
5834 integer(IK) , intent(in) :: dim
5835 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5836 complex(TKG) , intent(out) , contiguous :: mean(:)
5837 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5838 complex(TKG) , intent(in) , contiguous :: meang(:)
5839 type(uppDia_type) , intent(in) :: subset
5840 end subroutine
5841#endif
5842
5843#if CK2_ENABLED
5844 PURE module subroutine setCovMeanWNO_UXD_CK2(cov, subset, mean, sample, dim, meang)
5845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5846 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_CK2
5847#endif
5848 use pm_kind, only: TKG => CK2
5849 integer(IK) , intent(in) :: dim
5850 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5851 complex(TKG) , intent(out) , contiguous :: mean(:)
5852 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5853 complex(TKG) , intent(in) , contiguous :: meang(:)
5854 type(uppDia_type) , intent(in) :: subset
5855 end subroutine
5856#endif
5857
5858#if CK1_ENABLED
5859 PURE module subroutine setCovMeanWNO_UXD_CK1(cov, subset, mean, sample, dim, meang)
5860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5861 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_CK1
5862#endif
5863 use pm_kind, only: TKG => CK1
5864 integer(IK) , intent(in) :: dim
5865 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5866 complex(TKG) , intent(out) , contiguous :: mean(:)
5867 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5868 complex(TKG) , intent(in) , contiguous :: meang(:)
5869 type(uppDia_type) , intent(in) :: subset
5870 end subroutine
5871#endif
5872
5873 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5874
5875#if RK5_ENABLED
5876 PURE module subroutine setCovMeanWNO_UXD_RK5(cov, subset, mean, sample, dim, meang)
5877#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5878 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_RK5
5879#endif
5880 use pm_kind, only: TKG => RK5
5881 integer(IK) , intent(in) :: dim
5882 real(TKG) , intent(in) , contiguous :: sample(:,:)
5883 real(TKG) , intent(out) , contiguous :: mean(:)
5884 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5885 real(TKG) , intent(in) , contiguous :: meang(:)
5886 type(uppDia_type) , intent(in) :: subset
5887 end subroutine
5888#endif
5889
5890#if RK4_ENABLED
5891 PURE module subroutine setCovMeanWNO_UXD_RK4(cov, subset, mean, sample, dim, meang)
5892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5893 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_RK4
5894#endif
5895 use pm_kind, only: TKG => RK4
5896 integer(IK) , intent(in) :: dim
5897 real(TKG) , intent(in) , contiguous :: sample(:,:)
5898 real(TKG) , intent(out) , contiguous :: mean(:)
5899 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5900 real(TKG) , intent(in) , contiguous :: meang(:)
5901 type(uppDia_type) , intent(in) :: subset
5902 end subroutine
5903#endif
5904
5905#if RK3_ENABLED
5906 PURE module subroutine setCovMeanWNO_UXD_RK3(cov, subset, mean, sample, dim, meang)
5907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5908 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_RK3
5909#endif
5910 use pm_kind, only: TKG => RK3
5911 integer(IK) , intent(in) :: dim
5912 real(TKG) , intent(in) , contiguous :: sample(:,:)
5913 real(TKG) , intent(out) , contiguous :: mean(:)
5914 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5915 real(TKG) , intent(in) , contiguous :: meang(:)
5916 type(uppDia_type) , intent(in) :: subset
5917 end subroutine
5918#endif
5919
5920#if RK2_ENABLED
5921 PURE module subroutine setCovMeanWNO_UXD_RK2(cov, subset, mean, sample, dim, meang)
5922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5923 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_RK2
5924#endif
5925 use pm_kind, only: TKG => RK2
5926 integer(IK) , intent(in) :: dim
5927 real(TKG) , intent(in) , contiguous :: sample(:,:)
5928 real(TKG) , intent(out) , contiguous :: mean(:)
5929 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5930 real(TKG) , intent(in) , contiguous :: meang(:)
5931 type(uppDia_type) , intent(in) :: subset
5932 end subroutine
5933#endif
5934
5935#if RK1_ENABLED
5936 PURE module subroutine setCovMeanWNO_UXD_RK1(cov, subset, mean, sample, dim, meang)
5937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5938 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_UXD_RK1
5939#endif
5940 use pm_kind, only: TKG => RK1
5941 integer(IK) , intent(in) :: dim
5942 real(TKG) , intent(in) , contiguous :: sample(:,:)
5943 real(TKG) , intent(out) , contiguous :: mean(:)
5944 real(TKG) , intent(inout) , contiguous :: cov(:,:)
5945 real(TKG) , intent(in) , contiguous :: meang(:)
5946 type(uppDia_type) , intent(in) :: subset
5947 end subroutine
5948#endif
5949
5950 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5951
5952 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5953 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5955
5956 end interface setCovMean
5957
5958 ! UXD - integer weight.
5959
5960 interface setCovMean
5961
5962 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5963 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5964 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5965
5966 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5967
5968#if CK5_ENABLED
5969 PURE module subroutine setCovMeanWTI_UXD_CK5(cov, subset, mean, sample, dim, weight, weisum, meang)
5970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5971 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_CK5
5972#endif
5973 use pm_kind, only: TKG => CK5
5974 integer(IK) , intent(in) :: dim
5975 integer(IK) , intent(out) :: weisum
5976 complex(TKG) , intent(out) , contiguous :: mean(:)
5977 integer(IK) , intent(in) , contiguous :: weight(:)
5978 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5979 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5980 complex(TKG) , intent(in) , contiguous :: meang(:)
5981 type(uppDia_type) , intent(in) :: subset
5982 end subroutine
5983#endif
5984
5985#if CK4_ENABLED
5986 PURE module subroutine setCovMeanWTI_UXD_CK4(cov, subset, mean, sample, dim, weight, weisum, meang)
5987#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5988 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_CK4
5989#endif
5990 use pm_kind, only: TKG => CK4
5991 integer(IK) , intent(in) :: dim
5992 integer(IK) , intent(out) :: weisum
5993 complex(TKG) , intent(out) , contiguous :: mean(:)
5994 integer(IK) , intent(in) , contiguous :: weight(:)
5995 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5996 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
5997 complex(TKG) , intent(in) , contiguous :: meang(:)
5998 type(uppDia_type) , intent(in) :: subset
5999 end subroutine
6000#endif
6001
6002#if CK3_ENABLED
6003 PURE module subroutine setCovMeanWTI_UXD_CK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6004#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6005 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_CK3
6006#endif
6007 use pm_kind, only: TKG => CK3
6008 integer(IK) , intent(in) :: dim
6009 integer(IK) , intent(out) :: weisum
6010 complex(TKG) , intent(out) , contiguous :: mean(:)
6011 integer(IK) , intent(in) , contiguous :: weight(:)
6012 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6013 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6014 complex(TKG) , intent(in) , contiguous :: meang(:)
6015 type(uppDia_type) , intent(in) :: subset
6016 end subroutine
6017#endif
6018
6019#if CK2_ENABLED
6020 PURE module subroutine setCovMeanWTI_UXD_CK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6022 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_CK2
6023#endif
6024 use pm_kind, only: TKG => CK2
6025 integer(IK) , intent(in) :: dim
6026 integer(IK) , intent(out) :: weisum
6027 complex(TKG) , intent(out) , contiguous :: mean(:)
6028 integer(IK) , intent(in) , contiguous :: weight(:)
6029 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6030 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6031 complex(TKG) , intent(in) , contiguous :: meang(:)
6032 type(uppDia_type) , intent(in) :: subset
6033 end subroutine
6034#endif
6035
6036#if CK1_ENABLED
6037 PURE module subroutine setCovMeanWTI_UXD_CK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6039 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_CK1
6040#endif
6041 use pm_kind, only: TKG => CK1
6042 integer(IK) , intent(in) :: dim
6043 integer(IK) , intent(out) :: weisum
6044 complex(TKG) , intent(out) , contiguous :: mean(:)
6045 integer(IK) , intent(in) , contiguous :: weight(:)
6046 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6047 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6048 complex(TKG) , intent(in) , contiguous :: meang(:)
6049 type(uppDia_type) , intent(in) :: subset
6050 end subroutine
6051#endif
6052
6053 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6054
6055#if RK5_ENABLED
6056 PURE module subroutine setCovMeanWTI_UXD_RK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6057#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6058 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_RK5
6059#endif
6060 use pm_kind, only: TKG => RK5
6061 integer(IK) , intent(in) :: dim
6062 integer(IK) , intent(out) :: weisum
6063 real(TKG) , intent(out) , contiguous :: mean(:)
6064 integer(IK) , intent(in) , contiguous :: weight(:)
6065 real(TKG) , intent(in) , contiguous :: sample(:,:)
6066 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6067 real(TKG) , intent(in) , contiguous :: meang(:)
6068 type(uppDia_type) , intent(in) :: subset
6069 end subroutine
6070#endif
6071
6072#if RK4_ENABLED
6073 PURE module subroutine setCovMeanWTI_UXD_RK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6075 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_RK4
6076#endif
6077 use pm_kind, only: TKG => RK4
6078 integer(IK) , intent(in) :: dim
6079 integer(IK) , intent(out) :: weisum
6080 real(TKG) , intent(out) , contiguous :: mean(:)
6081 integer(IK) , intent(in) , contiguous :: weight(:)
6082 real(TKG) , intent(in) , contiguous :: sample(:,:)
6083 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6084 real(TKG) , intent(in) , contiguous :: meang(:)
6085 type(uppDia_type) , intent(in) :: subset
6086 end subroutine
6087#endif
6088
6089#if RK3_ENABLED
6090 PURE module subroutine setCovMeanWTI_UXD_RK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6092 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_RK3
6093#endif
6094 use pm_kind, only: TKG => RK3
6095 integer(IK) , intent(in) :: dim
6096 integer(IK) , intent(out) :: weisum
6097 real(TKG) , intent(out) , contiguous :: mean(:)
6098 integer(IK) , intent(in) , contiguous :: weight(:)
6099 real(TKG) , intent(in) , contiguous :: sample(:,:)
6100 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6101 real(TKG) , intent(in) , contiguous :: meang(:)
6102 type(uppDia_type) , intent(in) :: subset
6103 end subroutine
6104#endif
6105
6106#if RK2_ENABLED
6107 PURE module subroutine setCovMeanWTI_UXD_RK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6109 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_RK2
6110#endif
6111 use pm_kind, only: TKG => RK2
6112 integer(IK) , intent(in) :: dim
6113 integer(IK) , intent(out) :: weisum
6114 real(TKG) , intent(out) , contiguous :: mean(:)
6115 integer(IK) , intent(in) , contiguous :: weight(:)
6116 real(TKG) , intent(in) , contiguous :: sample(:,:)
6117 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6118 real(TKG) , intent(in) , contiguous :: meang(:)
6119 type(uppDia_type) , intent(in) :: subset
6120 end subroutine
6121#endif
6122
6123#if RK1_ENABLED
6124 PURE module subroutine setCovMeanWTI_UXD_RK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6125#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6126 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_UXD_RK1
6127#endif
6128 use pm_kind, only: TKG => RK1
6129 integer(IK) , intent(in) :: dim
6130 integer(IK) , intent(out) :: weisum
6131 real(TKG) , intent(out) , contiguous :: mean(:)
6132 integer(IK) , intent(in) , contiguous :: weight(:)
6133 real(TKG) , intent(in) , contiguous :: sample(:,:)
6134 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6135 real(TKG) , intent(in) , contiguous :: meang(:)
6136 type(uppDia_type) , intent(in) :: subset
6137 end subroutine
6138#endif
6139
6140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6141
6142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6143 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6145
6146 end interface setCovMean
6147
6148 ! UXD - real weight.
6149
6150 interface setCovMean
6151
6152 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6154 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6155
6156 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6157
6158#if CK5_ENABLED
6159 PURE module subroutine setCovMeanWTR_UXD_CK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6161 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_CK5
6162#endif
6163 use pm_kind, only: TKG => CK5
6164 integer(IK) , intent(in) :: dim
6165 real(TKG) , intent(out) :: weisum
6166 complex(TKG) , intent(out) , contiguous :: mean(:)
6167 real(TKG) , intent(in) , contiguous :: weight(:)
6168 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6169 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6170 complex(TKG) , intent(in) , contiguous :: meang(:)
6171 type(uppDia_type) , intent(in) :: subset
6172 end subroutine
6173#endif
6174
6175#if CK4_ENABLED
6176 PURE module subroutine setCovMeanWTR_UXD_CK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6178 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_CK4
6179#endif
6180 use pm_kind, only: TKG => CK4
6181 integer(IK) , intent(in) :: dim
6182 real(TKG) , intent(out) :: weisum
6183 complex(TKG) , intent(out) , contiguous :: mean(:)
6184 real(TKG) , intent(in) , contiguous :: weight(:)
6185 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6186 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6187 complex(TKG) , intent(in) , contiguous :: meang(:)
6188 type(uppDia_type) , intent(in) :: subset
6189 end subroutine
6190#endif
6191
6192#if CK3_ENABLED
6193 PURE module subroutine setCovMeanWTR_UXD_CK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6195 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_CK3
6196#endif
6197 use pm_kind, only: TKG => CK3
6198 integer(IK) , intent(in) :: dim
6199 real(TKG) , intent(out) :: weisum
6200 complex(TKG) , intent(out) , contiguous :: mean(:)
6201 real(TKG) , intent(in) , contiguous :: weight(:)
6202 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6203 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6204 complex(TKG) , intent(in) , contiguous :: meang(:)
6205 type(uppDia_type) , intent(in) :: subset
6206 end subroutine
6207#endif
6208
6209#if CK2_ENABLED
6210 PURE module subroutine setCovMeanWTR_UXD_CK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6212 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_CK2
6213#endif
6214 use pm_kind, only: TKG => CK2
6215 integer(IK) , intent(in) :: dim
6216 real(TKG) , intent(out) :: weisum
6217 complex(TKG) , intent(out) , contiguous :: mean(:)
6218 real(TKG) , intent(in) , contiguous :: weight(:)
6219 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6220 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6221 complex(TKG) , intent(in) , contiguous :: meang(:)
6222 type(uppDia_type) , intent(in) :: subset
6223 end subroutine
6224#endif
6225
6226#if CK1_ENABLED
6227 PURE module subroutine setCovMeanWTR_UXD_CK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6229 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_CK1
6230#endif
6231 use pm_kind, only: TKG => CK1
6232 integer(IK) , intent(in) :: dim
6233 real(TKG) , intent(out) :: weisum
6234 complex(TKG) , intent(out) , contiguous :: mean(:)
6235 real(TKG) , intent(in) , contiguous :: weight(:)
6236 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6237 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6238 complex(TKG) , intent(in) , contiguous :: meang(:)
6239 type(uppDia_type) , intent(in) :: subset
6240 end subroutine
6241#endif
6242
6243 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6244
6245#if RK5_ENABLED
6246 PURE module subroutine setCovMeanWTR_UXD_RK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6247#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6248 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_RK5
6249#endif
6250 use pm_kind, only: TKG => RK5
6251 integer(IK) , intent(in) :: dim
6252 real(TKG) , intent(out) :: weisum
6253 real(TKG) , intent(out) , contiguous :: mean(:)
6254 real(TKG) , intent(in) , contiguous :: weight(:)
6255 real(TKG) , intent(in) , contiguous :: sample(:,:)
6256 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6257 real(TKG) , intent(in) , contiguous :: meang(:)
6258 type(uppDia_type) , intent(in) :: subset
6259 end subroutine
6260#endif
6261
6262#if RK4_ENABLED
6263 PURE module subroutine setCovMeanWTR_UXD_RK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6265 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_RK4
6266#endif
6267 use pm_kind, only: TKG => RK4
6268 integer(IK) , intent(in) :: dim
6269 real(TKG) , intent(out) :: weisum
6270 real(TKG) , intent(out) , contiguous :: mean(:)
6271 real(TKG) , intent(in) , contiguous :: weight(:)
6272 real(TKG) , intent(in) , contiguous :: sample(:,:)
6273 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6274 real(TKG) , intent(in) , contiguous :: meang(:)
6275 type(uppDia_type) , intent(in) :: subset
6276 end subroutine
6277#endif
6278
6279#if RK3_ENABLED
6280 PURE module subroutine setCovMeanWTR_UXD_RK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6281#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6282 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_RK3
6283#endif
6284 use pm_kind, only: TKG => RK3
6285 integer(IK) , intent(in) :: dim
6286 real(TKG) , intent(out) :: weisum
6287 real(TKG) , intent(out) , contiguous :: mean(:)
6288 real(TKG) , intent(in) , contiguous :: weight(:)
6289 real(TKG) , intent(in) , contiguous :: sample(:,:)
6290 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6291 real(TKG) , intent(in) , contiguous :: meang(:)
6292 type(uppDia_type) , intent(in) :: subset
6293 end subroutine
6294#endif
6295
6296#if RK2_ENABLED
6297 PURE module subroutine setCovMeanWTR_UXD_RK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6299 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_RK2
6300#endif
6301 use pm_kind, only: TKG => RK2
6302 integer(IK) , intent(in) :: dim
6303 real(TKG) , intent(out) :: weisum
6304 real(TKG) , intent(out) , contiguous :: mean(:)
6305 real(TKG) , intent(in) , contiguous :: weight(:)
6306 real(TKG) , intent(in) , contiguous :: sample(:,:)
6307 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6308 real(TKG) , intent(in) , contiguous :: meang(:)
6309 type(uppDia_type) , intent(in) :: subset
6310 end subroutine
6311#endif
6312
6313#if RK1_ENABLED
6314 PURE module subroutine setCovMeanWTR_UXD_RK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6316 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_UXD_RK1
6317#endif
6318 use pm_kind, only: TKG => RK1
6319 integer(IK) , intent(in) :: dim
6320 real(TKG) , intent(out) :: weisum
6321 real(TKG) , intent(out) , contiguous :: mean(:)
6322 real(TKG) , intent(in) , contiguous :: weight(:)
6323 real(TKG) , intent(in) , contiguous :: sample(:,:)
6324 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6325 real(TKG) , intent(in) , contiguous :: meang(:)
6326 type(uppDia_type) , intent(in) :: subset
6327 end subroutine
6328#endif
6329
6330 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6331
6332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6334 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6335
6336 end interface setCovMean
6337
6338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6339
6340 ! XLD - no weight.
6341
6342 interface setCovMean
6343
6344 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6345 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6347
6348 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6349
6350#if CK5_ENABLED
6351 PURE module subroutine setCovMeanWNO_XLD_CK5(cov, subset, mean, sample, dim, meang)
6352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6353 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_CK5
6354#endif
6355 use pm_kind, only: TKG => CK5
6356 integer(IK) , intent(in) :: dim
6357 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6358 complex(TKG) , intent(out) , contiguous :: mean(:)
6359 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6360 complex(TKG) , intent(in) , contiguous :: meang(:)
6361 type(lowDia_type) , intent(in) :: subset
6362 end subroutine
6363#endif
6364
6365#if CK4_ENABLED
6366 PURE module subroutine setCovMeanWNO_XLD_CK4(cov, subset, mean, sample, dim, meang)
6367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6368 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_CK4
6369#endif
6370 use pm_kind, only: TKG => CK4
6371 integer(IK) , intent(in) :: dim
6372 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6373 complex(TKG) , intent(out) , contiguous :: mean(:)
6374 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6375 complex(TKG) , intent(in) , contiguous :: meang(:)
6376 type(lowDia_type) , intent(in) :: subset
6377 end subroutine
6378#endif
6379
6380#if CK3_ENABLED
6381 PURE module subroutine setCovMeanWNO_XLD_CK3(cov, subset, mean, sample, dim, meang)
6382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6383 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_CK3
6384#endif
6385 use pm_kind, only: TKG => CK3
6386 integer(IK) , intent(in) :: dim
6387 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6388 complex(TKG) , intent(out) , contiguous :: mean(:)
6389 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6390 complex(TKG) , intent(in) , contiguous :: meang(:)
6391 type(lowDia_type) , intent(in) :: subset
6392 end subroutine
6393#endif
6394
6395#if CK2_ENABLED
6396 PURE module subroutine setCovMeanWNO_XLD_CK2(cov, subset, mean, sample, dim, meang)
6397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6398 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_CK2
6399#endif
6400 use pm_kind, only: TKG => CK2
6401 integer(IK) , intent(in) :: dim
6402 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6403 complex(TKG) , intent(out) , contiguous :: mean(:)
6404 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6405 complex(TKG) , intent(in) , contiguous :: meang(:)
6406 type(lowDia_type) , intent(in) :: subset
6407 end subroutine
6408#endif
6409
6410#if CK1_ENABLED
6411 PURE module subroutine setCovMeanWNO_XLD_CK1(cov, subset, mean, sample, dim, meang)
6412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6413 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_CK1
6414#endif
6415 use pm_kind, only: TKG => CK1
6416 integer(IK) , intent(in) :: dim
6417 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6418 complex(TKG) , intent(out) , contiguous :: mean(:)
6419 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6420 complex(TKG) , intent(in) , contiguous :: meang(:)
6421 type(lowDia_type) , intent(in) :: subset
6422 end subroutine
6423#endif
6424
6425 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6426
6427#if RK5_ENABLED
6428 PURE module subroutine setCovMeanWNO_XLD_RK5(cov, subset, mean, sample, dim, meang)
6429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6430 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_RK5
6431#endif
6432 use pm_kind, only: TKG => RK5
6433 integer(IK) , intent(in) :: dim
6434 real(TKG) , intent(in) , contiguous :: sample(:,:)
6435 real(TKG) , intent(out) , contiguous :: mean(:)
6436 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6437 real(TKG) , intent(in) , contiguous :: meang(:)
6438 type(lowDia_type) , intent(in) :: subset
6439 end subroutine
6440#endif
6441
6442#if RK4_ENABLED
6443 PURE module subroutine setCovMeanWNO_XLD_RK4(cov, subset, mean, sample, dim, meang)
6444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6445 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_RK4
6446#endif
6447 use pm_kind, only: TKG => RK4
6448 integer(IK) , intent(in) :: dim
6449 real(TKG) , intent(in) , contiguous :: sample(:,:)
6450 real(TKG) , intent(out) , contiguous :: mean(:)
6451 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6452 real(TKG) , intent(in) , contiguous :: meang(:)
6453 type(lowDia_type) , intent(in) :: subset
6454 end subroutine
6455#endif
6456
6457#if RK3_ENABLED
6458 PURE module subroutine setCovMeanWNO_XLD_RK3(cov, subset, mean, sample, dim, meang)
6459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6460 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_RK3
6461#endif
6462 use pm_kind, only: TKG => RK3
6463 integer(IK) , intent(in) :: dim
6464 real(TKG) , intent(in) , contiguous :: sample(:,:)
6465 real(TKG) , intent(out) , contiguous :: mean(:)
6466 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6467 real(TKG) , intent(in) , contiguous :: meang(:)
6468 type(lowDia_type) , intent(in) :: subset
6469 end subroutine
6470#endif
6471
6472#if RK2_ENABLED
6473 PURE module subroutine setCovMeanWNO_XLD_RK2(cov, subset, mean, sample, dim, meang)
6474#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6475 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_RK2
6476#endif
6477 use pm_kind, only: TKG => RK2
6478 integer(IK) , intent(in) :: dim
6479 real(TKG) , intent(in) , contiguous :: sample(:,:)
6480 real(TKG) , intent(out) , contiguous :: mean(:)
6481 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6482 real(TKG) , intent(in) , contiguous :: meang(:)
6483 type(lowDia_type) , intent(in) :: subset
6484 end subroutine
6485#endif
6486
6487#if RK1_ENABLED
6488 PURE module subroutine setCovMeanWNO_XLD_RK1(cov, subset, mean, sample, dim, meang)
6489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6490 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWNO_XLD_RK1
6491#endif
6492 use pm_kind, only: TKG => RK1
6493 integer(IK) , intent(in) :: dim
6494 real(TKG) , intent(in) , contiguous :: sample(:,:)
6495 real(TKG) , intent(out) , contiguous :: mean(:)
6496 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6497 real(TKG) , intent(in) , contiguous :: meang(:)
6498 type(lowDia_type) , intent(in) :: subset
6499 end subroutine
6500#endif
6501
6502 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6503
6504 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6505 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6506 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6507
6508 end interface setCovMean
6509
6510 ! XLD - integer weight.
6511
6512 interface setCovMean
6513
6514 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6515 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6516 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6517
6518 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6519
6520#if CK5_ENABLED
6521 PURE module subroutine setCovMeanWTI_XLD_CK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6522#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6523 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_CK5
6524#endif
6525 use pm_kind, only: TKG => CK5
6526 integer(IK) , intent(in) :: dim
6527 integer(IK) , intent(out) :: weisum
6528 complex(TKG) , intent(out) , contiguous :: mean(:)
6529 integer(IK) , intent(in) , contiguous :: weight(:)
6530 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6531 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6532 complex(TKG) , intent(in) , contiguous :: meang(:)
6533 type(lowDia_type) , intent(in) :: subset
6534 end subroutine
6535#endif
6536
6537#if CK4_ENABLED
6538 PURE module subroutine setCovMeanWTI_XLD_CK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6540 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_CK4
6541#endif
6542 use pm_kind, only: TKG => CK4
6543 integer(IK) , intent(in) :: dim
6544 integer(IK) , intent(out) :: weisum
6545 complex(TKG) , intent(out) , contiguous :: mean(:)
6546 integer(IK) , intent(in) , contiguous :: weight(:)
6547 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6548 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6549 complex(TKG) , intent(in) , contiguous :: meang(:)
6550 type(lowDia_type) , intent(in) :: subset
6551 end subroutine
6552#endif
6553
6554#if CK3_ENABLED
6555 PURE module subroutine setCovMeanWTI_XLD_CK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6557 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_CK3
6558#endif
6559 use pm_kind, only: TKG => CK3
6560 integer(IK) , intent(in) :: dim
6561 integer(IK) , intent(out) :: weisum
6562 complex(TKG) , intent(out) , contiguous :: mean(:)
6563 integer(IK) , intent(in) , contiguous :: weight(:)
6564 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6565 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6566 complex(TKG) , intent(in) , contiguous :: meang(:)
6567 type(lowDia_type) , intent(in) :: subset
6568 end subroutine
6569#endif
6570
6571#if CK2_ENABLED
6572 PURE module subroutine setCovMeanWTI_XLD_CK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6574 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_CK2
6575#endif
6576 use pm_kind, only: TKG => CK2
6577 integer(IK) , intent(in) :: dim
6578 integer(IK) , intent(out) :: weisum
6579 complex(TKG) , intent(out) , contiguous :: mean(:)
6580 integer(IK) , intent(in) , contiguous :: weight(:)
6581 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6582 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6583 complex(TKG) , intent(in) , contiguous :: meang(:)
6584 type(lowDia_type) , intent(in) :: subset
6585 end subroutine
6586#endif
6587
6588#if CK1_ENABLED
6589 PURE module subroutine setCovMeanWTI_XLD_CK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6591 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_CK1
6592#endif
6593 use pm_kind, only: TKG => CK1
6594 integer(IK) , intent(in) :: dim
6595 integer(IK) , intent(out) :: weisum
6596 complex(TKG) , intent(out) , contiguous :: mean(:)
6597 integer(IK) , intent(in) , contiguous :: weight(:)
6598 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6599 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6600 complex(TKG) , intent(in) , contiguous :: meang(:)
6601 type(lowDia_type) , intent(in) :: subset
6602 end subroutine
6603#endif
6604
6605 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6606
6607#if RK5_ENABLED
6608 PURE module subroutine setCovMeanWTI_XLD_RK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6610 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_RK5
6611#endif
6612 use pm_kind, only: TKG => RK5
6613 integer(IK) , intent(in) :: dim
6614 integer(IK) , intent(out) :: weisum
6615 real(TKG) , intent(out) , contiguous :: mean(:)
6616 integer(IK) , intent(in) , contiguous :: weight(:)
6617 real(TKG) , intent(in) , contiguous :: sample(:,:)
6618 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6619 real(TKG) , intent(in) , contiguous :: meang(:)
6620 type(lowDia_type) , intent(in) :: subset
6621 end subroutine
6622#endif
6623
6624#if RK4_ENABLED
6625 PURE module subroutine setCovMeanWTI_XLD_RK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6627 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_RK4
6628#endif
6629 use pm_kind, only: TKG => RK4
6630 integer(IK) , intent(in) :: dim
6631 integer(IK) , intent(out) :: weisum
6632 real(TKG) , intent(out) , contiguous :: mean(:)
6633 integer(IK) , intent(in) , contiguous :: weight(:)
6634 real(TKG) , intent(in) , contiguous :: sample(:,:)
6635 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6636 real(TKG) , intent(in) , contiguous :: meang(:)
6637 type(lowDia_type) , intent(in) :: subset
6638 end subroutine
6639#endif
6640
6641#if RK3_ENABLED
6642 PURE module subroutine setCovMeanWTI_XLD_RK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6644 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_RK3
6645#endif
6646 use pm_kind, only: TKG => RK3
6647 integer(IK) , intent(in) :: dim
6648 integer(IK) , intent(out) :: weisum
6649 real(TKG) , intent(out) , contiguous :: mean(:)
6650 integer(IK) , intent(in) , contiguous :: weight(:)
6651 real(TKG) , intent(in) , contiguous :: sample(:,:)
6652 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6653 real(TKG) , intent(in) , contiguous :: meang(:)
6654 type(lowDia_type) , intent(in) :: subset
6655 end subroutine
6656#endif
6657
6658#if RK2_ENABLED
6659 PURE module subroutine setCovMeanWTI_XLD_RK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6661 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_RK2
6662#endif
6663 use pm_kind, only: TKG => RK2
6664 integer(IK) , intent(in) :: dim
6665 integer(IK) , intent(out) :: weisum
6666 real(TKG) , intent(out) , contiguous :: mean(:)
6667 integer(IK) , intent(in) , contiguous :: weight(:)
6668 real(TKG) , intent(in) , contiguous :: sample(:,:)
6669 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6670 real(TKG) , intent(in) , contiguous :: meang(:)
6671 type(lowDia_type) , intent(in) :: subset
6672 end subroutine
6673#endif
6674
6675#if RK1_ENABLED
6676 PURE module subroutine setCovMeanWTI_XLD_RK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6678 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTI_XLD_RK1
6679#endif
6680 use pm_kind, only: TKG => RK1
6681 integer(IK) , intent(in) :: dim
6682 integer(IK) , intent(out) :: weisum
6683 real(TKG) , intent(out) , contiguous :: mean(:)
6684 integer(IK) , intent(in) , contiguous :: weight(:)
6685 real(TKG) , intent(in) , contiguous :: sample(:,:)
6686 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6687 real(TKG) , intent(in) , contiguous :: meang(:)
6688 type(lowDia_type) , intent(in) :: subset
6689 end subroutine
6690#endif
6691
6692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6693
6694 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6695 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6697
6698 end interface setCovMean
6699
6700 ! XLD - real weight.
6701
6702 interface setCovMean
6703
6704 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6705 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6706 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6707
6708 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6709
6710#if CK5_ENABLED
6711 PURE module subroutine setCovMeanWTR_XLD_CK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6713 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_CK5
6714#endif
6715 use pm_kind, only: TKG => CK5
6716 integer(IK) , intent(in) :: dim
6717 real(TKG) , intent(out) :: weisum
6718 complex(TKG) , intent(out) , contiguous :: mean(:)
6719 real(TKG) , intent(in) , contiguous :: weight(:)
6720 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6721 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6722 complex(TKG) , intent(in) , contiguous :: meang(:)
6723 type(lowDia_type) , intent(in) :: subset
6724 end subroutine
6725#endif
6726
6727#if CK4_ENABLED
6728 PURE module subroutine setCovMeanWTR_XLD_CK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6729#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6730 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_CK4
6731#endif
6732 use pm_kind, only: TKG => CK4
6733 integer(IK) , intent(in) :: dim
6734 real(TKG) , intent(out) :: weisum
6735 complex(TKG) , intent(out) , contiguous :: mean(:)
6736 real(TKG) , intent(in) , contiguous :: weight(:)
6737 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6738 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6739 complex(TKG) , intent(in) , contiguous :: meang(:)
6740 type(lowDia_type) , intent(in) :: subset
6741 end subroutine
6742#endif
6743
6744#if CK3_ENABLED
6745 PURE module subroutine setCovMeanWTR_XLD_CK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6747 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_CK3
6748#endif
6749 use pm_kind, only: TKG => CK3
6750 integer(IK) , intent(in) :: dim
6751 real(TKG) , intent(out) :: weisum
6752 complex(TKG) , intent(out) , contiguous :: mean(:)
6753 real(TKG) , intent(in) , contiguous :: weight(:)
6754 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6755 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6756 complex(TKG) , intent(in) , contiguous :: meang(:)
6757 type(lowDia_type) , intent(in) :: subset
6758 end subroutine
6759#endif
6760
6761#if CK2_ENABLED
6762 PURE module subroutine setCovMeanWTR_XLD_CK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6764 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_CK2
6765#endif
6766 use pm_kind, only: TKG => CK2
6767 integer(IK) , intent(in) :: dim
6768 real(TKG) , intent(out) :: weisum
6769 complex(TKG) , intent(out) , contiguous :: mean(:)
6770 real(TKG) , intent(in) , contiguous :: weight(:)
6771 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6772 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6773 complex(TKG) , intent(in) , contiguous :: meang(:)
6774 type(lowDia_type) , intent(in) :: subset
6775 end subroutine
6776#endif
6777
6778#if CK1_ENABLED
6779 PURE module subroutine setCovMeanWTR_XLD_CK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6780#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6781 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_CK1
6782#endif
6783 use pm_kind, only: TKG => CK1
6784 integer(IK) , intent(in) :: dim
6785 real(TKG) , intent(out) :: weisum
6786 complex(TKG) , intent(out) , contiguous :: mean(:)
6787 real(TKG) , intent(in) , contiguous :: weight(:)
6788 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6789 complex(TKG) , intent(inout) , contiguous :: cov(:,:)
6790 complex(TKG) , intent(in) , contiguous :: meang(:)
6791 type(lowDia_type) , intent(in) :: subset
6792 end subroutine
6793#endif
6794
6795 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6796
6797#if RK5_ENABLED
6798 PURE module subroutine setCovMeanWTR_XLD_RK5(cov, subset, mean, sample, dim, weight, weisum, meang)
6799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6800 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_RK5
6801#endif
6802 use pm_kind, only: TKG => RK5
6803 integer(IK) , intent(in) :: dim
6804 real(TKG) , intent(out) :: weisum
6805 real(TKG) , intent(out) , contiguous :: mean(:)
6806 real(TKG) , intent(in) , contiguous :: weight(:)
6807 real(TKG) , intent(in) , contiguous :: sample(:,:)
6808 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6809 real(TKG) , intent(in) , contiguous :: meang(:)
6810 type(lowDia_type) , intent(in) :: subset
6811 end subroutine
6812#endif
6813
6814#if RK4_ENABLED
6815 PURE module subroutine setCovMeanWTR_XLD_RK4(cov, subset, mean, sample, dim, weight, weisum, meang)
6816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6817 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_RK4
6818#endif
6819 use pm_kind, only: TKG => RK4
6820 integer(IK) , intent(in) :: dim
6821 real(TKG) , intent(out) :: weisum
6822 real(TKG) , intent(out) , contiguous :: mean(:)
6823 real(TKG) , intent(in) , contiguous :: weight(:)
6824 real(TKG) , intent(in) , contiguous :: sample(:,:)
6825 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6826 real(TKG) , intent(in) , contiguous :: meang(:)
6827 type(lowDia_type) , intent(in) :: subset
6828 end subroutine
6829#endif
6830
6831#if RK3_ENABLED
6832 PURE module subroutine setCovMeanWTR_XLD_RK3(cov, subset, mean, sample, dim, weight, weisum, meang)
6833#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6834 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_RK3
6835#endif
6836 use pm_kind, only: TKG => RK3
6837 integer(IK) , intent(in) :: dim
6838 real(TKG) , intent(out) :: weisum
6839 real(TKG) , intent(out) , contiguous :: mean(:)
6840 real(TKG) , intent(in) , contiguous :: weight(:)
6841 real(TKG) , intent(in) , contiguous :: sample(:,:)
6842 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6843 real(TKG) , intent(in) , contiguous :: meang(:)
6844 type(lowDia_type) , intent(in) :: subset
6845 end subroutine
6846#endif
6847
6848#if RK2_ENABLED
6849 PURE module subroutine setCovMeanWTR_XLD_RK2(cov, subset, mean, sample, dim, weight, weisum, meang)
6850#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6851 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_RK2
6852#endif
6853 use pm_kind, only: TKG => RK2
6854 integer(IK) , intent(in) :: dim
6855 real(TKG) , intent(out) :: weisum
6856 real(TKG) , intent(out) , contiguous :: mean(:)
6857 real(TKG) , intent(in) , contiguous :: weight(:)
6858 real(TKG) , intent(in) , contiguous :: sample(:,:)
6859 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6860 real(TKG) , intent(in) , contiguous :: meang(:)
6861 type(lowDia_type) , intent(in) :: subset
6862 end subroutine
6863#endif
6864
6865#if RK1_ENABLED
6866 PURE module subroutine setCovMeanWTR_XLD_RK1(cov, subset, mean, sample, dim, weight, weisum, meang)
6867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6868 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanWTR_XLD_RK1
6869#endif
6870 use pm_kind, only: TKG => RK1
6871 integer(IK) , intent(in) :: dim
6872 real(TKG) , intent(out) :: weisum
6873 real(TKG) , intent(out) , contiguous :: mean(:)
6874 real(TKG) , intent(in) , contiguous :: weight(:)
6875 real(TKG) , intent(in) , contiguous :: sample(:,:)
6876 real(TKG) , intent(inout) , contiguous :: cov(:,:)
6877 real(TKG) , intent(in) , contiguous :: meang(:)
6878 type(lowDia_type) , intent(in) :: subset
6879 end subroutine
6880#endif
6881
6882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6883
6884 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6885 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6887
6888 end interface setCovMean
6889
6890!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6891
6972
6973 ! RDP_ULD
6974
6976
6977 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6978
6979#if CK5_ENABLED
6980 PURE module function getCovMergedNew_RDP_ULD_CK5(covB, covA, meanDiff, fracA) result(cov)
6981#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6982 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_CK5
6983#endif
6984 use pm_kind, only: TKG => CK5
6985 real(TKG) , intent(in) :: fracA
6986 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
6987 complex(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
6988 end function
6989#endif
6990
6991#if CK4_ENABLED
6992 PURE module function getCovMergedNew_RDP_ULD_CK4(covB, covA, meanDiff, fracA) result(cov)
6993#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6994 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_CK4
6995#endif
6996 use pm_kind, only: TKG => CK4
6997 real(TKG) , intent(in) :: fracA
6998 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
6999 complex(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7000 end function
7001#endif
7002
7003#if CK3_ENABLED
7004 PURE module function getCovMergedNew_RDP_ULD_CK3(covB, covA, meanDiff, fracA) result(cov)
7005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7006 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_CK3
7007#endif
7008 use pm_kind, only: TKG => CK3
7009 real(TKG) , intent(in) :: fracA
7010 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7011 complex(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7012 end function
7013#endif
7014
7015#if CK2_ENABLED
7016 PURE module function getCovMergedNew_RDP_ULD_CK2(covB, covA, meanDiff, fracA) result(cov)
7017#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7018 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_CK2
7019#endif
7020 use pm_kind, only: TKG => CK2
7021 real(TKG) , intent(in) :: fracA
7022 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7023 complex(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7024 end function
7025#endif
7026
7027#if CK1_ENABLED
7028 PURE module function getCovMergedNew_RDP_ULD_CK1(covB, covA, meanDiff, fracA) result(cov)
7029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7030 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_CK1
7031#endif
7032 use pm_kind, only: TKG => CK1
7033 real(TKG) , intent(in) :: fracA
7034 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7035 complex(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7036 end function
7037#endif
7038
7039 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7040
7041#if RK5_ENABLED
7042 PURE module function getCovMergedNew_RDP_ULD_RK5(covB, covA, meanDiff, fracA) result(cov)
7043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7044 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_RK5
7045#endif
7046 use pm_kind, only: TKG => RK5
7047 real(TKG) , intent(in) :: fracA
7048 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7049 real(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7050 end function
7051#endif
7052
7053#if RK4_ENABLED
7054 PURE module function getCovMergedNew_RDP_ULD_RK4(covB, covA, meanDiff, fracA) result(cov)
7055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7056 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_RK4
7057#endif
7058 use pm_kind, only: TKG => RK4
7059 real(TKG) , intent(in) :: fracA
7060 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7061 real(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7062 end function
7063#endif
7064
7065#if RK3_ENABLED
7066 PURE module function getCovMergedNew_RDP_ULD_RK3(covB, covA, meanDiff, fracA) result(cov)
7067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7068 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_RK3
7069#endif
7070 use pm_kind, only: TKG => RK3
7071 real(TKG) , intent(in) :: fracA
7072 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7073 real(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7074 end function
7075#endif
7076
7077#if RK2_ENABLED
7078 PURE module function getCovMergedNew_RDP_ULD_RK2(covB, covA, meanDiff, fracA) result(cov)
7079#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7080 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_RK2
7081#endif
7082 use pm_kind, only: TKG => RK2
7083 real(TKG) , intent(in) :: fracA
7084 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7085 real(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7086 end function
7087#endif
7088
7089#if RK1_ENABLED
7090 PURE module function getCovMergedNew_RDP_ULD_RK1(covB, covA, meanDiff, fracA) result(cov)
7091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7092 !DEC$ ATTRIBUTES DLLEXPORT :: getCovMergedNew_RDP_ULD_RK1
7093#endif
7094 use pm_kind, only: TKG => RK1
7095 real(TKG) , intent(in) :: fracA
7096 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7097 real(TKG) :: cov(size(covA, 1, IK), size(covA, 2, IK))
7098 end function
7099#endif
7100
7101 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7102
7103 end interface
7104
7105!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7106
7194
7195 ! New_RDP_UXD
7196
7198
7199 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7200
7201#if CK5_ENABLED
7202 PURE module subroutine setCovMergedNew_RDP_UXD_CK5(cov, covB, covA, meanDiff, fracA, subset)
7203#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7204 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_CK5
7205#endif
7206 use pm_kind, only: TKG => CK5
7207 real(TKG) , intent(in) :: fracA
7208 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7209 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7210 type(uppDia_type) , intent(in) :: subset
7211 end subroutine
7212#endif
7213
7214#if CK4_ENABLED
7215 PURE module subroutine setCovMergedNew_RDP_UXD_CK4(cov, covB, covA, meanDiff, fracA, subset)
7216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7217 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_CK4
7218#endif
7219 use pm_kind, only: TKG => CK4
7220 real(TKG) , intent(in) :: fracA
7221 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7222 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7223 type(uppDia_type) , intent(in) :: subset
7224 end subroutine
7225#endif
7226
7227#if CK3_ENABLED
7228 PURE module subroutine setCovMergedNew_RDP_UXD_CK3(cov, covB, covA, meanDiff, fracA, subset)
7229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7230 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_CK3
7231#endif
7232 use pm_kind, only: TKG => CK3
7233 real(TKG) , intent(in) :: fracA
7234 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7235 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7236 type(uppDia_type) , intent(in) :: subset
7237 end subroutine
7238#endif
7239
7240#if CK2_ENABLED
7241 PURE module subroutine setCovMergedNew_RDP_UXD_CK2(cov, covB, covA, meanDiff, fracA, subset)
7242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7243 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_CK2
7244#endif
7245 use pm_kind, only: TKG => CK2
7246 real(TKG) , intent(in) :: fracA
7247 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7248 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7249 type(uppDia_type) , intent(in) :: subset
7250 end subroutine
7251#endif
7252
7253#if CK1_ENABLED
7254 PURE module subroutine setCovMergedNew_RDP_UXD_CK1(cov, covB, covA, meanDiff, fracA, subset)
7255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7256 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_CK1
7257#endif
7258 use pm_kind, only: TKG => CK1
7259 real(TKG) , intent(in) :: fracA
7260 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7261 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7262 type(uppDia_type) , intent(in) :: subset
7263 end subroutine
7264#endif
7265
7266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7267
7268#if RK5_ENABLED
7269 PURE module subroutine setCovMergedNew_RDP_UXD_RK5(cov, covB, covA, meanDiff, fracA, subset)
7270#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7271 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_RK5
7272#endif
7273 use pm_kind, only: TKG => RK5
7274 real(TKG) , intent(in) :: fracA
7275 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7276 real(TKG) , intent(out) , contiguous :: cov(:,:)
7277 type(uppDia_type) , intent(in) :: subset
7278 end subroutine
7279#endif
7280
7281#if RK4_ENABLED
7282 PURE module subroutine setCovMergedNew_RDP_UXD_RK4(cov, covB, covA, meanDiff, fracA, subset)
7283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7284 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_RK4
7285#endif
7286 use pm_kind, only: TKG => RK4
7287 real(TKG) , intent(in) :: fracA
7288 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7289 real(TKG) , intent(out) , contiguous :: cov(:,:)
7290 type(uppDia_type) , intent(in) :: subset
7291 end subroutine
7292#endif
7293
7294#if RK3_ENABLED
7295 PURE module subroutine setCovMergedNew_RDP_UXD_RK3(cov, covB, covA, meanDiff, fracA, subset)
7296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7297 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_RK3
7298#endif
7299 use pm_kind, only: TKG => RK3
7300 real(TKG) , intent(in) :: fracA
7301 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7302 real(TKG) , intent(out) , contiguous :: cov(:,:)
7303 type(uppDia_type) , intent(in) :: subset
7304 end subroutine
7305#endif
7306
7307#if RK2_ENABLED
7308 PURE module subroutine setCovMergedNew_RDP_UXD_RK2(cov, covB, covA, meanDiff, fracA, subset)
7309#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7310 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_RK2
7311#endif
7312 use pm_kind, only: TKG => RK2
7313 real(TKG) , intent(in) :: fracA
7314 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7315 real(TKG) , intent(out) , contiguous :: cov(:,:)
7316 type(uppDia_type) , intent(in) :: subset
7317 end subroutine
7318#endif
7319
7320#if RK1_ENABLED
7321 PURE module subroutine setCovMergedNew_RDP_UXD_RK1(cov, covB, covA, meanDiff, fracA, subset)
7322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7323 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_UXD_RK1
7324#endif
7325 use pm_kind, only: TKG => RK1
7326 real(TKG) , intent(in) :: fracA
7327 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7328 real(TKG) , intent(out) , contiguous :: cov(:,:)
7329 type(uppDia_type) , intent(in) :: subset
7330 end subroutine
7331#endif
7332
7333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7334
7335 end interface
7336
7337 ! New_RDP_XLD
7338
7339 interface setCovMerged
7340
7341 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7342
7343#if CK5_ENABLED
7344 PURE module subroutine setCovMergedNew_RDP_XLD_CK5(cov, covB, covA, meanDiff, fracA, subset)
7345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7346 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_CK5
7347#endif
7348 use pm_kind, only: TKG => CK5
7349 real(TKG) , intent(in) :: fracA
7350 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7351 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7352 type(lowDia_type) , intent(in) :: subset
7353 end subroutine
7354#endif
7355
7356#if CK4_ENABLED
7357 PURE module subroutine setCovMergedNew_RDP_XLD_CK4(cov, covB, covA, meanDiff, fracA, subset)
7358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7359 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_CK4
7360#endif
7361 use pm_kind, only: TKG => CK4
7362 real(TKG) , intent(in) :: fracA
7363 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7364 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7365 type(lowDia_type) , intent(in) :: subset
7366 end subroutine
7367#endif
7368
7369#if CK3_ENABLED
7370 PURE module subroutine setCovMergedNew_RDP_XLD_CK3(cov, covB, covA, meanDiff, fracA, subset)
7371#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7372 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_CK3
7373#endif
7374 use pm_kind, only: TKG => CK3
7375 real(TKG) , intent(in) :: fracA
7376 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7377 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7378 type(lowDia_type) , intent(in) :: subset
7379 end subroutine
7380#endif
7381
7382#if CK2_ENABLED
7383 PURE module subroutine setCovMergedNew_RDP_XLD_CK2(cov, covB, covA, meanDiff, fracA, subset)
7384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7385 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_CK2
7386#endif
7387 use pm_kind, only: TKG => CK2
7388 real(TKG) , intent(in) :: fracA
7389 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7390 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7391 type(lowDia_type) , intent(in) :: subset
7392 end subroutine
7393#endif
7394
7395#if CK1_ENABLED
7396 PURE module subroutine setCovMergedNew_RDP_XLD_CK1(cov, covB, covA, meanDiff, fracA, subset)
7397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7398 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_CK1
7399#endif
7400 use pm_kind, only: TKG => CK1
7401 real(TKG) , intent(in) :: fracA
7402 complex(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7403 complex(TKG) , intent(out) , contiguous :: cov(:,:)
7404 type(lowDia_type) , intent(in) :: subset
7405 end subroutine
7406#endif
7407
7408 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7409
7410#if RK5_ENABLED
7411 PURE module subroutine setCovMergedNew_RDP_XLD_RK5(cov, covB, covA, meanDiff, fracA, subset)
7412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7413 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_RK5
7414#endif
7415 use pm_kind, only: TKG => RK5
7416 real(TKG) , intent(in) :: fracA
7417 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7418 real(TKG) , intent(out) , contiguous :: cov(:,:)
7419 type(lowDia_type) , intent(in) :: subset
7420 end subroutine
7421#endif
7422
7423#if RK4_ENABLED
7424 PURE module subroutine setCovMergedNew_RDP_XLD_RK4(cov, covB, covA, meanDiff, fracA, subset)
7425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7426 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_RK4
7427#endif
7428 use pm_kind, only: TKG => RK4
7429 real(TKG) , intent(in) :: fracA
7430 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7431 real(TKG) , intent(out) , contiguous :: cov(:,:)
7432 type(lowDia_type) , intent(in) :: subset
7433 end subroutine
7434#endif
7435
7436#if RK3_ENABLED
7437 PURE module subroutine setCovMergedNew_RDP_XLD_RK3(cov, covB, covA, meanDiff, fracA, subset)
7438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7439 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_RK3
7440#endif
7441 use pm_kind, only: TKG => RK3
7442 real(TKG) , intent(in) :: fracA
7443 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7444 real(TKG) , intent(out) , contiguous :: cov(:,:)
7445 type(lowDia_type) , intent(in) :: subset
7446 end subroutine
7447#endif
7448
7449#if RK2_ENABLED
7450 PURE module subroutine setCovMergedNew_RDP_XLD_RK2(cov, covB, covA, meanDiff, fracA, subset)
7451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7452 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_RK2
7453#endif
7454 use pm_kind, only: TKG => RK2
7455 real(TKG) , intent(in) :: fracA
7456 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7457 real(TKG) , intent(out) , contiguous :: cov(:,:)
7458 type(lowDia_type) , intent(in) :: subset
7459 end subroutine
7460#endif
7461
7462#if RK1_ENABLED
7463 PURE module subroutine setCovMergedNew_RDP_XLD_RK1(cov, covB, covA, meanDiff, fracA, subset)
7464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7465 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedNew_RDP_XLD_RK1
7466#endif
7467 use pm_kind, only: TKG => RK1
7468 real(TKG) , intent(in) :: fracA
7469 real(TKG) , intent(in) , contiguous :: covB(:,:), covA(:,:), meanDiff(:)
7470 real(TKG) , intent(out) , contiguous :: cov(:,:)
7471 type(lowDia_type) , intent(in) :: subset
7472 end subroutine
7473#endif
7474
7475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7476
7477 end interface
7478
7479 ! Old_RDP_UXD
7480
7481 interface setCovMerged
7482
7483 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7484
7485#if CK5_ENABLED
7486 PURE module subroutine setCovMergedOld_RDP_UXD_CK5(covB, covA, meanDiff, fracA, subset)
7487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7488 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_CK5
7489#endif
7490 use pm_kind, only: TKG => CK5
7491 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7492 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7493 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7494 real(TKG) , intent(in) :: fracA
7495 type(uppDia_type) , intent(in) :: subset
7496 end subroutine
7497#endif
7498
7499#if CK4_ENABLED
7500 PURE module subroutine setCovMergedOld_RDP_UXD_CK4(covB, covA, meanDiff, fracA, subset)
7501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7502 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_CK4
7503#endif
7504 use pm_kind, only: TKG => CK4
7505 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7506 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7507 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7508 real(TKG) , intent(in) :: fracA
7509 type(uppDia_type) , intent(in) :: subset
7510 end subroutine
7511#endif
7512
7513#if CK3_ENABLED
7514 PURE module subroutine setCovMergedOld_RDP_UXD_CK3(covB, covA, meanDiff, fracA, subset)
7515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7516 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_CK3
7517#endif
7518 use pm_kind, only: TKG => CK3
7519 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7520 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7521 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7522 real(TKG) , intent(in) :: fracA
7523 type(uppDia_type) , intent(in) :: subset
7524 end subroutine
7525#endif
7526
7527#if CK2_ENABLED
7528 PURE module subroutine setCovMergedOld_RDP_UXD_CK2(covB, covA, meanDiff, fracA, subset)
7529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7530 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_CK2
7531#endif
7532 use pm_kind, only: TKG => CK2
7533 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7534 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7535 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7536 real(TKG) , intent(in) :: fracA
7537 type(uppDia_type) , intent(in) :: subset
7538 end subroutine
7539#endif
7540
7541#if CK1_ENABLED
7542 PURE module subroutine setCovMergedOld_RDP_UXD_CK1(covB, covA, meanDiff, fracA, subset)
7543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7544 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_CK1
7545#endif
7546 use pm_kind, only: TKG => CK1
7547 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7548 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7549 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7550 real(TKG) , intent(in) :: fracA
7551 type(uppDia_type) , intent(in) :: subset
7552 end subroutine
7553#endif
7554
7555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7556
7557#if RK5_ENABLED
7558 PURE module subroutine setCovMergedOld_RDP_UXD_RK5(covB, covA, meanDiff, fracA, subset)
7559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7560 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_RK5
7561#endif
7562 use pm_kind, only: TKG => RK5
7563 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7564 real(TKG) , intent(in) , contiguous :: covA(:,:)
7565 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7566 real(TKG) , intent(in) :: fracA
7567 type(uppDia_type) , intent(in) :: subset
7568 end subroutine
7569#endif
7570
7571#if RK4_ENABLED
7572 PURE module subroutine setCovMergedOld_RDP_UXD_RK4(covB, covA, meanDiff, fracA, subset)
7573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7574 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_RK4
7575#endif
7576 use pm_kind, only: TKG => RK4
7577 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7578 real(TKG) , intent(in) , contiguous :: covA(:,:)
7579 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7580 real(TKG) , intent(in) :: fracA
7581 type(uppDia_type) , intent(in) :: subset
7582 end subroutine
7583#endif
7584
7585#if RK3_ENABLED
7586 PURE module subroutine setCovMergedOld_RDP_UXD_RK3(covB, covA, meanDiff, fracA, subset)
7587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7588 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_RK3
7589#endif
7590 use pm_kind, only: TKG => RK3
7591 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7592 real(TKG) , intent(in) , contiguous :: covA(:,:)
7593 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7594 real(TKG) , intent(in) :: fracA
7595 type(uppDia_type) , intent(in) :: subset
7596 end subroutine
7597#endif
7598
7599#if RK2_ENABLED
7600 PURE module subroutine setCovMergedOld_RDP_UXD_RK2(covB, covA, meanDiff, fracA, subset)
7601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7602 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_RK2
7603#endif
7604 use pm_kind, only: TKG => RK2
7605 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7606 real(TKG) , intent(in) , contiguous :: covA(:,:)
7607 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7608 real(TKG) , intent(in) :: fracA
7609 type(uppDia_type) , intent(in) :: subset
7610 end subroutine
7611#endif
7612
7613#if RK1_ENABLED
7614 PURE module subroutine setCovMergedOld_RDP_UXD_RK1(covB, covA, meanDiff, fracA, subset)
7615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7616 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_UXD_RK1
7617#endif
7618 use pm_kind, only: TKG => RK1
7619 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7620 real(TKG) , intent(in) , contiguous :: covA(:,:)
7621 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7622 real(TKG) , intent(in) :: fracA
7623 type(uppDia_type) , intent(in) :: subset
7624 end subroutine
7625#endif
7626
7627 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7628
7629 end interface
7630
7631 ! Old_RDP_XLD
7632
7633 interface setCovMerged
7634
7635 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7636
7637#if CK5_ENABLED
7638 PURE module subroutine setCovMergedOld_RDP_XLD_CK5(covB, covA, meanDiff, fracA, subset)
7639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7640 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_CK5
7641#endif
7642 use pm_kind, only: TKG => CK5
7643 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7644 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7645 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7646 real(TKG) , intent(in) :: fracA
7647 type(lowDia_type) , intent(in) :: subset
7648 end subroutine
7649#endif
7650
7651#if CK4_ENABLED
7652 PURE module subroutine setCovMergedOld_RDP_XLD_CK4(covB, covA, meanDiff, fracA, subset)
7653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7654 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_CK4
7655#endif
7656 use pm_kind, only: TKG => CK4
7657 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7658 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7659 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7660 real(TKG) , intent(in) :: fracA
7661 type(lowDia_type) , intent(in) :: subset
7662 end subroutine
7663#endif
7664
7665#if CK3_ENABLED
7666 PURE module subroutine setCovMergedOld_RDP_XLD_CK3(covB, covA, meanDiff, fracA, subset)
7667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7668 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_CK3
7669#endif
7670 use pm_kind, only: TKG => CK3
7671 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7672 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7673 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7674 real(TKG) , intent(in) :: fracA
7675 type(lowDia_type) , intent(in) :: subset
7676 end subroutine
7677#endif
7678
7679#if CK2_ENABLED
7680 PURE module subroutine setCovMergedOld_RDP_XLD_CK2(covB, covA, meanDiff, fracA, subset)
7681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7682 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_CK2
7683#endif
7684 use pm_kind, only: TKG => CK2
7685 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7686 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7687 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7688 real(TKG) , intent(in) :: fracA
7689 type(lowDia_type) , intent(in) :: subset
7690 end subroutine
7691#endif
7692
7693#if CK1_ENABLED
7694 PURE module subroutine setCovMergedOld_RDP_XLD_CK1(covB, covA, meanDiff, fracA, subset)
7695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7696 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_CK1
7697#endif
7698 use pm_kind, only: TKG => CK1
7699 complex(TKG) , intent(inout) , contiguous :: covB(:,:)
7700 complex(TKG) , intent(in) , contiguous :: covA(:,:)
7701 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
7702 real(TKG) , intent(in) :: fracA
7703 type(lowDia_type) , intent(in) :: subset
7704 end subroutine
7705#endif
7706
7707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7708
7709#if RK5_ENABLED
7710 PURE module subroutine setCovMergedOld_RDP_XLD_RK5(covB, covA, meanDiff, fracA, subset)
7711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7712 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_RK5
7713#endif
7714 use pm_kind, only: TKG => RK5
7715 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7716 real(TKG) , intent(in) , contiguous :: covA(:,:)
7717 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7718 real(TKG) , intent(in) :: fracA
7719 type(lowDia_type) , intent(in) :: subset
7720 end subroutine
7721#endif
7722
7723#if RK4_ENABLED
7724 PURE module subroutine setCovMergedOld_RDP_XLD_RK4(covB, covA, meanDiff, fracA, subset)
7725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7726 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_RK4
7727#endif
7728 use pm_kind, only: TKG => RK4
7729 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7730 real(TKG) , intent(in) , contiguous :: covA(:,:)
7731 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7732 real(TKG) , intent(in) :: fracA
7733 type(lowDia_type) , intent(in) :: subset
7734 end subroutine
7735#endif
7736
7737#if RK3_ENABLED
7738 PURE module subroutine setCovMergedOld_RDP_XLD_RK3(covB, covA, meanDiff, fracA, subset)
7739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7740 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_RK3
7741#endif
7742 use pm_kind, only: TKG => RK3
7743 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7744 real(TKG) , intent(in) , contiguous :: covA(:,:)
7745 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7746 real(TKG) , intent(in) :: fracA
7747 type(lowDia_type) , intent(in) :: subset
7748 end subroutine
7749#endif
7750
7751#if RK2_ENABLED
7752 PURE module subroutine setCovMergedOld_RDP_XLD_RK2(covB, covA, meanDiff, fracA, subset)
7753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7754 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_RK2
7755#endif
7756 use pm_kind, only: TKG => RK2
7757 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7758 real(TKG) , intent(in) , contiguous :: covA(:,:)
7759 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7760 real(TKG) , intent(in) :: fracA
7761 type(lowDia_type) , intent(in) :: subset
7762 end subroutine
7763#endif
7764
7765#if RK1_ENABLED
7766 PURE module subroutine setCovMergedOld_RDP_XLD_RK1(covB, covA, meanDiff, fracA, subset)
7767#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7768 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMergedOld_RDP_XLD_RK1
7769#endif
7770 use pm_kind, only: TKG => RK1
7771 real(TKG) , intent(inout) , contiguous :: covB(:,:)
7772 real(TKG) , intent(in) , contiguous :: covA(:,:)
7773 real(TKG) , intent(in) , contiguous :: meanDiff(:)
7774 real(TKG) , intent(in) :: fracA
7775 type(lowDia_type) , intent(in) :: subset
7776 end subroutine
7777#endif
7778
7779 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7780
7781 end interface
7782
7783!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7784
7880
7881 ! New_RDP_UXD
7882
7884
7885 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7886
7887#if CK5_ENABLED
7888 PURE module subroutine setCovMeanMergedNew_RDP_UXD_CK5(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7889#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7890 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_CK5
7891#endif
7892 use pm_kind, only: TKG => CK5
7893 real(TKG) , intent(in) :: fracA
7894 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7895 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7896 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7897 type(uppDia_type) , intent(in) :: subset
7898 end subroutine
7899#endif
7900
7901#if CK4_ENABLED
7902 PURE module subroutine setCovMeanMergedNew_RDP_UXD_CK4(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7904 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_CK4
7905#endif
7906 use pm_kind, only: TKG => CK4
7907 real(TKG) , intent(in) :: fracA
7908 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7909 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7910 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7911 type(uppDia_type) , intent(in) :: subset
7912 end subroutine
7913#endif
7914
7915#if CK3_ENABLED
7916 PURE module subroutine setCovMeanMergedNew_RDP_UXD_CK3(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7918 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_CK3
7919#endif
7920 use pm_kind, only: TKG => CK3
7921 real(TKG) , intent(in) :: fracA
7922 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7923 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7924 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7925 type(uppDia_type) , intent(in) :: subset
7926 end subroutine
7927#endif
7928
7929#if CK2_ENABLED
7930 PURE module subroutine setCovMeanMergedNew_RDP_UXD_CK2(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7931#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7932 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_CK2
7933#endif
7934 use pm_kind, only: TKG => CK2
7935 real(TKG) , intent(in) :: fracA
7936 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7937 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7938 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7939 type(uppDia_type) , intent(in) :: subset
7940 end subroutine
7941#endif
7942
7943#if CK1_ENABLED
7944 PURE module subroutine setCovMeanMergedNew_RDP_UXD_CK1(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7946 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_CK1
7947#endif
7948 use pm_kind, only: TKG => CK1
7949 real(TKG) , intent(in) :: fracA
7950 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7951 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7952 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7953 type(uppDia_type) , intent(in) :: subset
7954 end subroutine
7955#endif
7956
7957 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7958
7959#if RK5_ENABLED
7960 PURE module subroutine setCovMeanMergedNew_RDP_UXD_RK5(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7962 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_RK5
7963#endif
7964 use pm_kind, only: TKG => RK5
7965 real(TKG) , intent(in) :: fracA
7966 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7967 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7968 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7969 type(uppDia_type) , intent(in) :: subset
7970 end subroutine
7971#endif
7972
7973#if RK4_ENABLED
7974 PURE module subroutine setCovMeanMergedNew_RDP_UXD_RK4(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7976 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_RK4
7977#endif
7978 use pm_kind, only: TKG => RK4
7979 real(TKG) , intent(in) :: fracA
7980 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7981 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7982 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7983 type(uppDia_type) , intent(in) :: subset
7984 end subroutine
7985#endif
7986
7987#if RK3_ENABLED
7988 PURE module subroutine setCovMeanMergedNew_RDP_UXD_RK3(cov, mean, covB, meanB, covA, meanA, fracA, subset)
7989#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7990 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_RK3
7991#endif
7992 use pm_kind, only: TKG => RK3
7993 real(TKG) , intent(in) :: fracA
7994 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
7995 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
7996 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
7997 type(uppDia_type) , intent(in) :: subset
7998 end subroutine
7999#endif
8000
8001#if RK2_ENABLED
8002 PURE module subroutine setCovMeanMergedNew_RDP_UXD_RK2(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8003#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8004 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_RK2
8005#endif
8006 use pm_kind, only: TKG => RK2
8007 real(TKG) , intent(in) :: fracA
8008 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8009 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8010 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8011 type(uppDia_type) , intent(in) :: subset
8012 end subroutine
8013#endif
8014
8015#if RK1_ENABLED
8016 PURE module subroutine setCovMeanMergedNew_RDP_UXD_RK1(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8017#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8018 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_UXD_RK1
8019#endif
8020 use pm_kind, only: TKG => RK1
8021 real(TKG) , intent(in) :: fracA
8022 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8023 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8024 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8025 type(uppDia_type) , intent(in) :: subset
8026 end subroutine
8027#endif
8028
8029 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8030
8031 end interface
8032
8033 ! New_RDP_XLD
8034
8035 interface setCovMeanMerged
8036
8037 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8038
8039#if CK5_ENABLED
8040 PURE module subroutine setCovMeanMergedNew_RDP_XLD_CK5(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8041#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8042 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_CK5
8043#endif
8044 use pm_kind, only: TKG => CK5
8045 real(TKG) , intent(in) :: fracA
8046 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8047 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8048 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8049 type(lowDia_type) , intent(in) :: subset
8050 end subroutine
8051#endif
8052
8053#if CK4_ENABLED
8054 PURE module subroutine setCovMeanMergedNew_RDP_XLD_CK4(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8056 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_CK4
8057#endif
8058 use pm_kind, only: TKG => CK4
8059 real(TKG) , intent(in) :: fracA
8060 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8061 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8062 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8063 type(lowDia_type) , intent(in) :: subset
8064 end subroutine
8065#endif
8066
8067#if CK3_ENABLED
8068 PURE module subroutine setCovMeanMergedNew_RDP_XLD_CK3(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8070 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_CK3
8071#endif
8072 use pm_kind, only: TKG => CK3
8073 real(TKG) , intent(in) :: fracA
8074 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8075 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8076 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8077 type(lowDia_type) , intent(in) :: subset
8078 end subroutine
8079#endif
8080
8081#if CK2_ENABLED
8082 PURE module subroutine setCovMeanMergedNew_RDP_XLD_CK2(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8084 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_CK2
8085#endif
8086 use pm_kind, only: TKG => CK2
8087 real(TKG) , intent(in) :: fracA
8088 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8089 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8090 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8091 type(lowDia_type) , intent(in) :: subset
8092 end subroutine
8093#endif
8094
8095#if CK1_ENABLED
8096 PURE module subroutine setCovMeanMergedNew_RDP_XLD_CK1(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8097#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8098 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_CK1
8099#endif
8100 use pm_kind, only: TKG => CK1
8101 real(TKG) , intent(in) :: fracA
8102 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8103 complex(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8104 complex(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8105 type(lowDia_type) , intent(in) :: subset
8106 end subroutine
8107#endif
8108
8109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8110
8111#if RK5_ENABLED
8112 PURE module subroutine setCovMeanMergedNew_RDP_XLD_RK5(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8113#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8114 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_RK5
8115#endif
8116 use pm_kind, only: TKG => RK5
8117 real(TKG) , intent(in) :: fracA
8118 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8119 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8120 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8121 type(lowDia_type) , intent(in) :: subset
8122 end subroutine
8123#endif
8124
8125#if RK4_ENABLED
8126 PURE module subroutine setCovMeanMergedNew_RDP_XLD_RK4(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8128 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_RK4
8129#endif
8130 use pm_kind, only: TKG => RK4
8131 real(TKG) , intent(in) :: fracA
8132 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8133 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8134 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8135 type(lowDia_type) , intent(in) :: subset
8136 end subroutine
8137#endif
8138
8139#if RK3_ENABLED
8140 PURE module subroutine setCovMeanMergedNew_RDP_XLD_RK3(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8142 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_RK3
8143#endif
8144 use pm_kind, only: TKG => RK3
8145 real(TKG) , intent(in) :: fracA
8146 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8147 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8148 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8149 type(lowDia_type) , intent(in) :: subset
8150 end subroutine
8151#endif
8152
8153#if RK2_ENABLED
8154 PURE module subroutine setCovMeanMergedNew_RDP_XLD_RK2(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8156 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_RK2
8157#endif
8158 use pm_kind, only: TKG => RK2
8159 real(TKG) , intent(in) :: fracA
8160 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8161 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8162 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8163 type(lowDia_type) , intent(in) :: subset
8164 end subroutine
8165#endif
8166
8167#if RK1_ENABLED
8168 PURE module subroutine setCovMeanMergedNew_RDP_XLD_RK1(cov, mean, covB, meanB, covA, meanA, fracA, subset)
8169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8170 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedNew_RDP_XLD_RK1
8171#endif
8172 use pm_kind, only: TKG => RK1
8173 real(TKG) , intent(in) :: fracA
8174 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8175 real(TKG) , intent(in) , contiguous :: covB(:,:), meanB(:)
8176 real(TKG) , intent(out) , contiguous :: cov(:,:), mean(:)
8177 type(lowDia_type) , intent(in) :: subset
8178 end subroutine
8179#endif
8180
8181 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8182
8183 end interface
8184
8185 ! Old_RDP_UXD
8186
8187 interface setCovMeanMerged
8188
8189 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8190
8191#if CK5_ENABLED
8192 PURE module subroutine setCovMeanMergedOld_RDP_UXD_CK5(covB, meanB, covA, meanA, fracA, subset)
8193#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8194 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_CK5
8195#endif
8196 use pm_kind, only: TKG => CK5
8197 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8198 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8199 real(TKG) , intent(in) :: fracA
8200 type(uppDia_type) , intent(in) :: subset
8201 end subroutine
8202#endif
8203
8204#if CK4_ENABLED
8205 PURE module subroutine setCovMeanMergedOld_RDP_UXD_CK4(covB, meanB, covA, meanA, fracA, subset)
8206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8207 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_CK4
8208#endif
8209 use pm_kind, only: TKG => CK4
8210 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8211 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8212 real(TKG) , intent(in) :: fracA
8213 type(uppDia_type) , intent(in) :: subset
8214 end subroutine
8215#endif
8216
8217#if CK3_ENABLED
8218 PURE module subroutine setCovMeanMergedOld_RDP_UXD_CK3(covB, meanB, covA, meanA, fracA, subset)
8219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8220 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_CK3
8221#endif
8222 use pm_kind, only: TKG => CK3
8223 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8224 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8225 real(TKG) , intent(in) :: fracA
8226 type(uppDia_type) , intent(in) :: subset
8227 end subroutine
8228#endif
8229
8230#if CK2_ENABLED
8231 PURE module subroutine setCovMeanMergedOld_RDP_UXD_CK2(covB, meanB, covA, meanA, fracA, subset)
8232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8233 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_CK2
8234#endif
8235 use pm_kind, only: TKG => CK2
8236 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8237 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8238 real(TKG) , intent(in) :: fracA
8239 type(uppDia_type) , intent(in) :: subset
8240 end subroutine
8241#endif
8242
8243#if CK1_ENABLED
8244 PURE module subroutine setCovMeanMergedOld_RDP_UXD_CK1(covB, meanB, covA, meanA, fracA, subset)
8245#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8246 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_CK1
8247#endif
8248 use pm_kind, only: TKG => CK1
8249 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8250 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8251 real(TKG) , intent(in) :: fracA
8252 type(uppDia_type) , intent(in) :: subset
8253 end subroutine
8254#endif
8255
8256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8257
8258#if RK5_ENABLED
8259 PURE module subroutine setCovMeanMergedOld_RDP_UXD_RK5(covB, meanB, covA, meanA, fracA, subset)
8260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8261 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_RK5
8262#endif
8263 use pm_kind, only: TKG => RK5
8264 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8265 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8266 real(TKG) , intent(in) :: fracA
8267 type(uppDia_type) , intent(in) :: subset
8268 end subroutine
8269#endif
8270
8271#if RK4_ENABLED
8272 PURE module subroutine setCovMeanMergedOld_RDP_UXD_RK4(covB, meanB, covA, meanA, fracA, subset)
8273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8274 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_RK4
8275#endif
8276 use pm_kind, only: TKG => RK4
8277 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8278 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8279 real(TKG) , intent(in) :: fracA
8280 type(uppDia_type) , intent(in) :: subset
8281 end subroutine
8282#endif
8283
8284#if RK3_ENABLED
8285 PURE module subroutine setCovMeanMergedOld_RDP_UXD_RK3(covB, meanB, covA, meanA, fracA, subset)
8286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8287 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_RK3
8288#endif
8289 use pm_kind, only: TKG => RK3
8290 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8291 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8292 real(TKG) , intent(in) :: fracA
8293 type(uppDia_type) , intent(in) :: subset
8294 end subroutine
8295#endif
8296
8297#if RK2_ENABLED
8298 PURE module subroutine setCovMeanMergedOld_RDP_UXD_RK2(covB, meanB, covA, meanA, fracA, subset)
8299#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8300 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_RK2
8301#endif
8302 use pm_kind, only: TKG => RK2
8303 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8304 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8305 real(TKG) , intent(in) :: fracA
8306 type(uppDia_type) , intent(in) :: subset
8307 end subroutine
8308#endif
8309
8310#if RK1_ENABLED
8311 PURE module subroutine setCovMeanMergedOld_RDP_UXD_RK1(covB, meanB, covA, meanA, fracA, subset)
8312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8313 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_UXD_RK1
8314#endif
8315 use pm_kind, only: TKG => RK1
8316 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8317 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8318 real(TKG) , intent(in) :: fracA
8319 type(uppDia_type) , intent(in) :: subset
8320 end subroutine
8321#endif
8322
8323 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8324
8325 end interface
8326
8327 ! Old_RDP_XLD
8328
8329 interface setCovMeanMerged
8330
8331 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8332
8333#if CK5_ENABLED
8334 PURE module subroutine setCovMeanMergedOld_RDP_XLD_CK5(covB, meanB, covA, meanA, fracA, subset)
8335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8336 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_CK5
8337#endif
8338 use pm_kind, only: TKG => CK5
8339 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8340 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8341 real(TKG) , intent(in) :: fracA
8342 type(lowDia_type) , intent(in) :: subset
8343 end subroutine
8344#endif
8345
8346#if CK4_ENABLED
8347 PURE module subroutine setCovMeanMergedOld_RDP_XLD_CK4(covB, meanB, covA, meanA, fracA, subset)
8348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8349 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_CK4
8350#endif
8351 use pm_kind, only: TKG => CK4
8352 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8353 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8354 real(TKG) , intent(in) :: fracA
8355 type(lowDia_type) , intent(in) :: subset
8356 end subroutine
8357#endif
8358
8359#if CK3_ENABLED
8360 PURE module subroutine setCovMeanMergedOld_RDP_XLD_CK3(covB, meanB, covA, meanA, fracA, subset)
8361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8362 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_CK3
8363#endif
8364 use pm_kind, only: TKG => CK3
8365 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8366 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8367 real(TKG) , intent(in) :: fracA
8368 type(lowDia_type) , intent(in) :: subset
8369 end subroutine
8370#endif
8371
8372#if CK2_ENABLED
8373 PURE module subroutine setCovMeanMergedOld_RDP_XLD_CK2(covB, meanB, covA, meanA, fracA, subset)
8374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8375 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_CK2
8376#endif
8377 use pm_kind, only: TKG => CK2
8378 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8379 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8380 real(TKG) , intent(in) :: fracA
8381 type(lowDia_type) , intent(in) :: subset
8382 end subroutine
8383#endif
8384
8385#if CK1_ENABLED
8386 PURE module subroutine setCovMeanMergedOld_RDP_XLD_CK1(covB, meanB, covA, meanA, fracA, subset)
8387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8388 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_CK1
8389#endif
8390 use pm_kind, only: TKG => CK1
8391 complex(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8392 complex(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8393 real(TKG) , intent(in) :: fracA
8394 type(lowDia_type) , intent(in) :: subset
8395 end subroutine
8396#endif
8397
8398 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8399
8400#if RK5_ENABLED
8401 PURE module subroutine setCovMeanMergedOld_RDP_XLD_RK5(covB, meanB, covA, meanA, fracA, subset)
8402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8403 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_RK5
8404#endif
8405 use pm_kind, only: TKG => RK5
8406 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8407 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8408 real(TKG) , intent(in) :: fracA
8409 type(lowDia_type) , intent(in) :: subset
8410 end subroutine
8411#endif
8412
8413#if RK4_ENABLED
8414 PURE module subroutine setCovMeanMergedOld_RDP_XLD_RK4(covB, meanB, covA, meanA, fracA, subset)
8415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8416 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_RK4
8417#endif
8418 use pm_kind, only: TKG => RK4
8419 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8420 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8421 real(TKG) , intent(in) :: fracA
8422 type(lowDia_type) , intent(in) :: subset
8423 end subroutine
8424#endif
8425
8426#if RK3_ENABLED
8427 PURE module subroutine setCovMeanMergedOld_RDP_XLD_RK3(covB, meanB, covA, meanA, fracA, subset)
8428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8429 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_RK3
8430#endif
8431 use pm_kind, only: TKG => RK3
8432 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8433 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8434 real(TKG) , intent(in) :: fracA
8435 type(lowDia_type) , intent(in) :: subset
8436 end subroutine
8437#endif
8438
8439#if RK2_ENABLED
8440 PURE module subroutine setCovMeanMergedOld_RDP_XLD_RK2(covB, meanB, covA, meanA, fracA, subset)
8441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8442 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_RK2
8443#endif
8444 use pm_kind, only: TKG => RK2
8445 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8446 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8447 real(TKG) , intent(in) :: fracA
8448 type(lowDia_type) , intent(in) :: subset
8449 end subroutine
8450#endif
8451
8452#if RK1_ENABLED
8453 PURE module subroutine setCovMeanMergedOld_RDP_XLD_RK1(covB, meanB, covA, meanA, fracA, subset)
8454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8455 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanMergedOld_RDP_XLD_RK1
8456#endif
8457 use pm_kind, only: TKG => RK1
8458 real(TKG) , intent(inout) , contiguous :: covB(:,:), meanB(:)
8459 real(TKG) , intent(in) , contiguous :: covA(:,:), meanA(:)
8460 real(TKG) , intent(in) :: fracA
8461 type(lowDia_type) , intent(in) :: subset
8462 end subroutine
8463#endif
8464
8465 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8466
8467 end interface
8468
8469!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8470
8550
8551 ! Old_RDP_UXD
8552
8554
8555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8556
8557#if CK5_ENABLED
8558 PURE module subroutine setCovUpdatedOld_RDP_UXD_CK5(covA, meanDiff, fracA, subset)
8559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8560 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_CK5
8561#endif
8562 use pm_kind, only: TKG => CK5
8563 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8564 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8565 real(TKG) , intent(in) :: fracA
8566 type(uppDia_type) , intent(in) :: subset
8567 end subroutine
8568#endif
8569
8570#if CK4_ENABLED
8571 PURE module subroutine setCovUpdatedOld_RDP_UXD_CK4(covA, meanDiff, fracA, subset)
8572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8573 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_CK4
8574#endif
8575 use pm_kind, only: TKG => CK4
8576 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8577 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8578 real(TKG) , intent(in) :: fracA
8579 type(uppDia_type) , intent(in) :: subset
8580 end subroutine
8581#endif
8582
8583#if CK3_ENABLED
8584 PURE module subroutine setCovUpdatedOld_RDP_UXD_CK3(covA, meanDiff, fracA, subset)
8585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8586 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_CK3
8587#endif
8588 use pm_kind, only: TKG => CK3
8589 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8590 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8591 real(TKG) , intent(in) :: fracA
8592 type(uppDia_type) , intent(in) :: subset
8593 end subroutine
8594#endif
8595
8596#if CK2_ENABLED
8597 PURE module subroutine setCovUpdatedOld_RDP_UXD_CK2(covA, meanDiff, fracA, subset)
8598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8599 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_CK2
8600#endif
8601 use pm_kind, only: TKG => CK2
8602 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8603 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8604 real(TKG) , intent(in) :: fracA
8605 type(uppDia_type) , intent(in) :: subset
8606 end subroutine
8607#endif
8608
8609#if CK1_ENABLED
8610 PURE module subroutine setCovUpdatedOld_RDP_UXD_CK1(covA, meanDiff, fracA, subset)
8611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8612 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_CK1
8613#endif
8614 use pm_kind, only: TKG => CK1
8615 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8616 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8617 real(TKG) , intent(in) :: fracA
8618 type(uppDia_type) , intent(in) :: subset
8619 end subroutine
8620#endif
8621
8622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8623
8624#if RK5_ENABLED
8625 PURE module subroutine setCovUpdatedOld_RDP_UXD_RK5(covA, meanDiff, fracA, subset)
8626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8627 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_RK5
8628#endif
8629 use pm_kind, only: TKG => RK5
8630 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8631 real(TKG) , intent(in) , contiguous :: covA(:,:)
8632 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8633 real(TKG) , intent(in) :: fracA
8634 type(uppDia_type) , intent(in) :: subset
8635 end subroutine
8636#endif
8637
8638#if RK4_ENABLED
8639 PURE module subroutine setCovUpdatedOld_RDP_UXD_RK4(covA, meanDiff, fracA, subset)
8640#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8641 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_RK4
8642#endif
8643 use pm_kind, only: TKG => RK4
8644 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8645 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8646 real(TKG) , intent(in) :: fracA
8647 type(uppDia_type) , intent(in) :: subset
8648 end subroutine
8649#endif
8650
8651#if RK3_ENABLED
8652 PURE module subroutine setCovUpdatedOld_RDP_UXD_RK3(covA, meanDiff, fracA, subset)
8653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8654 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_RK3
8655#endif
8656 use pm_kind, only: TKG => RK3
8657 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8658 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8659 real(TKG) , intent(in) :: fracA
8660 type(uppDia_type) , intent(in) :: subset
8661 end subroutine
8662#endif
8663
8664#if RK2_ENABLED
8665 PURE module subroutine setCovUpdatedOld_RDP_UXD_RK2(covA, meanDiff, fracA, subset)
8666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8667 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_RK2
8668#endif
8669 use pm_kind, only: TKG => RK2
8670 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8671 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8672 real(TKG) , intent(in) :: fracA
8673 type(uppDia_type) , intent(in) :: subset
8674 end subroutine
8675#endif
8676
8677#if RK1_ENABLED
8678 PURE module subroutine setCovUpdatedOld_RDP_UXD_RK1(covA, meanDiff, fracA, subset)
8679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8680 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_UXD_RK1
8681#endif
8682 use pm_kind, only: TKG => RK1
8683 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8684 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8685 real(TKG) , intent(in) :: fracA
8686 type(uppDia_type) , intent(in) :: subset
8687 end subroutine
8688#endif
8689
8690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8691
8692 end interface
8693
8694 ! Old_RDP_XLD
8695
8696 interface setCovUpdated
8697
8698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8699
8700#if CK5_ENABLED
8701 PURE module subroutine setCovUpdatedOld_RDP_XLD_CK5(covA, meanDiff, fracA, subset)
8702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8703 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_CK5
8704#endif
8705 use pm_kind, only: TKG => CK5
8706 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8707 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8708 real(TKG) , intent(in) :: fracA
8709 type(lowDia_type) , intent(in) :: subset
8710 end subroutine
8711#endif
8712
8713#if CK4_ENABLED
8714 PURE module subroutine setCovUpdatedOld_RDP_XLD_CK4(covA, meanDiff, fracA, subset)
8715#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8716 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_CK4
8717#endif
8718 use pm_kind, only: TKG => CK4
8719 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8720 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8721 real(TKG) , intent(in) :: fracA
8722 type(lowDia_type) , intent(in) :: subset
8723 end subroutine
8724#endif
8725
8726#if CK3_ENABLED
8727 PURE module subroutine setCovUpdatedOld_RDP_XLD_CK3(covA, meanDiff, fracA, subset)
8728#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8729 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_CK3
8730#endif
8731 use pm_kind, only: TKG => CK3
8732 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8733 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8734 real(TKG) , intent(in) :: fracA
8735 type(lowDia_type) , intent(in) :: subset
8736 end subroutine
8737#endif
8738
8739#if CK2_ENABLED
8740 PURE module subroutine setCovUpdatedOld_RDP_XLD_CK2(covA, meanDiff, fracA, subset)
8741#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8742 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_CK2
8743#endif
8744 use pm_kind, only: TKG => CK2
8745 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8746 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8747 real(TKG) , intent(in) :: fracA
8748 type(lowDia_type) , intent(in) :: subset
8749 end subroutine
8750#endif
8751
8752#if CK1_ENABLED
8753 PURE module subroutine setCovUpdatedOld_RDP_XLD_CK1(covA, meanDiff, fracA, subset)
8754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8755 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_CK1
8756#endif
8757 use pm_kind, only: TKG => CK1
8758 complex(TKG) , intent(inout) , contiguous :: covA(:,:)
8759 complex(TKG) , intent(in) , contiguous :: meanDiff(:)
8760 real(TKG) , intent(in) :: fracA
8761 type(lowDia_type) , intent(in) :: subset
8762 end subroutine
8763#endif
8764
8765 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8766
8767#if RK5_ENABLED
8768 PURE module subroutine setCovUpdatedOld_RDP_XLD_RK5(covA, meanDiff, fracA, subset)
8769#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8770 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_RK5
8771#endif
8772 use pm_kind, only: TKG => RK5
8773 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8774 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8775 real(TKG) , intent(in) :: fracA
8776 type(lowDia_type) , intent(in) :: subset
8777 end subroutine
8778#endif
8779
8780#if RK4_ENABLED
8781 PURE module subroutine setCovUpdatedOld_RDP_XLD_RK4(covA, meanDiff, fracA, subset)
8782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8783 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_RK4
8784#endif
8785 use pm_kind, only: TKG => RK4
8786 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8787 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8788 real(TKG) , intent(in) :: fracA
8789 type(lowDia_type) , intent(in) :: subset
8790 end subroutine
8791#endif
8792
8793#if RK3_ENABLED
8794 PURE module subroutine setCovUpdatedOld_RDP_XLD_RK3(covA, meanDiff, fracA, subset)
8795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8796 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_RK3
8797#endif
8798 use pm_kind, only: TKG => RK3
8799 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8800 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8801 real(TKG) , intent(in) :: fracA
8802 type(lowDia_type) , intent(in) :: subset
8803 end subroutine
8804#endif
8805
8806#if RK2_ENABLED
8807 PURE module subroutine setCovUpdatedOld_RDP_XLD_RK2(covA, meanDiff, fracA, subset)
8808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8809 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_RK2
8810#endif
8811 use pm_kind, only: TKG => RK2
8812 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8813 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8814 real(TKG) , intent(in) :: fracA
8815 type(lowDia_type) , intent(in) :: subset
8816 end subroutine
8817#endif
8818
8819#if RK1_ENABLED
8820 PURE module subroutine setCovUpdatedOld_RDP_XLD_RK1(covA, meanDiff, fracA, subset)
8821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8822 !DEC$ ATTRIBUTES DLLEXPORT :: setCovUpdatedOld_RDP_XLD_RK1
8823#endif
8824 use pm_kind, only: TKG => RK1
8825 real(TKG) , intent(inout) , contiguous :: covA(:,:)
8826 real(TKG) , intent(in) , contiguous :: meanDiff(:)
8827 real(TKG) , intent(in) :: fracA
8828 type(lowDia_type) , intent(in) :: subset
8829 end subroutine
8830#endif
8831
8832 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8833
8834 end interface
8835
8836!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8837
8919
8920 ! New_RDP_UXD
8921
8923
8924 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8925
8926#if CK5_ENABLED
8927 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_CK5(covA, meanA, meanB, fracA, subset)
8928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8929 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_CK5
8930#endif
8931 use pm_kind, only: TKG => CK5
8932 real(TKG) , intent(in) :: fracA
8933 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
8934 complex(TKG) , intent(in) , contiguous :: meanB(:)
8935 type(uppDia_type) , intent(in) :: subset
8936 end subroutine
8937#endif
8938
8939#if CK4_ENABLED
8940 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_CK4(covA, meanA, meanB, fracA, subset)
8941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8942 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_CK4
8943#endif
8944 use pm_kind, only: TKG => CK4
8945 real(TKG) , intent(in) :: fracA
8946 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
8947 complex(TKG) , intent(in) , contiguous :: meanB(:)
8948 type(uppDia_type) , intent(in) :: subset
8949 end subroutine
8950#endif
8951
8952#if CK3_ENABLED
8953 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_CK3(covA, meanA, meanB, fracA, subset)
8954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8955 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_CK3
8956#endif
8957 use pm_kind, only: TKG => CK3
8958 real(TKG) , intent(in) :: fracA
8959 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
8960 complex(TKG) , intent(in) , contiguous :: meanB(:)
8961 type(uppDia_type) , intent(in) :: subset
8962 end subroutine
8963#endif
8964
8965#if CK2_ENABLED
8966 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_CK2(covA, meanA, meanB, fracA, subset)
8967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8968 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_CK2
8969#endif
8970 use pm_kind, only: TKG => CK2
8971 real(TKG) , intent(in) :: fracA
8972 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
8973 complex(TKG) , intent(in) , contiguous :: meanB(:)
8974 type(uppDia_type) , intent(in) :: subset
8975 end subroutine
8976#endif
8977
8978#if CK1_ENABLED
8979 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_CK1(covA, meanA, meanB, fracA, subset)
8980#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8981 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_CK1
8982#endif
8983 use pm_kind, only: TKG => CK1
8984 real(TKG) , intent(in) :: fracA
8985 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
8986 complex(TKG) , intent(in) , contiguous :: meanB(:)
8987 type(uppDia_type) , intent(in) :: subset
8988 end subroutine
8989#endif
8990
8991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8992
8993#if RK5_ENABLED
8994 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_RK5(covA, meanA, meanB, fracA, subset)
8995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8996 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_RK5
8997#endif
8998 use pm_kind, only: TKG => RK5
8999 real(TKG) , intent(in) :: fracA
9000 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9001 real(TKG) , intent(in) , contiguous :: meanB(:)
9002 type(uppDia_type) , intent(in) :: subset
9003 end subroutine
9004#endif
9005
9006#if RK4_ENABLED
9007 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_RK4(covA, meanA, meanB, fracA, subset)
9008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9009 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_RK4
9010#endif
9011 use pm_kind, only: TKG => RK4
9012 real(TKG) , intent(in) :: fracA
9013 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9014 real(TKG) , intent(in) , contiguous :: meanB(:)
9015 type(uppDia_type) , intent(in) :: subset
9016 end subroutine
9017#endif
9018
9019#if RK3_ENABLED
9020 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_RK3(covA, meanA, meanB, fracA, subset)
9021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9022 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_RK3
9023#endif
9024 use pm_kind, only: TKG => RK3
9025 real(TKG) , intent(in) :: fracA
9026 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9027 real(TKG) , intent(in) , contiguous :: meanB(:)
9028 type(uppDia_type) , intent(in) :: subset
9029 end subroutine
9030#endif
9031
9032#if RK2_ENABLED
9033 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_RK2(covA, meanA, meanB, fracA, subset)
9034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9035 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_RK2
9036#endif
9037 use pm_kind, only: TKG => RK2
9038 real(TKG) , intent(in) :: fracA
9039 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9040 real(TKG) , intent(in) , contiguous :: meanB(:)
9041 type(uppDia_type) , intent(in) :: subset
9042 end subroutine
9043#endif
9044
9045#if RK1_ENABLED
9046 PURE module subroutine setCovMeanUpdatedOld_RDP_UXD_RK1(covA, meanA, meanB, fracA, subset)
9047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9048 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_UXD_RK1
9049#endif
9050 use pm_kind, only: TKG => RK1
9051 real(TKG) , intent(in) :: fracA
9052 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9053 real(TKG) , intent(in) , contiguous :: meanB(:)
9054 type(uppDia_type) , intent(in) :: subset
9055 end subroutine
9056#endif
9057
9058 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9059
9060 end interface
9061
9062 ! New_RDP_XLD
9063
9064 interface setCovMeanUpdated
9065
9066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9067
9068#if CK5_ENABLED
9069 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_CK5(covA, meanA, meanB, fracA, subset)
9070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9071 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_CK5
9072#endif
9073 use pm_kind, only: TKG => CK5
9074 real(TKG) , intent(in) :: fracA
9075 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9076 complex(TKG) , intent(in) , contiguous :: meanB(:)
9077 type(lowDia_type) , intent(in) :: subset
9078 end subroutine
9079#endif
9080
9081#if CK4_ENABLED
9082 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_CK4(covA, meanA, meanB, fracA, subset)
9083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9084 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_CK4
9085#endif
9086 use pm_kind, only: TKG => CK4
9087 real(TKG) , intent(in) :: fracA
9088 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9089 complex(TKG) , intent(in) , contiguous :: meanB(:)
9090 type(lowDia_type) , intent(in) :: subset
9091 end subroutine
9092#endif
9093
9094#if CK3_ENABLED
9095 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_CK3(covA, meanA, meanB, fracA, subset)
9096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9097 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_CK3
9098#endif
9099 use pm_kind, only: TKG => CK3
9100 real(TKG) , intent(in) :: fracA
9101 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9102 complex(TKG) , intent(in) , contiguous :: meanB(:)
9103 type(lowDia_type) , intent(in) :: subset
9104 end subroutine
9105#endif
9106
9107#if CK2_ENABLED
9108 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_CK2(covA, meanA, meanB, fracA, subset)
9109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9110 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_CK2
9111#endif
9112 use pm_kind, only: TKG => CK2
9113 real(TKG) , intent(in) :: fracA
9114 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9115 complex(TKG) , intent(in) , contiguous :: meanB(:)
9116 type(lowDia_type) , intent(in) :: subset
9117 end subroutine
9118#endif
9119
9120#if CK1_ENABLED
9121 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_CK1(covA, meanA, meanB, fracA, subset)
9122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9123 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_CK1
9124#endif
9125 use pm_kind, only: TKG => CK1
9126 real(TKG) , intent(in) :: fracA
9127 complex(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9128 complex(TKG) , intent(in) , contiguous :: meanB(:)
9129 type(lowDia_type) , intent(in) :: subset
9130 end subroutine
9131#endif
9132
9133 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9134
9135#if RK5_ENABLED
9136 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_RK5(covA, meanA, meanB, fracA, subset)
9137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9138 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_RK5
9139#endif
9140 use pm_kind, only: TKG => RK5
9141 real(TKG) , intent(in) :: fracA
9142 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9143 real(TKG) , intent(in) , contiguous :: meanB(:)
9144 type(lowDia_type) , intent(in) :: subset
9145 end subroutine
9146#endif
9147
9148#if RK4_ENABLED
9149 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_RK4(covA, meanA, meanB, fracA, subset)
9150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9151 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_RK4
9152#endif
9153 use pm_kind, only: TKG => RK4
9154 real(TKG) , intent(in) :: fracA
9155 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9156 real(TKG) , intent(in) , contiguous :: meanB(:)
9157 type(lowDia_type) , intent(in) :: subset
9158 end subroutine
9159#endif
9160
9161#if RK3_ENABLED
9162 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_RK3(covA, meanA, meanB, fracA, subset)
9163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9164 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_RK3
9165#endif
9166 use pm_kind, only: TKG => RK3
9167 real(TKG) , intent(in) :: fracA
9168 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9169 real(TKG) , intent(in) , contiguous :: meanB(:)
9170 type(lowDia_type) , intent(in) :: subset
9171 end subroutine
9172#endif
9173
9174#if RK2_ENABLED
9175 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_RK2(covA, meanA, meanB, fracA, subset)
9176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9177 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_RK2
9178#endif
9179 use pm_kind, only: TKG => RK2
9180 real(TKG) , intent(in) :: fracA
9181 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9182 real(TKG) , intent(in) , contiguous :: meanB(:)
9183 type(lowDia_type) , intent(in) :: subset
9184 end subroutine
9185#endif
9186
9187#if RK1_ENABLED
9188 PURE module subroutine setCovMeanUpdatedOld_RDP_XLD_RK1(covA, meanA, meanB, fracA, subset)
9189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9190 !DEC$ ATTRIBUTES DLLEXPORT :: setCovMeanUpdatedOld_RDP_XLD_RK1
9191#endif
9192 use pm_kind, only: TKG => RK1
9193 real(TKG) , intent(in) :: fracA
9194 real(TKG) , intent(inout) , contiguous :: covA(:,:), meanA(:)
9195 real(TKG) , intent(in) , contiguous :: meanB(:)
9196 type(lowDia_type) , intent(in) :: subset
9197 end subroutine
9198#endif
9199
9200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9201
9202 end interface
9203
9204!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9205
9206end module pm_sampleCov ! LCOV_EXCL_LINE
Generate and return the merged covariance of a sample resulting from the merger of two separate (pote...
Generate and return the (optionally unbiased) covariance matrix of a pair of (potentially weighted) t...
Return the merged covariance and mean of a sample resulting from the merger of two separate (potentia...
Return the covariance and mean of a sample that results from the merger of two separate (potentially ...
Return the covariance matrix and mean vector corresponding to the input (potentially weighted) input ...
Return the merged covariance of a sample resulting from the merger of two separate (potentially weigh...
Return the covAariance resulting from the merger of two separate (potentially weighted) non-singular ...
Return the covariance matrix corresponding to the input (potentially weighted) correlation matrix or ...
Generate and return the bias correction factor for the computation of the variance of a (weighted) sa...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(lowDia_type), parameter lowDia
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diago...
type(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
character(*, SK), parameter MODULE_NAME
This module contains classes and procedures for computing the properties related to the covariance ma...
This module contains classes and procedures for computing the properties related to the covariance ma...
This module contains the types, classes, and procedures relevant to weights of random samples.
type(rweight_type), parameter rweight
This is a scalar parameter object of type rweight_type that is exclusively used to signify the Symmet...
type(fweight_type), parameter fweight
This is a scalar parameter object of type fweight_type that is exclusively used to signify the Symmet...
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triang...
This is a concrete derived type whose instances are exclusively used to signify the fweight type of s...
This is a concrete derived type whose instances are exclusively used to signify the rweight type of s...
This is an abstract derived type for constructing concrete derived types to distinguish various proce...