ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleMean.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
101
102!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103
105
106 use pm_kind, only: SK, IK
107
108 implicit none
109
110 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleMean"
111
112!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113
226
227 ! ALL D1
228
229 interface getMean
230
231 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
233 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
234
235 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236
237#if CK5_ENABLED
238 PURE module function getMeanALL_WNO_D1_CK5(sample) result(mean)
239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
240 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_CK5
241#endif
242 use pm_kind, only: TKG => CK5
243 complex(TKG) , intent(in) , contiguous :: sample(:)
244 complex(TKG) :: mean
245 end function
246#endif
247
248#if CK4_ENABLED
249 PURE module function getMeanALL_WNO_D1_CK4(sample) result(mean)
250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
251 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_CK4
252#endif
253 use pm_kind, only: TKG => CK4
254 complex(TKG) , intent(in) , contiguous :: sample(:)
255 complex(TKG) :: mean
256 end function
257#endif
258
259#if CK3_ENABLED
260 PURE module function getMeanALL_WNO_D1_CK3(sample) result(mean)
261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
262 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_CK3
263#endif
264 use pm_kind, only: TKG => CK3
265 complex(TKG) , intent(in) , contiguous :: sample(:)
266 complex(TKG) :: mean
267 end function
268#endif
269
270#if CK2_ENABLED
271 PURE module function getMeanALL_WNO_D1_CK2(sample) result(mean)
272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
273 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_CK2
274#endif
275 use pm_kind, only: TKG => CK2
276 complex(TKG) , intent(in) , contiguous :: sample(:)
277 complex(TKG) :: mean
278 end function
279#endif
280
281#if CK1_ENABLED
282 PURE module function getMeanALL_WNO_D1_CK1(sample) result(mean)
283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
284 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_CK1
285#endif
286 use pm_kind, only: TKG => CK1
287 complex(TKG) , intent(in) , contiguous :: sample(:)
288 complex(TKG) :: mean
289 end function
290#endif
291
292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293
294#if RK5_ENABLED
295 PURE module function getMeanALL_WNO_D1_RK5(sample) result(mean)
296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
297 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_RK5
298#endif
299 use pm_kind, only: TKG => RK5
300 real(TKG) , intent(in) , contiguous :: sample(:)
301 real(TKG) :: mean
302 end function
303#endif
304
305#if RK4_ENABLED
306 PURE module function getMeanALL_WNO_D1_RK4(sample) result(mean)
307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
308 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_RK4
309#endif
310 use pm_kind, only: TKG => RK4
311 real(TKG) , intent(in) , contiguous :: sample(:)
312 real(TKG) :: mean
313 end function
314#endif
315
316#if RK3_ENABLED
317 PURE module function getMeanALL_WNO_D1_RK3(sample) result(mean)
318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
319 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_RK3
320#endif
321 use pm_kind, only: TKG => RK3
322 real(TKG) , intent(in) , contiguous :: sample(:)
323 real(TKG) :: mean
324 end function
325#endif
326
327#if RK2_ENABLED
328 PURE module function getMeanALL_WNO_D1_RK2(sample) result(mean)
329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
330 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_RK2
331#endif
332 use pm_kind, only: TKG => RK2
333 real(TKG) , intent(in) , contiguous :: sample(:)
334 real(TKG) :: mean
335 end function
336#endif
337
338#if RK1_ENABLED
339 PURE module function getMeanALL_WNO_D1_RK1(sample) result(mean)
340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
341 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D1_RK1
342#endif
343 use pm_kind, only: TKG => RK1
344 real(TKG) , intent(in) , contiguous :: sample(:)
345 real(TKG) :: mean
346 end function
347#endif
348
349 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
350
351 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
354
355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
356
357#if CK5_ENABLED
358 PURE module function getMeanALL_WTI_D1_CK5(sample, weight) result(mean)
359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
360 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_CK5
361#endif
362 use pm_kind, only: TKG => CK5
363 complex(TKG) , intent(in) , contiguous :: sample(:)
364 integer(IK) , intent(in) , contiguous :: weight(:)
365 complex(TKG) :: mean
366 end function
367#endif
368
369#if CK4_ENABLED
370 PURE module function getMeanALL_WTI_D1_CK4(sample, weight) result(mean)
371#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
372 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_CK4
373#endif
374 use pm_kind, only: TKG => CK4
375 complex(TKG) , intent(in) , contiguous :: sample(:)
376 integer(IK) , intent(in) , contiguous :: weight(:)
377 complex(TKG) :: mean
378 end function
379#endif
380
381#if CK3_ENABLED
382 PURE module function getMeanALL_WTI_D1_CK3(sample, weight) result(mean)
383#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
384 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_CK3
385#endif
386 use pm_kind, only: TKG => CK3
387 complex(TKG) , intent(in) , contiguous :: sample(:)
388 integer(IK) , intent(in) , contiguous :: weight(:)
389 complex(TKG) :: mean
390 end function
391#endif
392
393#if CK2_ENABLED
394 PURE module function getMeanALL_WTI_D1_CK2(sample, weight) result(mean)
395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
396 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_CK2
397#endif
398 use pm_kind, only: TKG => CK2
399 complex(TKG) , intent(in) , contiguous :: sample(:)
400 integer(IK) , intent(in) , contiguous :: weight(:)
401 complex(TKG) :: mean
402 end function
403#endif
404
405#if CK1_ENABLED
406 PURE module function getMeanALL_WTI_D1_CK1(sample, weight) result(mean)
407#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
408 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_CK1
409#endif
410 use pm_kind, only: TKG => CK1
411 complex(TKG) , intent(in) , contiguous :: sample(:)
412 integer(IK) , intent(in) , contiguous :: weight(:)
413 complex(TKG) :: mean
414 end function
415#endif
416
417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418
419#if RK5_ENABLED
420 PURE module function getMeanALL_WTI_D1_RK5(sample, weight) result(mean)
421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
422 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_RK5
423#endif
424 use pm_kind, only: TKG => RK5
425 real(TKG) , intent(in) , contiguous :: sample(:)
426 integer(IK) , intent(in) , contiguous :: weight(:)
427 real(TKG) :: mean
428 end function
429#endif
430
431#if RK4_ENABLED
432 PURE module function getMeanALL_WTI_D1_RK4(sample, weight) result(mean)
433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
434 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_RK4
435#endif
436 use pm_kind, only: TKG => RK4
437 real(TKG) , intent(in) , contiguous :: sample(:)
438 integer(IK) , intent(in) , contiguous :: weight(:)
439 real(TKG) :: mean
440 end function
441#endif
442
443#if RK3_ENABLED
444 PURE module function getMeanALL_WTI_D1_RK3(sample, weight) result(mean)
445#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
446 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_RK3
447#endif
448 use pm_kind, only: TKG => RK3
449 real(TKG) , intent(in) , contiguous :: sample(:)
450 integer(IK) , intent(in) , contiguous :: weight(:)
451 real(TKG) :: mean
452 end function
453#endif
454
455#if RK2_ENABLED
456 PURE module function getMeanALL_WTI_D1_RK2(sample, weight) result(mean)
457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
458 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_RK2
459#endif
460 use pm_kind, only: TKG => RK2
461 real(TKG) , intent(in) , contiguous :: sample(:)
462 integer(IK) , intent(in) , contiguous :: weight(:)
463 real(TKG) :: mean
464 end function
465#endif
466
467#if RK1_ENABLED
468 PURE module function getMeanALL_WTI_D1_RK1(sample, weight) result(mean)
469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
470 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D1_RK1
471#endif
472 use pm_kind, only: TKG => RK1
473 real(TKG) , intent(in) , contiguous :: sample(:)
474 integer(IK) , intent(in) , contiguous :: weight(:)
475 real(TKG) :: mean
476 end function
477#endif
478
479 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
480
481 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
482 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
484
485 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
486
487#if CK5_ENABLED
488 PURE module function getMeanALL_WTR_D1_CK5(sample, weight) result(mean)
489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
490 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_CK5
491#endif
492 use pm_kind, only: TKG => CK5
493 complex(TKG) , intent(in) , contiguous :: sample(:)
494 real(TKG) , intent(in) , contiguous :: weight(:)
495 complex(TKG) :: mean
496 end function
497#endif
498
499#if CK4_ENABLED
500 PURE module function getMeanALL_WTR_D1_CK4(sample, weight) result(mean)
501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
502 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_CK4
503#endif
504 use pm_kind, only: TKG => CK4
505 complex(TKG) , intent(in) , contiguous :: sample(:)
506 real(TKG) , intent(in) , contiguous :: weight(:)
507 complex(TKG) :: mean
508 end function
509#endif
510
511#if CK3_ENABLED
512 PURE module function getMeanALL_WTR_D1_CK3(sample, weight) result(mean)
513#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
514 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_CK3
515#endif
516 use pm_kind, only: TKG => CK3
517 complex(TKG) , intent(in) , contiguous :: sample(:)
518 real(TKG) , intent(in) , contiguous :: weight(:)
519 complex(TKG) :: mean
520 end function
521#endif
522
523#if CK2_ENABLED
524 PURE module function getMeanALL_WTR_D1_CK2(sample, weight) result(mean)
525#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
526 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_CK2
527#endif
528 use pm_kind, only: TKG => CK2
529 complex(TKG) , intent(in) , contiguous :: sample(:)
530 real(TKG) , intent(in) , contiguous :: weight(:)
531 complex(TKG) :: mean
532 end function
533#endif
534
535#if CK1_ENABLED
536 PURE module function getMeanALL_WTR_D1_CK1(sample, weight) result(mean)
537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_CK1
539#endif
540 use pm_kind, only: TKG => CK1
541 complex(TKG) , intent(in) , contiguous :: sample(:)
542 real(TKG) , intent(in) , contiguous :: weight(:)
543 complex(TKG) :: mean
544 end function
545#endif
546
547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548
549#if RK5_ENABLED
550 PURE module function getMeanALL_WTR_D1_RK5(sample, weight) result(mean)
551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
552 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_RK5
553#endif
554 use pm_kind, only: TKG => RK5
555 real(TKG) , intent(in) , contiguous :: sample(:)
556 real(TKG) , intent(in) , contiguous :: weight(:)
557 real(TKG) :: mean
558 end function
559#endif
560
561#if RK4_ENABLED
562 PURE module function getMeanALL_WTR_D1_RK4(sample, weight) result(mean)
563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
564 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_RK4
565#endif
566 use pm_kind, only: TKG => RK4
567 real(TKG) , intent(in) , contiguous :: sample(:)
568 real(TKG) , intent(in) , contiguous :: weight(:)
569 real(TKG) :: mean
570 end function
571#endif
572
573#if RK3_ENABLED
574 PURE module function getMeanALL_WTR_D1_RK3(sample, weight) result(mean)
575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
576 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_RK3
577#endif
578 use pm_kind, only: TKG => RK3
579 real(TKG) , intent(in) , contiguous :: sample(:)
580 real(TKG) , intent(in) , contiguous :: weight(:)
581 real(TKG) :: mean
582 end function
583#endif
584
585#if RK2_ENABLED
586 PURE module function getMeanALL_WTR_D1_RK2(sample, weight) result(mean)
587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
588 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_RK2
589#endif
590 use pm_kind, only: TKG => RK2
591 real(TKG) , intent(in) , contiguous :: sample(:)
592 real(TKG) , intent(in) , contiguous :: weight(:)
593 real(TKG) :: mean
594 end function
595#endif
596
597#if RK1_ENABLED
598 PURE module function getMeanALL_WTR_D1_RK1(sample, weight) result(mean)
599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
600 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D1_RK1
601#endif
602 use pm_kind, only: TKG => RK1
603 real(TKG) , intent(in) , contiguous :: sample(:)
604 real(TKG) , intent(in) , contiguous :: weight(:)
605 real(TKG) :: mean
606 end function
607#endif
608
609 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610
611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
612 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
613 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
614
615 end interface
616
617 ! ALL D2
618
619 interface getMean
620
621 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
624
625 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
626
627#if CK5_ENABLED
628 PURE module function getMeanALL_WNO_D2_CK5(sample) result(mean)
629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
630 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_CK5
631#endif
632 use pm_kind, only: TKG => CK5
633 complex(TKG) , intent(in) , contiguous :: sample(:,:)
634 complex(TKG) :: mean
635 end function
636#endif
637
638#if CK4_ENABLED
639 PURE module function getMeanALL_WNO_D2_CK4(sample) result(mean)
640#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
641 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_CK4
642#endif
643 use pm_kind, only: TKG => CK4
644 complex(TKG) , intent(in) , contiguous :: sample(:,:)
645 complex(TKG) :: mean
646 end function
647#endif
648
649#if CK3_ENABLED
650 PURE module function getMeanALL_WNO_D2_CK3(sample) result(mean)
651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
652 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_CK3
653#endif
654 use pm_kind, only: TKG => CK3
655 complex(TKG) , intent(in) , contiguous :: sample(:,:)
656 complex(TKG) :: mean
657 end function
658#endif
659
660#if CK2_ENABLED
661 PURE module function getMeanALL_WNO_D2_CK2(sample) result(mean)
662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
663 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_CK2
664#endif
665 use pm_kind, only: TKG => CK2
666 complex(TKG) , intent(in) , contiguous :: sample(:,:)
667 complex(TKG) :: mean
668 end function
669#endif
670
671#if CK1_ENABLED
672 PURE module function getMeanALL_WNO_D2_CK1(sample) result(mean)
673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
674 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_CK1
675#endif
676 use pm_kind, only: TKG => CK1
677 complex(TKG) , intent(in) , contiguous :: sample(:,:)
678 complex(TKG) :: mean
679 end function
680#endif
681
682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683
684#if RK5_ENABLED
685 PURE module function getMeanALL_WNO_D2_RK5(sample) result(mean)
686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
687 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_RK5
688#endif
689 use pm_kind, only: TKG => RK5
690 real(TKG) , intent(in) , contiguous :: sample(:,:)
691 real(TKG) :: mean
692 end function
693#endif
694
695#if RK4_ENABLED
696 PURE module function getMeanALL_WNO_D2_RK4(sample) result(mean)
697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
698 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_RK4
699#endif
700 use pm_kind, only: TKG => RK4
701 real(TKG) , intent(in) , contiguous :: sample(:,:)
702 real(TKG) :: mean
703 end function
704#endif
705
706#if RK3_ENABLED
707 PURE module function getMeanALL_WNO_D2_RK3(sample) result(mean)
708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
709 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_RK3
710#endif
711 use pm_kind, only: TKG => RK3
712 real(TKG) , intent(in) , contiguous :: sample(:,:)
713 real(TKG) :: mean
714 end function
715#endif
716
717#if RK2_ENABLED
718 PURE module function getMeanALL_WNO_D2_RK2(sample) result(mean)
719#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
720 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_RK2
721#endif
722 use pm_kind, only: TKG => RK2
723 real(TKG) , intent(in) , contiguous :: sample(:,:)
724 real(TKG) :: mean
725 end function
726#endif
727
728#if RK1_ENABLED
729 PURE module function getMeanALL_WNO_D2_RK1(sample) result(mean)
730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
731 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WNO_D2_RK1
732#endif
733 use pm_kind, only: TKG => RK1
734 real(TKG) , intent(in) , contiguous :: sample(:,:)
735 real(TKG) :: mean
736 end function
737#endif
738
739 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
740
741 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
742 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
743 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
744
745 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
746
747#if CK5_ENABLED
748 PURE module function getMeanALL_WTI_D2_CK5(sample, weight) result(mean)
749#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
750 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_CK5
751#endif
752 use pm_kind, only: TKG => CK5
753 complex(TKG) , intent(in) , contiguous :: sample(:,:)
754 integer(IK) , intent(in) , contiguous :: weight(:)
755 complex(TKG) :: mean
756 end function
757#endif
758
759#if CK4_ENABLED
760 PURE module function getMeanALL_WTI_D2_CK4(sample, weight) result(mean)
761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
762 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_CK4
763#endif
764 use pm_kind, only: TKG => CK4
765 complex(TKG) , intent(in) , contiguous :: sample(:,:)
766 integer(IK) , intent(in) , contiguous :: weight(:)
767 complex(TKG) :: mean
768 end function
769#endif
770
771#if CK3_ENABLED
772 PURE module function getMeanALL_WTI_D2_CK3(sample, weight) result(mean)
773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
774 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_CK3
775#endif
776 use pm_kind, only: TKG => CK3
777 complex(TKG) , intent(in) , contiguous :: sample(:,:)
778 integer(IK) , intent(in) , contiguous :: weight(:)
779 complex(TKG) :: mean
780 end function
781#endif
782
783#if CK2_ENABLED
784 PURE module function getMeanALL_WTI_D2_CK2(sample, weight) result(mean)
785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
786 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_CK2
787#endif
788 use pm_kind, only: TKG => CK2
789 complex(TKG) , intent(in) , contiguous :: sample(:,:)
790 integer(IK) , intent(in) , contiguous :: weight(:)
791 complex(TKG) :: mean
792 end function
793#endif
794
795#if CK1_ENABLED
796 PURE module function getMeanALL_WTI_D2_CK1(sample, weight) result(mean)
797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
798 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_CK1
799#endif
800 use pm_kind, only: TKG => CK1
801 complex(TKG) , intent(in) , contiguous :: sample(:,:)
802 integer(IK) , intent(in) , contiguous :: weight(:)
803 complex(TKG) :: mean
804 end function
805#endif
806
807 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
808
809#if RK5_ENABLED
810 PURE module function getMeanALL_WTI_D2_RK5(sample, weight) result(mean)
811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
812 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_RK5
813#endif
814 use pm_kind, only: TKG => RK5
815 real(TKG) , intent(in) , contiguous :: sample(:,:)
816 integer(IK) , intent(in) , contiguous :: weight(:)
817 real(TKG) :: mean
818 end function
819#endif
820
821#if RK4_ENABLED
822 PURE module function getMeanALL_WTI_D2_RK4(sample, weight) result(mean)
823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_RK4
825#endif
826 use pm_kind, only: TKG => RK4
827 real(TKG) , intent(in) , contiguous :: sample(:,:)
828 integer(IK) , intent(in) , contiguous :: weight(:)
829 real(TKG) :: mean
830 end function
831#endif
832
833#if RK3_ENABLED
834 PURE module function getMeanALL_WTI_D2_RK3(sample, weight) result(mean)
835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
836 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_RK3
837#endif
838 use pm_kind, only: TKG => RK3
839 real(TKG) , intent(in) , contiguous :: sample(:,:)
840 integer(IK) , intent(in) , contiguous :: weight(:)
841 real(TKG) :: mean
842 end function
843#endif
844
845#if RK2_ENABLED
846 PURE module function getMeanALL_WTI_D2_RK2(sample, weight) result(mean)
847#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
848 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_RK2
849#endif
850 use pm_kind, only: TKG => RK2
851 real(TKG) , intent(in) , contiguous :: sample(:,:)
852 integer(IK) , intent(in) , contiguous :: weight(:)
853 real(TKG) :: mean
854 end function
855#endif
856
857#if RK1_ENABLED
858 PURE module function getMeanALL_WTI_D2_RK1(sample, weight) result(mean)
859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
860 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTI_D2_RK1
861#endif
862 use pm_kind, only: TKG => RK1
863 real(TKG) , intent(in) , contiguous :: sample(:,:)
864 integer(IK) , intent(in) , contiguous :: weight(:)
865 real(TKG) :: mean
866 end function
867#endif
868
869 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
870
871 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
872 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
873 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
874
875 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
876
877#if CK5_ENABLED
878 PURE module function getMeanALL_WTR_D2_CK5(sample, weight) result(mean)
879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
880 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_CK5
881#endif
882 use pm_kind, only: TKG => CK5
883 complex(TKG) , intent(in) , contiguous :: sample(:,:)
884 real(TKG) , intent(in) , contiguous :: weight(:)
885 complex(TKG) :: mean
886 end function
887#endif
888
889#if CK4_ENABLED
890 PURE module function getMeanALL_WTR_D2_CK4(sample, weight) result(mean)
891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
892 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_CK4
893#endif
894 use pm_kind, only: TKG => CK4
895 complex(TKG) , intent(in) , contiguous :: sample(:,:)
896 real(TKG) , intent(in) , contiguous :: weight(:)
897 complex(TKG) :: mean
898 end function
899#endif
900
901#if CK3_ENABLED
902 PURE module function getMeanALL_WTR_D2_CK3(sample, weight) result(mean)
903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
904 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_CK3
905#endif
906 use pm_kind, only: TKG => CK3
907 complex(TKG) , intent(in) , contiguous :: sample(:,:)
908 real(TKG) , intent(in) , contiguous :: weight(:)
909 complex(TKG) :: mean
910 end function
911#endif
912
913#if CK2_ENABLED
914 PURE module function getMeanALL_WTR_D2_CK2(sample, weight) result(mean)
915#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
916 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_CK2
917#endif
918 use pm_kind, only: TKG => CK2
919 complex(TKG) , intent(in) , contiguous :: sample(:,:)
920 real(TKG) , intent(in) , contiguous :: weight(:)
921 complex(TKG) :: mean
922 end function
923#endif
924
925#if CK1_ENABLED
926 PURE module function getMeanALL_WTR_D2_CK1(sample, weight) result(mean)
927#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
928 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_CK1
929#endif
930 use pm_kind, only: TKG => CK1
931 complex(TKG) , intent(in) , contiguous :: sample(:,:)
932 real(TKG) , intent(in) , contiguous :: weight(:)
933 complex(TKG) :: mean
934 end function
935#endif
936
937 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
938
939#if RK5_ENABLED
940 PURE module function getMeanALL_WTR_D2_RK5(sample, weight) result(mean)
941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
942 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_RK5
943#endif
944 use pm_kind, only: TKG => RK5
945 real(TKG) , intent(in) , contiguous :: sample(:,:)
946 real(TKG) , intent(in) , contiguous :: weight(:)
947 real(TKG) :: mean
948 end function
949#endif
950
951#if RK4_ENABLED
952 PURE module function getMeanALL_WTR_D2_RK4(sample, weight) result(mean)
953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
954 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_RK4
955#endif
956 use pm_kind, only: TKG => RK4
957 real(TKG) , intent(in) , contiguous :: sample(:,:)
958 real(TKG) , intent(in) , contiguous :: weight(:)
959 real(TKG) :: mean
960 end function
961#endif
962
963#if RK3_ENABLED
964 PURE module function getMeanALL_WTR_D2_RK3(sample, weight) result(mean)
965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
966 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_RK3
967#endif
968 use pm_kind, only: TKG => RK3
969 real(TKG) , intent(in) , contiguous :: sample(:,:)
970 real(TKG) , intent(in) , contiguous :: weight(:)
971 real(TKG) :: mean
972 end function
973#endif
974
975#if RK2_ENABLED
976 PURE module function getMeanALL_WTR_D2_RK2(sample, weight) result(mean)
977#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
978 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_RK2
979#endif
980 use pm_kind, only: TKG => RK2
981 real(TKG) , intent(in) , contiguous :: sample(:,:)
982 real(TKG) , intent(in) , contiguous :: weight(:)
983 real(TKG) :: mean
984 end function
985#endif
986
987#if RK1_ENABLED
988 PURE module function getMeanALL_WTR_D2_RK1(sample, weight) result(mean)
989#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
990 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanALL_WTR_D2_RK1
991#endif
992 use pm_kind, only: TKG => RK1
993 real(TKG) , intent(in) , contiguous :: sample(:,:)
994 real(TKG) , intent(in) , contiguous :: weight(:)
995 real(TKG) :: mean
996 end function
997#endif
998
999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1000
1001 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1003 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1004
1005 end interface
1006
1007 ! DIM D1
1008
1009 interface getMean
1010
1011 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1013 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1014
1015 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1016
1017#if CK5_ENABLED
1018 PURE module function getMeanDIM_WNO_D1_CK5(sample, dim) result(mean)
1019#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1020 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_CK5
1021#endif
1022 use pm_kind, only: TKG => CK5
1023 integer(IK) , intent(in) :: dim
1024 complex(TKG) , intent(in) , contiguous :: sample(:)
1025 complex(TKG) :: mean
1026 end function
1027#endif
1028
1029#if CK4_ENABLED
1030 PURE module function getMeanDIM_WNO_D1_CK4(sample, dim) result(mean)
1031#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1032 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_CK4
1033#endif
1034 use pm_kind, only: TKG => CK4
1035 integer(IK) , intent(in) :: dim
1036 complex(TKG) , intent(in) , contiguous :: sample(:)
1037 complex(TKG) :: mean
1038 end function
1039#endif
1040
1041#if CK3_ENABLED
1042 PURE module function getMeanDIM_WNO_D1_CK3(sample, dim) result(mean)
1043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1044 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_CK3
1045#endif
1046 use pm_kind, only: TKG => CK3
1047 integer(IK) , intent(in) :: dim
1048 complex(TKG) , intent(in) , contiguous :: sample(:)
1049 complex(TKG) :: mean
1050 end function
1051#endif
1052
1053#if CK2_ENABLED
1054 PURE module function getMeanDIM_WNO_D1_CK2(sample, dim) result(mean)
1055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1056 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_CK2
1057#endif
1058 use pm_kind, only: TKG => CK2
1059 integer(IK) , intent(in) :: dim
1060 complex(TKG) , intent(in) , contiguous :: sample(:)
1061 complex(TKG) :: mean
1062 end function
1063#endif
1064
1065#if CK1_ENABLED
1066 PURE module function getMeanDIM_WNO_D1_CK1(sample, dim) result(mean)
1067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1068 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_CK1
1069#endif
1070 use pm_kind, only: TKG => CK1
1071 integer(IK) , intent(in) :: dim
1072 complex(TKG) , intent(in) , contiguous :: sample(:)
1073 complex(TKG) :: mean
1074 end function
1075#endif
1076
1077 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1078
1079#if RK5_ENABLED
1080 PURE module function getMeanDIM_WNO_D1_RK5(sample, dim) result(mean)
1081#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1082 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_RK5
1083#endif
1084 use pm_kind, only: TKG => RK5
1085 integer(IK) , intent(in) :: dim
1086 real(TKG) , intent(in) , contiguous :: sample(:)
1087 real(TKG) :: mean
1088 end function
1089#endif
1090
1091#if RK4_ENABLED
1092 PURE module function getMeanDIM_WNO_D1_RK4(sample, dim) result(mean)
1093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1094 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_RK4
1095#endif
1096 use pm_kind, only: TKG => RK4
1097 integer(IK) , intent(in) :: dim
1098 real(TKG) , intent(in) , contiguous :: sample(:)
1099 real(TKG) :: mean
1100 end function
1101#endif
1102
1103#if RK3_ENABLED
1104 PURE module function getMeanDIM_WNO_D1_RK3(sample, dim) result(mean)
1105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1106 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_RK3
1107#endif
1108 use pm_kind, only: TKG => RK3
1109 integer(IK) , intent(in) :: dim
1110 real(TKG) , intent(in) , contiguous :: sample(:)
1111 real(TKG) :: mean
1112 end function
1113#endif
1114
1115#if RK2_ENABLED
1116 PURE module function getMeanDIM_WNO_D1_RK2(sample, dim) result(mean)
1117#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1118 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_RK2
1119#endif
1120 use pm_kind, only: TKG => RK2
1121 integer(IK) , intent(in) :: dim
1122 real(TKG) , intent(in) , contiguous :: sample(:)
1123 real(TKG) :: mean
1124 end function
1125#endif
1126
1127#if RK1_ENABLED
1128 PURE module function getMeanDIM_WNO_D1_RK1(sample, dim) result(mean)
1129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1130 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D1_RK1
1131#endif
1132 use pm_kind, only: TKG => RK1
1133 integer(IK) , intent(in) :: dim
1134 real(TKG) , intent(in) , contiguous :: sample(:)
1135 real(TKG) :: mean
1136 end function
1137#endif
1138
1139 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1140
1141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1143 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1144
1145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1146
1147#if CK5_ENABLED
1148 PURE module function getMeanDIM_WTI_D1_CK5(sample, dim, weight) result(mean)
1149#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1150 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_CK5
1151#endif
1152 use pm_kind, only: TKG => CK5
1153 integer(IK) , intent(in) :: dim
1154 complex(TKG) , intent(in) , contiguous :: sample(:)
1155 integer(IK) , intent(in) , contiguous :: weight(:)
1156 complex(TKG) :: mean
1157 end function
1158#endif
1159
1160#if CK4_ENABLED
1161 PURE module function getMeanDIM_WTI_D1_CK4(sample, dim, weight) result(mean)
1162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1163 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_CK4
1164#endif
1165 use pm_kind, only: TKG => CK4
1166 integer(IK) , intent(in) :: dim
1167 complex(TKG) , intent(in) , contiguous :: sample(:)
1168 integer(IK) , intent(in) , contiguous :: weight(:)
1169 complex(TKG) :: mean
1170 end function
1171#endif
1172
1173#if CK3_ENABLED
1174 PURE module function getMeanDIM_WTI_D1_CK3(sample, dim, weight) result(mean)
1175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1176 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_CK3
1177#endif
1178 use pm_kind, only: TKG => CK3
1179 integer(IK) , intent(in) :: dim
1180 complex(TKG) , intent(in) , contiguous :: sample(:)
1181 integer(IK) , intent(in) , contiguous :: weight(:)
1182 complex(TKG) :: mean
1183 end function
1184#endif
1185
1186#if CK2_ENABLED
1187 PURE module function getMeanDIM_WTI_D1_CK2(sample, dim, weight) result(mean)
1188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1189 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_CK2
1190#endif
1191 use pm_kind, only: TKG => CK2
1192 integer(IK) , intent(in) :: dim
1193 complex(TKG) , intent(in) , contiguous :: sample(:)
1194 integer(IK) , intent(in) , contiguous :: weight(:)
1195 complex(TKG) :: mean
1196 end function
1197#endif
1198
1199#if CK1_ENABLED
1200 PURE module function getMeanDIM_WTI_D1_CK1(sample, dim, weight) result(mean)
1201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1202 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_CK1
1203#endif
1204 use pm_kind, only: TKG => CK1
1205 integer(IK) , intent(in) :: dim
1206 complex(TKG) , intent(in) , contiguous :: sample(:)
1207 integer(IK) , intent(in) , contiguous :: weight(:)
1208 complex(TKG) :: mean
1209 end function
1210#endif
1211
1212 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1213
1214#if RK5_ENABLED
1215 PURE module function getMeanDIM_WTI_D1_RK5(sample, dim, weight) result(mean)
1216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1217 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_RK5
1218#endif
1219 use pm_kind, only: TKG => RK5
1220 integer(IK) , intent(in) :: dim
1221 real(TKG) , intent(in) , contiguous :: sample(:)
1222 integer(IK) , intent(in) , contiguous :: weight(:)
1223 real(TKG) :: mean
1224 end function
1225#endif
1226
1227#if RK4_ENABLED
1228 PURE module function getMeanDIM_WTI_D1_RK4(sample, dim, weight) result(mean)
1229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1230 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_RK4
1231#endif
1232 use pm_kind, only: TKG => RK4
1233 integer(IK) , intent(in) :: dim
1234 real(TKG) , intent(in) , contiguous :: sample(:)
1235 integer(IK) , intent(in) , contiguous :: weight(:)
1236 real(TKG) :: mean
1237 end function
1238#endif
1239
1240#if RK3_ENABLED
1241 PURE module function getMeanDIM_WTI_D1_RK3(sample, dim, weight) result(mean)
1242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1243 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_RK3
1244#endif
1245 use pm_kind, only: TKG => RK3
1246 integer(IK) , intent(in) :: dim
1247 real(TKG) , intent(in) , contiguous :: sample(:)
1248 integer(IK) , intent(in) , contiguous :: weight(:)
1249 real(TKG) :: mean
1250 end function
1251#endif
1252
1253#if RK2_ENABLED
1254 PURE module function getMeanDIM_WTI_D1_RK2(sample, dim, weight) result(mean)
1255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1256 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_RK2
1257#endif
1258 use pm_kind, only: TKG => RK2
1259 integer(IK) , intent(in) :: dim
1260 real(TKG) , intent(in) , contiguous :: sample(:)
1261 integer(IK) , intent(in) , contiguous :: weight(:)
1262 real(TKG) :: mean
1263 end function
1264#endif
1265
1266#if RK1_ENABLED
1267 PURE module function getMeanDIM_WTI_D1_RK1(sample, dim, weight) result(mean)
1268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1269 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D1_RK1
1270#endif
1271 use pm_kind, only: TKG => RK1
1272 integer(IK) , intent(in) :: dim
1273 real(TKG) , intent(in) , contiguous :: sample(:)
1274 integer(IK) , intent(in) , contiguous :: weight(:)
1275 real(TKG) :: mean
1276 end function
1277#endif
1278
1279 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1280
1281 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1283 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1284
1285 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1286
1287#if CK5_ENABLED
1288 PURE module function getMeanDIM_WTR_D1_CK5(sample, dim, weight) result(mean)
1289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1290 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_CK5
1291#endif
1292 use pm_kind, only: TKG => CK5
1293 integer(IK) , intent(in) :: dim
1294 complex(TKG) , intent(in) , contiguous :: sample(:)
1295 real(TKG) , intent(in) , contiguous :: weight(:)
1296 complex(TKG) :: mean
1297 end function
1298#endif
1299
1300#if CK4_ENABLED
1301 PURE module function getMeanDIM_WTR_D1_CK4(sample, dim, weight) result(mean)
1302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1303 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_CK4
1304#endif
1305 use pm_kind, only: TKG => CK4
1306 integer(IK) , intent(in) :: dim
1307 complex(TKG) , intent(in) , contiguous :: sample(:)
1308 real(TKG) , intent(in) , contiguous :: weight(:)
1309 complex(TKG) :: mean
1310 end function
1311#endif
1312
1313#if CK3_ENABLED
1314 PURE module function getMeanDIM_WTR_D1_CK3(sample, dim, weight) result(mean)
1315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1316 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_CK3
1317#endif
1318 use pm_kind, only: TKG => CK3
1319 integer(IK) , intent(in) :: dim
1320 complex(TKG) , intent(in) , contiguous :: sample(:)
1321 real(TKG) , intent(in) , contiguous :: weight(:)
1322 complex(TKG) :: mean
1323 end function
1324#endif
1325
1326#if CK2_ENABLED
1327 PURE module function getMeanDIM_WTR_D1_CK2(sample, dim, weight) result(mean)
1328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1329 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_CK2
1330#endif
1331 use pm_kind, only: TKG => CK2
1332 integer(IK) , intent(in) :: dim
1333 complex(TKG) , intent(in) , contiguous :: sample(:)
1334 real(TKG) , intent(in) , contiguous :: weight(:)
1335 complex(TKG) :: mean
1336 end function
1337#endif
1338
1339#if CK1_ENABLED
1340 PURE module function getMeanDIM_WTR_D1_CK1(sample, dim, weight) result(mean)
1341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1342 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_CK1
1343#endif
1344 use pm_kind, only: TKG => CK1
1345 integer(IK) , intent(in) :: dim
1346 complex(TKG) , intent(in) , contiguous :: sample(:)
1347 real(TKG) , intent(in) , contiguous :: weight(:)
1348 complex(TKG) :: mean
1349 end function
1350#endif
1351
1352 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1353
1354#if RK5_ENABLED
1355 PURE module function getMeanDIM_WTR_D1_RK5(sample, dim, weight) result(mean)
1356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1357 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_RK5
1358#endif
1359 use pm_kind, only: TKG => RK5
1360 integer(IK) , intent(in) :: dim
1361 real(TKG) , intent(in) , contiguous :: sample(:)
1362 real(TKG) , intent(in) , contiguous :: weight(:)
1363 real(TKG) :: mean
1364 end function
1365#endif
1366
1367#if RK4_ENABLED
1368 PURE module function getMeanDIM_WTR_D1_RK4(sample, dim, weight) result(mean)
1369#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1370 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_RK4
1371#endif
1372 use pm_kind, only: TKG => RK4
1373 integer(IK) , intent(in) :: dim
1374 real(TKG) , intent(in) , contiguous :: sample(:)
1375 real(TKG) , intent(in) , contiguous :: weight(:)
1376 real(TKG) :: mean
1377 end function
1378#endif
1379
1380#if RK3_ENABLED
1381 PURE module function getMeanDIM_WTR_D1_RK3(sample, dim, weight) result(mean)
1382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1383 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_RK3
1384#endif
1385 use pm_kind, only: TKG => RK3
1386 integer(IK) , intent(in) :: dim
1387 real(TKG) , intent(in) , contiguous :: sample(:)
1388 real(TKG) , intent(in) , contiguous :: weight(:)
1389 real(TKG) :: mean
1390 end function
1391#endif
1392
1393#if RK2_ENABLED
1394 PURE module function getMeanDIM_WTR_D1_RK2(sample, dim, weight) result(mean)
1395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1396 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_RK2
1397#endif
1398 use pm_kind, only: TKG => RK2
1399 integer(IK) , intent(in) :: dim
1400 real(TKG) , intent(in) , contiguous :: sample(:)
1401 real(TKG) , intent(in) , contiguous :: weight(:)
1402 real(TKG) :: mean
1403 end function
1404#endif
1405
1406#if RK1_ENABLED
1407 PURE module function getMeanDIM_WTR_D1_RK1(sample, dim, weight) result(mean)
1408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1409 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D1_RK1
1410#endif
1411 use pm_kind, only: TKG => RK1
1412 integer(IK) , intent(in) :: dim
1413 real(TKG) , intent(in) , contiguous :: sample(:)
1414 real(TKG) , intent(in) , contiguous :: weight(:)
1415 real(TKG) :: mean
1416 end function
1417#endif
1418
1419 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1420
1421 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1424
1425 end interface
1426
1427 ! DIM D2
1428
1429 interface getMean
1430
1431 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1432 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1433 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1434
1435 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1436
1437#if CK5_ENABLED
1438 PURE module function getMeanDIM_WNO_D2_CK5(sample, dim) result(mean)
1439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1440 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_CK5
1441#endif
1442 use pm_kind, only: TKG => CK5
1443 integer(IK) , intent(in) :: dim
1444 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1445 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1446 end function
1447#endif
1448
1449#if CK4_ENABLED
1450 PURE module function getMeanDIM_WNO_D2_CK4(sample, dim) result(mean)
1451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1452 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_CK4
1453#endif
1454 use pm_kind, only: TKG => CK4
1455 integer(IK) , intent(in) :: dim
1456 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1457 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1458 end function
1459#endif
1460
1461#if CK3_ENABLED
1462 PURE module function getMeanDIM_WNO_D2_CK3(sample, dim) result(mean)
1463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1464 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_CK3
1465#endif
1466 use pm_kind, only: TKG => CK3
1467 integer(IK) , intent(in) :: dim
1468 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1469 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1470 end function
1471#endif
1472
1473#if CK2_ENABLED
1474 PURE module function getMeanDIM_WNO_D2_CK2(sample, dim) result(mean)
1475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1476 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_CK2
1477#endif
1478 use pm_kind, only: TKG => CK2
1479 integer(IK) , intent(in) :: dim
1480 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1481 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1482 end function
1483#endif
1484
1485#if CK1_ENABLED
1486 PURE module function getMeanDIM_WNO_D2_CK1(sample, dim) result(mean)
1487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1488 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_CK1
1489#endif
1490 use pm_kind, only: TKG => CK1
1491 integer(IK) , intent(in) :: dim
1492 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1493 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1494 end function
1495#endif
1496
1497 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1498
1499#if RK5_ENABLED
1500 PURE module function getMeanDIM_WNO_D2_RK5(sample, dim) result(mean)
1501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1502 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_RK5
1503#endif
1504 use pm_kind, only: TKG => RK5
1505 integer(IK) , intent(in) :: dim
1506 real(TKG) , intent(in) , contiguous :: sample(:,:)
1507 real(TKG) :: mean(size(sample, 3 - dim, IK))
1508 end function
1509#endif
1510
1511#if RK4_ENABLED
1512 PURE module function getMeanDIM_WNO_D2_RK4(sample, dim) result(mean)
1513#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1514 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_RK4
1515#endif
1516 use pm_kind, only: TKG => RK4
1517 integer(IK) , intent(in) :: dim
1518 real(TKG) , intent(in) , contiguous :: sample(:,:)
1519 real(TKG) :: mean(size(sample, 3 - dim, IK))
1520 end function
1521#endif
1522
1523#if RK3_ENABLED
1524 PURE module function getMeanDIM_WNO_D2_RK3(sample, dim) result(mean)
1525#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1526 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_RK3
1527#endif
1528 use pm_kind, only: TKG => RK3
1529 integer(IK) , intent(in) :: dim
1530 real(TKG) , intent(in) , contiguous :: sample(:,:)
1531 real(TKG) :: mean(size(sample, 3 - dim, IK))
1532 end function
1533#endif
1534
1535#if RK2_ENABLED
1536 PURE module function getMeanDIM_WNO_D2_RK2(sample, dim) result(mean)
1537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1538 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_RK2
1539#endif
1540 use pm_kind, only: TKG => RK2
1541 integer(IK) , intent(in) :: dim
1542 real(TKG) , intent(in) , contiguous :: sample(:,:)
1543 real(TKG) :: mean(size(sample, 3 - dim, IK))
1544 end function
1545#endif
1546
1547#if RK1_ENABLED
1548 PURE module function getMeanDIM_WNO_D2_RK1(sample, dim) result(mean)
1549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1550 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WNO_D2_RK1
1551#endif
1552 use pm_kind, only: TKG => RK1
1553 integer(IK) , intent(in) :: dim
1554 real(TKG) , intent(in) , contiguous :: sample(:,:)
1555 real(TKG) :: mean(size(sample, 3 - dim, IK))
1556 end function
1557#endif
1558
1559 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1560
1561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1562 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1563 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1564
1565 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1566
1567#if CK5_ENABLED
1568 PURE module function getMeanDIM_WTI_D2_CK5(sample, dim, weight) result(mean)
1569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1570 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_CK5
1571#endif
1572 use pm_kind, only: TKG => CK5
1573 integer(IK) , intent(in) :: dim
1574 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1575 integer(IK) , intent(in) , contiguous :: weight(:)
1576 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1577 end function
1578#endif
1579
1580#if CK4_ENABLED
1581 PURE module function getMeanDIM_WTI_D2_CK4(sample, dim, weight) result(mean)
1582#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1583 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_CK4
1584#endif
1585 use pm_kind, only: TKG => CK4
1586 integer(IK) , intent(in) :: dim
1587 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1588 integer(IK) , intent(in) , contiguous :: weight(:)
1589 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1590 end function
1591#endif
1592
1593#if CK3_ENABLED
1594 PURE module function getMeanDIM_WTI_D2_CK3(sample, dim, weight) result(mean)
1595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1596 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_CK3
1597#endif
1598 use pm_kind, only: TKG => CK3
1599 integer(IK) , intent(in) :: dim
1600 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1601 integer(IK) , intent(in) , contiguous :: weight(:)
1602 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1603 end function
1604#endif
1605
1606#if CK2_ENABLED
1607 PURE module function getMeanDIM_WTI_D2_CK2(sample, dim, weight) result(mean)
1608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1609 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_CK2
1610#endif
1611 use pm_kind, only: TKG => CK2
1612 integer(IK) , intent(in) :: dim
1613 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1614 integer(IK) , intent(in) , contiguous :: weight(:)
1615 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1616 end function
1617#endif
1618
1619#if CK1_ENABLED
1620 PURE module function getMeanDIM_WTI_D2_CK1(sample, dim, weight) result(mean)
1621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1622 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_CK1
1623#endif
1624 use pm_kind, only: TKG => CK1
1625 integer(IK) , intent(in) :: dim
1626 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1627 integer(IK) , intent(in) , contiguous :: weight(:)
1628 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1629 end function
1630#endif
1631
1632 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1633
1634#if RK5_ENABLED
1635 PURE module function getMeanDIM_WTI_D2_RK5(sample, dim, weight) result(mean)
1636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1637 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_RK5
1638#endif
1639 use pm_kind, only: TKG => RK5
1640 integer(IK) , intent(in) :: dim
1641 real(TKG) , intent(in) , contiguous :: sample(:,:)
1642 integer(IK) , intent(in) , contiguous :: weight(:)
1643 real(TKG) :: mean(size(sample, 3 - dim, IK))
1644 end function
1645#endif
1646
1647#if RK4_ENABLED
1648 PURE module function getMeanDIM_WTI_D2_RK4(sample, dim, weight) result(mean)
1649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1650 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_RK4
1651#endif
1652 use pm_kind, only: TKG => RK4
1653 integer(IK) , intent(in) :: dim
1654 real(TKG) , intent(in) , contiguous :: sample(:,:)
1655 integer(IK) , intent(in) , contiguous :: weight(:)
1656 real(TKG) :: mean(size(sample, 3 - dim, IK))
1657 end function
1658#endif
1659
1660#if RK3_ENABLED
1661 PURE module function getMeanDIM_WTI_D2_RK3(sample, dim, weight) result(mean)
1662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1663 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_RK3
1664#endif
1665 use pm_kind, only: TKG => RK3
1666 integer(IK) , intent(in) :: dim
1667 real(TKG) , intent(in) , contiguous :: sample(:,:)
1668 integer(IK) , intent(in) , contiguous :: weight(:)
1669 real(TKG) :: mean(size(sample, 3 - dim, IK))
1670 end function
1671#endif
1672
1673#if RK2_ENABLED
1674 PURE module function getMeanDIM_WTI_D2_RK2(sample, dim, weight) result(mean)
1675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1676 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_RK2
1677#endif
1678 use pm_kind, only: TKG => RK2
1679 integer(IK) , intent(in) :: dim
1680 real(TKG) , intent(in) , contiguous :: sample(:,:)
1681 integer(IK) , intent(in) , contiguous :: weight(:)
1682 real(TKG) :: mean(size(sample, 3 - dim, IK))
1683 end function
1684#endif
1685
1686#if RK1_ENABLED
1687 PURE module function getMeanDIM_WTI_D2_RK1(sample, dim, weight) result(mean)
1688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1689 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTI_D2_RK1
1690#endif
1691 use pm_kind, only: TKG => RK1
1692 integer(IK) , intent(in) :: dim
1693 real(TKG) , intent(in) , contiguous :: sample(:,:)
1694 integer(IK) , intent(in) , contiguous :: weight(:)
1695 real(TKG) :: mean(size(sample, 3 - dim, IK))
1696 end function
1697#endif
1698
1699 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1700
1701 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1702 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1703 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1704
1705 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1706
1707#if CK5_ENABLED
1708 PURE module function getMeanDIM_WTR_D2_CK5(sample, dim, weight) result(mean)
1709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1710 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_CK5
1711#endif
1712 use pm_kind, only: TKG => CK5
1713 integer(IK) , intent(in) :: dim
1714 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1715 real(TKG) , intent(in) , contiguous :: weight(:)
1716 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1717 end function
1718#endif
1719
1720#if CK4_ENABLED
1721 PURE module function getMeanDIM_WTR_D2_CK4(sample, dim, weight) result(mean)
1722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1723 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_CK4
1724#endif
1725 use pm_kind, only: TKG => CK4
1726 integer(IK) , intent(in) :: dim
1727 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1728 real(TKG) , intent(in) , contiguous :: weight(:)
1729 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1730 end function
1731#endif
1732
1733#if CK3_ENABLED
1734 PURE module function getMeanDIM_WTR_D2_CK3(sample, dim, weight) result(mean)
1735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1736 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_CK3
1737#endif
1738 use pm_kind, only: TKG => CK3
1739 integer(IK) , intent(in) :: dim
1740 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1741 real(TKG) , intent(in) , contiguous :: weight(:)
1742 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1743 end function
1744#endif
1745
1746#if CK2_ENABLED
1747 PURE module function getMeanDIM_WTR_D2_CK2(sample, dim, weight) result(mean)
1748#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1749 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_CK2
1750#endif
1751 use pm_kind, only: TKG => CK2
1752 integer(IK) , intent(in) :: dim
1753 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1754 real(TKG) , intent(in) , contiguous :: weight(:)
1755 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1756 end function
1757#endif
1758
1759#if CK1_ENABLED
1760 PURE module function getMeanDIM_WTR_D2_CK1(sample, dim, weight) result(mean)
1761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1762 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_CK1
1763#endif
1764 use pm_kind, only: TKG => CK1
1765 integer(IK) , intent(in) :: dim
1766 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1767 real(TKG) , intent(in) , contiguous :: weight(:)
1768 complex(TKG) :: mean(size(sample, 3 - dim, IK))
1769 end function
1770#endif
1771
1772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1773
1774#if RK5_ENABLED
1775 PURE module function getMeanDIM_WTR_D2_RK5(sample, dim, weight) result(mean)
1776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1777 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_RK5
1778#endif
1779 use pm_kind, only: TKG => RK5
1780 integer(IK) , intent(in) :: dim
1781 real(TKG) , intent(in) , contiguous :: sample(:,:)
1782 real(TKG) , intent(in) , contiguous :: weight(:)
1783 real(TKG) :: mean(size(sample, 3 - dim, IK))
1784 end function
1785#endif
1786
1787#if RK4_ENABLED
1788 PURE module function getMeanDIM_WTR_D2_RK4(sample, dim, weight) result(mean)
1789#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1790 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_RK4
1791#endif
1792 use pm_kind, only: TKG => RK4
1793 integer(IK) , intent(in) :: dim
1794 real(TKG) , intent(in) , contiguous :: sample(:,:)
1795 real(TKG) , intent(in) , contiguous :: weight(:)
1796 real(TKG) :: mean(size(sample, 3 - dim, IK))
1797 end function
1798#endif
1799
1800#if RK3_ENABLED
1801 PURE module function getMeanDIM_WTR_D2_RK3(sample, dim, weight) result(mean)
1802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1803 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_RK3
1804#endif
1805 use pm_kind, only: TKG => RK3
1806 integer(IK) , intent(in) :: dim
1807 real(TKG) , intent(in) , contiguous :: sample(:,:)
1808 real(TKG) , intent(in) , contiguous :: weight(:)
1809 real(TKG) :: mean(size(sample, 3 - dim, IK))
1810 end function
1811#endif
1812
1813#if RK2_ENABLED
1814 PURE module function getMeanDIM_WTR_D2_RK2(sample, dim, weight) result(mean)
1815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1816 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_RK2
1817#endif
1818 use pm_kind, only: TKG => RK2
1819 integer(IK) , intent(in) :: dim
1820 real(TKG) , intent(in) , contiguous :: sample(:,:)
1821 real(TKG) , intent(in) , contiguous :: weight(:)
1822 real(TKG) :: mean(size(sample, 3 - dim, IK))
1823 end function
1824#endif
1825
1826#if RK1_ENABLED
1827 PURE module function getMeanDIM_WTR_D2_RK1(sample, dim, weight) result(mean)
1828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1829 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanDIM_WTR_D2_RK1
1830#endif
1831 use pm_kind, only: TKG => RK1
1832 integer(IK) , intent(in) :: dim
1833 real(TKG) , intent(in) , contiguous :: sample(:,:)
1834 real(TKG) , intent(in) , contiguous :: weight(:)
1835 real(TKG) :: mean(size(sample, 3 - dim, IK))
1836 end function
1837#endif
1838
1839 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1840
1841 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1842 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1843 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1844
1845 end interface
1846
1847!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1848
2005
2006 ! ALL XY
2007
2008 interface setMean
2009
2010 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2011 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2012 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2013
2014 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2015
2016#if CK5_ENABLED
2017 PURE module subroutine setMeanALL_WNO_XY_CK5(mean, x, y)
2018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2019 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_CK5
2020#endif
2021 use pm_kind, only: TKG => CK5
2022 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2023 complex(TKG) , intent(out) :: mean(2)
2024 end subroutine
2025#endif
2026
2027#if CK4_ENABLED
2028 PURE module subroutine setMeanALL_WNO_XY_CK4(mean, x, y)
2029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2030 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_CK4
2031#endif
2032 use pm_kind, only: TKG => CK4
2033 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2034 complex(TKG) , intent(out) :: mean(2)
2035 end subroutine
2036#endif
2037
2038#if CK3_ENABLED
2039 PURE module subroutine setMeanALL_WNO_XY_CK3(mean, x, y)
2040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2041 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_CK3
2042#endif
2043 use pm_kind, only: TKG => CK3
2044 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2045 complex(TKG) , intent(out) :: mean(2)
2046 end subroutine
2047#endif
2048
2049#if CK2_ENABLED
2050 PURE module subroutine setMeanALL_WNO_XY_CK2(mean, x, y)
2051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2052 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_CK2
2053#endif
2054 use pm_kind, only: TKG => CK2
2055 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2056 complex(TKG) , intent(out) :: mean(2)
2057 end subroutine
2058#endif
2059
2060#if CK1_ENABLED
2061 PURE module subroutine setMeanALL_WNO_XY_CK1(mean, x, y)
2062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2063 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_CK1
2064#endif
2065 use pm_kind, only: TKG => CK1
2066 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2067 complex(TKG) , intent(out) :: mean(2)
2068 end subroutine
2069#endif
2070
2071 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2072
2073#if RK5_ENABLED
2074 PURE module subroutine setMeanALL_WNO_XY_RK5(mean, x, y)
2075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2076 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_RK5
2077#endif
2078 use pm_kind, only: TKG => RK5
2079 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2080 real(TKG) , intent(out) :: mean(2)
2081 end subroutine
2082#endif
2083
2084#if RK4_ENABLED
2085 PURE module subroutine setMeanALL_WNO_XY_RK4(mean, x, y)
2086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2087 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_RK4
2088#endif
2089 use pm_kind, only: TKG => RK4
2090 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2091 real(TKG) , intent(out) :: mean(2)
2092 end subroutine
2093#endif
2094
2095#if RK3_ENABLED
2096 PURE module subroutine setMeanALL_WNO_XY_RK3(mean, x, y)
2097#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2098 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_RK3
2099#endif
2100 use pm_kind, only: TKG => RK3
2101 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2102 real(TKG) , intent(out) :: mean(2)
2103 end subroutine
2104#endif
2105
2106#if RK2_ENABLED
2107 PURE module subroutine setMeanALL_WNO_XY_RK2(mean, x, y)
2108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2109 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_RK2
2110#endif
2111 use pm_kind, only: TKG => RK2
2112 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2113 real(TKG) , intent(out) :: mean(2)
2114 end subroutine
2115#endif
2116
2117#if RK1_ENABLED
2118 PURE module subroutine setMeanALL_WNO_XY_RK1(mean, x, y)
2119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2120 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_XY_RK1
2121#endif
2122 use pm_kind, only: TKG => RK1
2123 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2124 real(TKG) , intent(out) :: mean(2)
2125 end subroutine
2126#endif
2127
2128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2129
2130 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2131 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2132 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2133
2134 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2135
2136#if CK5_ENABLED
2137 PURE module subroutine setMeanALL_WTI_XY_CK5(mean, x, y, weight, weisum)
2138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2139 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_CK5
2140#endif
2141 use pm_kind, only: TKG => CK5
2142 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2143 integer(IK) , intent(in) , contiguous :: weight(:)
2144 complex(TKG) , intent(out) :: mean(2)
2145 integer(IK) , intent(out) :: weisum
2146 end subroutine
2147#endif
2148
2149#if CK4_ENABLED
2150 PURE module subroutine setMeanALL_WTI_XY_CK4(mean, x, y, weight, weisum)
2151#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2152 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_CK4
2153#endif
2154 use pm_kind, only: TKG => CK4
2155 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2156 integer(IK) , intent(in) , contiguous :: weight(:)
2157 complex(TKG) , intent(out) :: mean(2)
2158 integer(IK) , intent(out) :: weisum
2159 end subroutine
2160#endif
2161
2162#if CK3_ENABLED
2163 PURE module subroutine setMeanALL_WTI_XY_CK3(mean, x, y, weight, weisum)
2164#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2165 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_CK3
2166#endif
2167 use pm_kind, only: TKG => CK3
2168 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2169 integer(IK) , intent(in) , contiguous :: weight(:)
2170 complex(TKG) , intent(out) :: mean(2)
2171 integer(IK) , intent(out) :: weisum
2172 end subroutine
2173#endif
2174
2175#if CK2_ENABLED
2176 PURE module subroutine setMeanALL_WTI_XY_CK2(mean, x, y, weight, weisum)
2177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2178 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_CK2
2179#endif
2180 use pm_kind, only: TKG => CK2
2181 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2182 integer(IK) , intent(in) , contiguous :: weight(:)
2183 complex(TKG) , intent(out) :: mean(2)
2184 integer(IK) , intent(out) :: weisum
2185 end subroutine
2186#endif
2187
2188#if CK1_ENABLED
2189 PURE module subroutine setMeanALL_WTI_XY_CK1(mean, x, y, weight, weisum)
2190#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2191 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_CK1
2192#endif
2193 use pm_kind, only: TKG => CK1
2194 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2195 integer(IK) , intent(in) , contiguous :: weight(:)
2196 complex(TKG) , intent(out) :: mean(2)
2197 integer(IK) , intent(out) :: weisum
2198 end subroutine
2199#endif
2200
2201 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2202
2203#if RK5_ENABLED
2204 PURE module subroutine setMeanALL_WTI_XY_RK5(mean, x, y, weight, weisum)
2205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2206 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_RK5
2207#endif
2208 use pm_kind, only: TKG => RK5
2209 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2210 integer(IK) , intent(in) , contiguous :: weight(:)
2211 real(TKG) , intent(out) :: mean(2)
2212 integer(IK) , intent(out) :: weisum
2213 end subroutine
2214#endif
2215
2216#if RK4_ENABLED
2217 PURE module subroutine setMeanALL_WTI_XY_RK4(mean, x, y, weight, weisum)
2218#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2219 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_RK4
2220#endif
2221 use pm_kind, only: TKG => RK4
2222 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2223 integer(IK) , intent(in) , contiguous :: weight(:)
2224 real(TKG) , intent(out) :: mean(2)
2225 integer(IK) , intent(out) :: weisum
2226 end subroutine
2227#endif
2228
2229#if RK3_ENABLED
2230 PURE module subroutine setMeanALL_WTI_XY_RK3(mean, x, y, weight, weisum)
2231#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2232 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_RK3
2233#endif
2234 use pm_kind, only: TKG => RK3
2235 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2236 integer(IK) , intent(in) , contiguous :: weight(:)
2237 real(TKG) , intent(out) :: mean(2)
2238 integer(IK) , intent(out) :: weisum
2239 end subroutine
2240#endif
2241
2242#if RK2_ENABLED
2243 PURE module subroutine setMeanALL_WTI_XY_RK2(mean, x, y, weight, weisum)
2244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2245 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_RK2
2246#endif
2247 use pm_kind, only: TKG => RK2
2248 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2249 integer(IK) , intent(in) , contiguous :: weight(:)
2250 real(TKG) , intent(out) :: mean(2)
2251 integer(IK) , intent(out) :: weisum
2252 end subroutine
2253#endif
2254
2255#if RK1_ENABLED
2256 PURE module subroutine setMeanALL_WTI_XY_RK1(mean, x, y, weight, weisum)
2257#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2258 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_XY_RK1
2259#endif
2260 use pm_kind, only: TKG => RK1
2261 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2262 integer(IK) , intent(in) , contiguous :: weight(:)
2263 real(TKG) , intent(out) :: mean(2)
2264 integer(IK) , intent(out) :: weisum
2265 end subroutine
2266#endif
2267
2268 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2269
2270 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2272 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2273
2274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2275
2276#if CK5_ENABLED
2277 PURE module subroutine setMeanALL_WTR_XY_CK5(mean, x, y, weight, weisum)
2278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2279 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_CK5
2280#endif
2281 use pm_kind, only: TKG => CK5
2282 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2283 real(TKG) , intent(in) , contiguous :: weight(:)
2284 complex(TKG) , intent(out) :: mean(2)
2285 real(TKG) , intent(out) :: weisum
2286 end subroutine
2287#endif
2288
2289#if CK4_ENABLED
2290 PURE module subroutine setMeanALL_WTR_XY_CK4(mean, x, y, weight, weisum)
2291#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2292 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_CK4
2293#endif
2294 use pm_kind, only: TKG => CK4
2295 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2296 real(TKG) , intent(in) , contiguous :: weight(:)
2297 complex(TKG) , intent(out) :: mean(2)
2298 real(TKG) , intent(out) :: weisum
2299 end subroutine
2300#endif
2301
2302#if CK3_ENABLED
2303 PURE module subroutine setMeanALL_WTR_XY_CK3(mean, x, y, weight, weisum)
2304#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2305 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_CK3
2306#endif
2307 use pm_kind, only: TKG => CK3
2308 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2309 real(TKG) , intent(in) , contiguous :: weight(:)
2310 complex(TKG) , intent(out) :: mean(2)
2311 real(TKG) , intent(out) :: weisum
2312 end subroutine
2313#endif
2314
2315#if CK2_ENABLED
2316 PURE module subroutine setMeanALL_WTR_XY_CK2(mean, x, y, weight, weisum)
2317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2318 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_CK2
2319#endif
2320 use pm_kind, only: TKG => CK2
2321 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2322 real(TKG) , intent(in) , contiguous :: weight(:)
2323 complex(TKG) , intent(out) :: mean(2)
2324 real(TKG) , intent(out) :: weisum
2325 end subroutine
2326#endif
2327
2328#if CK1_ENABLED
2329 PURE module subroutine setMeanALL_WTR_XY_CK1(mean, x, y, weight, weisum)
2330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2331 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_CK1
2332#endif
2333 use pm_kind, only: TKG => CK1
2334 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
2335 real(TKG) , intent(in) , contiguous :: weight(:)
2336 complex(TKG) , intent(out) :: mean(2)
2337 real(TKG) , intent(out) :: weisum
2338 end subroutine
2339#endif
2340
2341 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2342
2343#if RK5_ENABLED
2344 PURE module subroutine setMeanALL_WTR_XY_RK5(mean, x, y, weight, weisum)
2345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2346 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_RK5
2347#endif
2348 use pm_kind, only: TKG => RK5
2349 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2350 real(TKG) , intent(in) , contiguous :: weight(:)
2351 real(TKG) , intent(out) :: mean(2)
2352 real(TKG) , intent(out) :: weisum
2353 end subroutine
2354#endif
2355
2356#if RK4_ENABLED
2357 PURE module subroutine setMeanALL_WTR_XY_RK4(mean, x, y, weight, weisum)
2358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2359 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_RK4
2360#endif
2361 use pm_kind, only: TKG => RK4
2362 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2363 real(TKG) , intent(in) , contiguous :: weight(:)
2364 real(TKG) , intent(out) :: mean(2)
2365 real(TKG) , intent(out) :: weisum
2366 end subroutine
2367#endif
2368
2369#if RK3_ENABLED
2370 PURE module subroutine setMeanALL_WTR_XY_RK3(mean, x, y, weight, weisum)
2371#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2372 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_RK3
2373#endif
2374 use pm_kind, only: TKG => RK3
2375 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2376 real(TKG) , intent(in) , contiguous :: weight(:)
2377 real(TKG) , intent(out) :: mean(2)
2378 real(TKG) , intent(out) :: weisum
2379 end subroutine
2380#endif
2381
2382#if RK2_ENABLED
2383 PURE module subroutine setMeanALL_WTR_XY_RK2(mean, x, y, weight, weisum)
2384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2385 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_RK2
2386#endif
2387 use pm_kind, only: TKG => RK2
2388 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2389 real(TKG) , intent(in) , contiguous :: weight(:)
2390 real(TKG) , intent(out) :: mean(2)
2391 real(TKG) , intent(out) :: weisum
2392 end subroutine
2393#endif
2394
2395#if RK1_ENABLED
2396 PURE module subroutine setMeanALL_WTR_XY_RK1(mean, x, y, weight, weisum)
2397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2398 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_XY_RK1
2399#endif
2400 use pm_kind, only: TKG => RK1
2401 real(TKG) , intent(in) , contiguous :: x(:), y(:)
2402 real(TKG) , intent(in) , contiguous :: weight(:)
2403 real(TKG) , intent(out) :: mean(2)
2404 real(TKG) , intent(out) :: weisum
2405 end subroutine
2406#endif
2407
2408 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2409
2410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2411 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2412 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2413
2414 end interface
2415
2416 ! ALL D1
2417
2418 interface setMean
2419
2420 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2421 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2423
2424 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2425
2426#if CK5_ENABLED
2427 PURE module subroutine setMeanALL_WNO_D1_CK5(mean, sample)
2428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2429 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_CK5
2430#endif
2431 use pm_kind, only: TKG => CK5
2432 complex(TKG) , intent(in) , contiguous :: sample(:)
2433 complex(TKG) , intent(out) :: mean
2434 end subroutine
2435#endif
2436
2437#if CK4_ENABLED
2438 PURE module subroutine setMeanALL_WNO_D1_CK4(mean, sample)
2439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2440 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_CK4
2441#endif
2442 use pm_kind, only: TKG => CK4
2443 complex(TKG) , intent(in) , contiguous :: sample(:)
2444 complex(TKG) , intent(out) :: mean
2445 end subroutine
2446#endif
2447
2448#if CK3_ENABLED
2449 PURE module subroutine setMeanALL_WNO_D1_CK3(mean, sample)
2450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2451 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_CK3
2452#endif
2453 use pm_kind, only: TKG => CK3
2454 complex(TKG) , intent(in) , contiguous :: sample(:)
2455 complex(TKG) , intent(out) :: mean
2456 end subroutine
2457#endif
2458
2459#if CK2_ENABLED
2460 PURE module subroutine setMeanALL_WNO_D1_CK2(mean, sample)
2461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2462 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_CK2
2463#endif
2464 use pm_kind, only: TKG => CK2
2465 complex(TKG) , intent(in) , contiguous :: sample(:)
2466 complex(TKG) , intent(out) :: mean
2467 end subroutine
2468#endif
2469
2470#if CK1_ENABLED
2471 PURE module subroutine setMeanALL_WNO_D1_CK1(mean, sample)
2472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2473 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_CK1
2474#endif
2475 use pm_kind, only: TKG => CK1
2476 complex(TKG) , intent(in) , contiguous :: sample(:)
2477 complex(TKG) , intent(out) :: mean
2478 end subroutine
2479#endif
2480
2481 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2482
2483#if RK5_ENABLED
2484 PURE module subroutine setMeanALL_WNO_D1_RK5(mean, sample)
2485#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2486 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_RK5
2487#endif
2488 use pm_kind, only: TKG => RK5
2489 real(TKG) , intent(in) , contiguous :: sample(:)
2490 real(TKG) , intent(out) :: mean
2491 end subroutine
2492#endif
2493
2494#if RK4_ENABLED
2495 PURE module subroutine setMeanALL_WNO_D1_RK4(mean, sample)
2496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2497 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_RK4
2498#endif
2499 use pm_kind, only: TKG => RK4
2500 real(TKG) , intent(in) , contiguous :: sample(:)
2501 real(TKG) , intent(out) :: mean
2502 end subroutine
2503#endif
2504
2505#if RK3_ENABLED
2506 PURE module subroutine setMeanALL_WNO_D1_RK3(mean, sample)
2507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2508 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_RK3
2509#endif
2510 use pm_kind, only: TKG => RK3
2511 real(TKG) , intent(in) , contiguous :: sample(:)
2512 real(TKG) , intent(out) :: mean
2513 end subroutine
2514#endif
2515
2516#if RK2_ENABLED
2517 PURE module subroutine setMeanALL_WNO_D1_RK2(mean, sample)
2518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2519 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_RK2
2520#endif
2521 use pm_kind, only: TKG => RK2
2522 real(TKG) , intent(in) , contiguous :: sample(:)
2523 real(TKG) , intent(out) :: mean
2524 end subroutine
2525#endif
2526
2527#if RK1_ENABLED
2528 PURE module subroutine setMeanALL_WNO_D1_RK1(mean, sample)
2529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2530 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D1_RK1
2531#endif
2532 use pm_kind, only: TKG => RK1
2533 real(TKG) , intent(in) , contiguous :: sample(:)
2534 real(TKG) , intent(out) :: mean
2535 end subroutine
2536#endif
2537
2538 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2539
2540 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2541 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2543
2544 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2545
2546#if CK5_ENABLED
2547 PURE module subroutine setMeanALL_WTI_D1_CK5(mean, sample, weight, weisum)
2548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2549 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_CK5
2550#endif
2551 use pm_kind, only: TKG => CK5
2552 complex(TKG) , intent(in) , contiguous :: sample(:)
2553 integer(IK) , intent(in) , contiguous :: weight(:)
2554 complex(TKG) , intent(out) :: mean
2555 integer(IK) , intent(out) :: weisum
2556 end subroutine
2557#endif
2558
2559#if CK4_ENABLED
2560 PURE module subroutine setMeanALL_WTI_D1_CK4(mean, sample, weight, weisum)
2561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2562 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_CK4
2563#endif
2564 use pm_kind, only: TKG => CK4
2565 complex(TKG) , intent(in) , contiguous :: sample(:)
2566 integer(IK) , intent(in) , contiguous :: weight(:)
2567 complex(TKG) , intent(out) :: mean
2568 integer(IK) , intent(out) :: weisum
2569 end subroutine
2570#endif
2571
2572#if CK3_ENABLED
2573 PURE module subroutine setMeanALL_WTI_D1_CK3(mean, sample, weight, weisum)
2574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2575 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_CK3
2576#endif
2577 use pm_kind, only: TKG => CK3
2578 complex(TKG) , intent(in) , contiguous :: sample(:)
2579 integer(IK) , intent(in) , contiguous :: weight(:)
2580 complex(TKG) , intent(out) :: mean
2581 integer(IK) , intent(out) :: weisum
2582 end subroutine
2583#endif
2584
2585#if CK2_ENABLED
2586 PURE module subroutine setMeanALL_WTI_D1_CK2(mean, sample, weight, weisum)
2587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2588 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_CK2
2589#endif
2590 use pm_kind, only: TKG => CK2
2591 complex(TKG) , intent(in) , contiguous :: sample(:)
2592 integer(IK) , intent(in) , contiguous :: weight(:)
2593 complex(TKG) , intent(out) :: mean
2594 integer(IK) , intent(out) :: weisum
2595 end subroutine
2596#endif
2597
2598#if CK1_ENABLED
2599 PURE module subroutine setMeanALL_WTI_D1_CK1(mean, sample, weight, weisum)
2600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2601 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_CK1
2602#endif
2603 use pm_kind, only: TKG => CK1
2604 complex(TKG) , intent(in) , contiguous :: sample(:)
2605 integer(IK) , intent(in) , contiguous :: weight(:)
2606 complex(TKG) , intent(out) :: mean
2607 integer(IK) , intent(out) :: weisum
2608 end subroutine
2609#endif
2610
2611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2612
2613#if RK5_ENABLED
2614 PURE module subroutine setMeanALL_WTI_D1_RK5(mean, sample, weight, weisum)
2615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2616 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_RK5
2617#endif
2618 use pm_kind, only: TKG => RK5
2619 real(TKG) , intent(in) , contiguous :: sample(:)
2620 integer(IK) , intent(in) , contiguous :: weight(:)
2621 real(TKG) , intent(out) :: mean
2622 integer(IK) , intent(out) :: weisum
2623 end subroutine
2624#endif
2625
2626#if RK4_ENABLED
2627 PURE module subroutine setMeanALL_WTI_D1_RK4(mean, sample, weight, weisum)
2628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2629 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_RK4
2630#endif
2631 use pm_kind, only: TKG => RK4
2632 real(TKG) , intent(in) , contiguous :: sample(:)
2633 integer(IK) , intent(in) , contiguous :: weight(:)
2634 real(TKG) , intent(out) :: mean
2635 integer(IK) , intent(out) :: weisum
2636 end subroutine
2637#endif
2638
2639#if RK3_ENABLED
2640 PURE module subroutine setMeanALL_WTI_D1_RK3(mean, sample, weight, weisum)
2641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2642 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_RK3
2643#endif
2644 use pm_kind, only: TKG => RK3
2645 real(TKG) , intent(in) , contiguous :: sample(:)
2646 integer(IK) , intent(in) , contiguous :: weight(:)
2647 real(TKG) , intent(out) :: mean
2648 integer(IK) , intent(out) :: weisum
2649 end subroutine
2650#endif
2651
2652#if RK2_ENABLED
2653 PURE module subroutine setMeanALL_WTI_D1_RK2(mean, sample, weight, weisum)
2654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2655 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_RK2
2656#endif
2657 use pm_kind, only: TKG => RK2
2658 real(TKG) , intent(in) , contiguous :: sample(:)
2659 integer(IK) , intent(in) , contiguous :: weight(:)
2660 real(TKG) , intent(out) :: mean
2661 integer(IK) , intent(out) :: weisum
2662 end subroutine
2663#endif
2664
2665#if RK1_ENABLED
2666 PURE module subroutine setMeanALL_WTI_D1_RK1(mean, sample, weight, weisum)
2667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2668 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D1_RK1
2669#endif
2670 use pm_kind, only: TKG => RK1
2671 real(TKG) , intent(in) , contiguous :: sample(:)
2672 integer(IK) , intent(in) , contiguous :: weight(:)
2673 real(TKG) , intent(out) :: mean
2674 integer(IK) , intent(out) :: weisum
2675 end subroutine
2676#endif
2677
2678 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2679
2680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2683
2684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2685
2686#if CK5_ENABLED
2687 PURE module subroutine setMeanALL_WTR_D1_CK5(mean, sample, weight, weisum)
2688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2689 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_CK5
2690#endif
2691 use pm_kind, only: TKG => CK5
2692 complex(TKG) , intent(in) , contiguous :: sample(:)
2693 real(TKG) , intent(in) , contiguous :: weight(:)
2694 complex(TKG) , intent(out) :: mean
2695 real(TKG) , intent(out) :: weisum
2696 end subroutine
2697#endif
2698
2699#if CK4_ENABLED
2700 PURE module subroutine setMeanALL_WTR_D1_CK4(mean, sample, weight, weisum)
2701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2702 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_CK4
2703#endif
2704 use pm_kind, only: TKG => CK4
2705 complex(TKG) , intent(in) , contiguous :: sample(:)
2706 real(TKG) , intent(in) , contiguous :: weight(:)
2707 complex(TKG) , intent(out) :: mean
2708 real(TKG) , intent(out) :: weisum
2709 end subroutine
2710#endif
2711
2712#if CK3_ENABLED
2713 PURE module subroutine setMeanALL_WTR_D1_CK3(mean, sample, weight, weisum)
2714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2715 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_CK3
2716#endif
2717 use pm_kind, only: TKG => CK3
2718 complex(TKG) , intent(in) , contiguous :: sample(:)
2719 real(TKG) , intent(in) , contiguous :: weight(:)
2720 complex(TKG) , intent(out) :: mean
2721 real(TKG) , intent(out) :: weisum
2722 end subroutine
2723#endif
2724
2725#if CK2_ENABLED
2726 PURE module subroutine setMeanALL_WTR_D1_CK2(mean, sample, weight, weisum)
2727#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2728 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_CK2
2729#endif
2730 use pm_kind, only: TKG => CK2
2731 complex(TKG) , intent(in) , contiguous :: sample(:)
2732 real(TKG) , intent(in) , contiguous :: weight(:)
2733 complex(TKG) , intent(out) :: mean
2734 real(TKG) , intent(out) :: weisum
2735 end subroutine
2736#endif
2737
2738#if CK1_ENABLED
2739 PURE module subroutine setMeanALL_WTR_D1_CK1(mean, sample, weight, weisum)
2740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2741 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_CK1
2742#endif
2743 use pm_kind, only: TKG => CK1
2744 complex(TKG) , intent(in) , contiguous :: sample(:)
2745 real(TKG) , intent(in) , contiguous :: weight(:)
2746 complex(TKG) , intent(out) :: mean
2747 real(TKG) , intent(out) :: weisum
2748 end subroutine
2749#endif
2750
2751 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2752
2753#if RK5_ENABLED
2754 PURE module subroutine setMeanALL_WTR_D1_RK5(mean, sample, weight, weisum)
2755#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2756 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_RK5
2757#endif
2758 use pm_kind, only: TKG => RK5
2759 real(TKG) , intent(in) , contiguous :: sample(:)
2760 real(TKG) , intent(in) , contiguous :: weight(:)
2761 real(TKG) , intent(out) :: mean
2762 real(TKG) , intent(out) :: weisum
2763 end subroutine
2764#endif
2765
2766#if RK4_ENABLED
2767 PURE module subroutine setMeanALL_WTR_D1_RK4(mean, sample, weight, weisum)
2768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2769 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_RK4
2770#endif
2771 use pm_kind, only: TKG => RK4
2772 real(TKG) , intent(in) , contiguous :: sample(:)
2773 real(TKG) , intent(in) , contiguous :: weight(:)
2774 real(TKG) , intent(out) :: mean
2775 real(TKG) , intent(out) :: weisum
2776 end subroutine
2777#endif
2778
2779#if RK3_ENABLED
2780 PURE module subroutine setMeanALL_WTR_D1_RK3(mean, sample, weight, weisum)
2781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2782 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_RK3
2783#endif
2784 use pm_kind, only: TKG => RK3
2785 real(TKG) , intent(in) , contiguous :: sample(:)
2786 real(TKG) , intent(in) , contiguous :: weight(:)
2787 real(TKG) , intent(out) :: mean
2788 real(TKG) , intent(out) :: weisum
2789 end subroutine
2790#endif
2791
2792#if RK2_ENABLED
2793 PURE module subroutine setMeanALL_WTR_D1_RK2(mean, sample, weight, weisum)
2794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2795 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_RK2
2796#endif
2797 use pm_kind, only: TKG => RK2
2798 real(TKG) , intent(in) , contiguous :: sample(:)
2799 real(TKG) , intent(in) , contiguous :: weight(:)
2800 real(TKG) , intent(out) :: mean
2801 real(TKG) , intent(out) :: weisum
2802 end subroutine
2803#endif
2804
2805#if RK1_ENABLED
2806 PURE module subroutine setMeanALL_WTR_D1_RK1(mean, sample, weight, weisum)
2807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2808 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D1_RK1
2809#endif
2810 use pm_kind, only: TKG => RK1
2811 real(TKG) , intent(in) , contiguous :: sample(:)
2812 real(TKG) , intent(in) , contiguous :: weight(:)
2813 real(TKG) , intent(out) :: mean
2814 real(TKG) , intent(out) :: weisum
2815 end subroutine
2816#endif
2817
2818 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2819
2820 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2821 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2822 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2823
2824 end interface
2825
2826 ! ALL D2
2827
2828 interface setMean
2829
2830 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2831 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2832 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2833
2834 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2835
2836#if CK5_ENABLED
2837 PURE module subroutine setMeanALL_WNO_D2_CK5(mean, sample)
2838#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2839 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_CK5
2840#endif
2841 use pm_kind, only: TKG => CK5
2842 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2843 complex(TKG) , intent(out) :: mean
2844 end subroutine
2845#endif
2846
2847#if CK4_ENABLED
2848 PURE module subroutine setMeanALL_WNO_D2_CK4(mean, sample)
2849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2850 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_CK4
2851#endif
2852 use pm_kind, only: TKG => CK4
2853 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2854 complex(TKG) , intent(out) :: mean
2855 end subroutine
2856#endif
2857
2858#if CK3_ENABLED
2859 PURE module subroutine setMeanALL_WNO_D2_CK3(mean, sample)
2860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2861 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_CK3
2862#endif
2863 use pm_kind, only: TKG => CK3
2864 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2865 complex(TKG) , intent(out) :: mean
2866 end subroutine
2867#endif
2868
2869#if CK2_ENABLED
2870 PURE module subroutine setMeanALL_WNO_D2_CK2(mean, sample)
2871#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2872 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_CK2
2873#endif
2874 use pm_kind, only: TKG => CK2
2875 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2876 complex(TKG) , intent(out) :: mean
2877 end subroutine
2878#endif
2879
2880#if CK1_ENABLED
2881 PURE module subroutine setMeanALL_WNO_D2_CK1(mean, sample)
2882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2883 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_CK1
2884#endif
2885 use pm_kind, only: TKG => CK1
2886 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2887 complex(TKG) , intent(out) :: mean
2888 end subroutine
2889#endif
2890
2891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2892
2893#if RK5_ENABLED
2894 PURE module subroutine setMeanALL_WNO_D2_RK5(mean, sample)
2895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2896 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_RK5
2897#endif
2898 use pm_kind, only: TKG => RK5
2899 real(TKG) , intent(in) , contiguous :: sample(:,:)
2900 real(TKG) , intent(out) :: mean
2901 end subroutine
2902#endif
2903
2904#if RK4_ENABLED
2905 PURE module subroutine setMeanALL_WNO_D2_RK4(mean, sample)
2906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2907 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_RK4
2908#endif
2909 use pm_kind, only: TKG => RK4
2910 real(TKG) , intent(in) , contiguous :: sample(:,:)
2911 real(TKG) , intent(out) :: mean
2912 end subroutine
2913#endif
2914
2915#if RK3_ENABLED
2916 PURE module subroutine setMeanALL_WNO_D2_RK3(mean, sample)
2917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2918 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_RK3
2919#endif
2920 use pm_kind, only: TKG => RK3
2921 real(TKG) , intent(in) , contiguous :: sample(:,:)
2922 real(TKG) , intent(out) :: mean
2923 end subroutine
2924#endif
2925
2926#if RK2_ENABLED
2927 PURE module subroutine setMeanALL_WNO_D2_RK2(mean, sample)
2928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2929 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_RK2
2930#endif
2931 use pm_kind, only: TKG => RK2
2932 real(TKG) , intent(in) , contiguous :: sample(:,:)
2933 real(TKG) , intent(out) :: mean
2934 end subroutine
2935#endif
2936
2937#if RK1_ENABLED
2938 PURE module subroutine setMeanALL_WNO_D2_RK1(mean, sample)
2939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2940 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WNO_D2_RK1
2941#endif
2942 use pm_kind, only: TKG => RK1
2943 real(TKG) , intent(in) , contiguous :: sample(:,:)
2944 real(TKG) , intent(out) :: mean
2945 end subroutine
2946#endif
2947
2948 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2949
2950 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2951 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2952 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2953
2954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2955
2956#if CK5_ENABLED
2957 PURE module subroutine setMeanALL_WTI_D2_CK5(mean, sample, weight, weisum)
2958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2959 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_CK5
2960#endif
2961 use pm_kind, only: TKG => CK5
2962 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2963 integer(IK) , intent(in) , contiguous :: weight(:)
2964 complex(TKG) , intent(out) :: mean
2965 integer(IK) , intent(out) :: weisum
2966 end subroutine
2967#endif
2968
2969#if CK4_ENABLED
2970 PURE module subroutine setMeanALL_WTI_D2_CK4(mean, sample, weight, weisum)
2971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2972 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_CK4
2973#endif
2974 use pm_kind, only: TKG => CK4
2975 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2976 integer(IK) , intent(in) , contiguous :: weight(:)
2977 complex(TKG) , intent(out) :: mean
2978 integer(IK) , intent(out) :: weisum
2979 end subroutine
2980#endif
2981
2982#if CK3_ENABLED
2983 PURE module subroutine setMeanALL_WTI_D2_CK3(mean, sample, weight, weisum)
2984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2985 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_CK3
2986#endif
2987 use pm_kind, only: TKG => CK3
2988 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2989 integer(IK) , intent(in) , contiguous :: weight(:)
2990 complex(TKG) , intent(out) :: mean
2991 integer(IK) , intent(out) :: weisum
2992 end subroutine
2993#endif
2994
2995#if CK2_ENABLED
2996 PURE module subroutine setMeanALL_WTI_D2_CK2(mean, sample, weight, weisum)
2997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2998 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_CK2
2999#endif
3000 use pm_kind, only: TKG => CK2
3001 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3002 integer(IK) , intent(in) , contiguous :: weight(:)
3003 complex(TKG) , intent(out) :: mean
3004 integer(IK) , intent(out) :: weisum
3005 end subroutine
3006#endif
3007
3008#if CK1_ENABLED
3009 PURE module subroutine setMeanALL_WTI_D2_CK1(mean, sample, weight, weisum)
3010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3011 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_CK1
3012#endif
3013 use pm_kind, only: TKG => CK1
3014 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3015 integer(IK) , intent(in) , contiguous :: weight(:)
3016 complex(TKG) , intent(out) :: mean
3017 integer(IK) , intent(out) :: weisum
3018 end subroutine
3019#endif
3020
3021 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3022
3023#if RK5_ENABLED
3024 PURE module subroutine setMeanALL_WTI_D2_RK5(mean, sample, weight, weisum)
3025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3026 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_RK5
3027#endif
3028 use pm_kind, only: TKG => RK5
3029 real(TKG) , intent(in) , contiguous :: sample(:,:)
3030 integer(IK) , intent(in) , contiguous :: weight(:)
3031 real(TKG) , intent(out) :: mean
3032 integer(IK) , intent(out) :: weisum
3033 end subroutine
3034#endif
3035
3036#if RK4_ENABLED
3037 PURE module subroutine setMeanALL_WTI_D2_RK4(mean, sample, weight, weisum)
3038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3039 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_RK4
3040#endif
3041 use pm_kind, only: TKG => RK4
3042 real(TKG) , intent(in) , contiguous :: sample(:,:)
3043 integer(IK) , intent(in) , contiguous :: weight(:)
3044 real(TKG) , intent(out) :: mean
3045 integer(IK) , intent(out) :: weisum
3046 end subroutine
3047#endif
3048
3049#if RK3_ENABLED
3050 PURE module subroutine setMeanALL_WTI_D2_RK3(mean, sample, weight, weisum)
3051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3052 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_RK3
3053#endif
3054 use pm_kind, only: TKG => RK3
3055 real(TKG) , intent(in) , contiguous :: sample(:,:)
3056 integer(IK) , intent(in) , contiguous :: weight(:)
3057 real(TKG) , intent(out) :: mean
3058 integer(IK) , intent(out) :: weisum
3059 end subroutine
3060#endif
3061
3062#if RK2_ENABLED
3063 PURE module subroutine setMeanALL_WTI_D2_RK2(mean, sample, weight, weisum)
3064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3065 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_RK2
3066#endif
3067 use pm_kind, only: TKG => RK2
3068 real(TKG) , intent(in) , contiguous :: sample(:,:)
3069 integer(IK) , intent(in) , contiguous :: weight(:)
3070 real(TKG) , intent(out) :: mean
3071 integer(IK) , intent(out) :: weisum
3072 end subroutine
3073#endif
3074
3075#if RK1_ENABLED
3076 PURE module subroutine setMeanALL_WTI_D2_RK1(mean, sample, weight, weisum)
3077#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3078 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTI_D2_RK1
3079#endif
3080 use pm_kind, only: TKG => RK1
3081 real(TKG) , intent(in) , contiguous :: sample(:,:)
3082 integer(IK) , intent(in) , contiguous :: weight(:)
3083 real(TKG) , intent(out) :: mean
3084 integer(IK) , intent(out) :: weisum
3085 end subroutine
3086#endif
3087
3088 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3089
3090 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3091 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3092 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3093
3094 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3095
3096#if CK5_ENABLED
3097 PURE module subroutine setMeanALL_WTR_D2_CK5(mean, sample, weight, weisum)
3098#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3099 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_CK5
3100#endif
3101 use pm_kind, only: TKG => CK5
3102 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3103 real(TKG) , intent(in) , contiguous :: weight(:)
3104 complex(TKG) , intent(out) :: mean
3105 real(TKG) , intent(out) :: weisum
3106 end subroutine
3107#endif
3108
3109#if CK4_ENABLED
3110 PURE module subroutine setMeanALL_WTR_D2_CK4(mean, sample, weight, weisum)
3111#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3112 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_CK4
3113#endif
3114 use pm_kind, only: TKG => CK4
3115 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3116 real(TKG) , intent(in) , contiguous :: weight(:)
3117 complex(TKG) , intent(out) :: mean
3118 real(TKG) , intent(out) :: weisum
3119 end subroutine
3120#endif
3121
3122#if CK3_ENABLED
3123 PURE module subroutine setMeanALL_WTR_D2_CK3(mean, sample, weight, weisum)
3124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3125 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_CK3
3126#endif
3127 use pm_kind, only: TKG => CK3
3128 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3129 real(TKG) , intent(in) , contiguous :: weight(:)
3130 complex(TKG) , intent(out) :: mean
3131 real(TKG) , intent(out) :: weisum
3132 end subroutine
3133#endif
3134
3135#if CK2_ENABLED
3136 PURE module subroutine setMeanALL_WTR_D2_CK2(mean, sample, weight, weisum)
3137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3138 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_CK2
3139#endif
3140 use pm_kind, only: TKG => CK2
3141 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3142 real(TKG) , intent(in) , contiguous :: weight(:)
3143 complex(TKG) , intent(out) :: mean
3144 real(TKG) , intent(out) :: weisum
3145 end subroutine
3146#endif
3147
3148#if CK1_ENABLED
3149 PURE module subroutine setMeanALL_WTR_D2_CK1(mean, sample, weight, weisum)
3150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3151 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_CK1
3152#endif
3153 use pm_kind, only: TKG => CK1
3154 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3155 real(TKG) , intent(in) , contiguous :: weight(:)
3156 complex(TKG) , intent(out) :: mean
3157 real(TKG) , intent(out) :: weisum
3158 end subroutine
3159#endif
3160
3161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3162
3163#if RK5_ENABLED
3164 PURE module subroutine setMeanALL_WTR_D2_RK5(mean, sample, weight, weisum)
3165#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3166 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_RK5
3167#endif
3168 use pm_kind, only: TKG => RK5
3169 real(TKG) , intent(in) , contiguous :: sample(:,:)
3170 real(TKG) , intent(in) , contiguous :: weight(:)
3171 real(TKG) , intent(out) :: mean
3172 real(TKG) , intent(out) :: weisum
3173 end subroutine
3174#endif
3175
3176#if RK4_ENABLED
3177 PURE module subroutine setMeanALL_WTR_D2_RK4(mean, sample, weight, weisum)
3178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3179 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_RK4
3180#endif
3181 use pm_kind, only: TKG => RK4
3182 real(TKG) , intent(in) , contiguous :: sample(:,:)
3183 real(TKG) , intent(in) , contiguous :: weight(:)
3184 real(TKG) , intent(out) :: mean
3185 real(TKG) , intent(out) :: weisum
3186 end subroutine
3187#endif
3188
3189#if RK3_ENABLED
3190 PURE module subroutine setMeanALL_WTR_D2_RK3(mean, sample, weight, weisum)
3191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3192 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_RK3
3193#endif
3194 use pm_kind, only: TKG => RK3
3195 real(TKG) , intent(in) , contiguous :: sample(:,:)
3196 real(TKG) , intent(in) , contiguous :: weight(:)
3197 real(TKG) , intent(out) :: mean
3198 real(TKG) , intent(out) :: weisum
3199 end subroutine
3200#endif
3201
3202#if RK2_ENABLED
3203 PURE module subroutine setMeanALL_WTR_D2_RK2(mean, sample, weight, weisum)
3204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3205 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_RK2
3206#endif
3207 use pm_kind, only: TKG => RK2
3208 real(TKG) , intent(in) , contiguous :: sample(:,:)
3209 real(TKG) , intent(in) , contiguous :: weight(:)
3210 real(TKG) , intent(out) :: mean
3211 real(TKG) , intent(out) :: weisum
3212 end subroutine
3213#endif
3214
3215#if RK1_ENABLED
3216 PURE module subroutine setMeanALL_WTR_D2_RK1(mean, sample, weight, weisum)
3217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3218 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanALL_WTR_D2_RK1
3219#endif
3220 use pm_kind, only: TKG => RK1
3221 real(TKG) , intent(in) , contiguous :: sample(:,:)
3222 real(TKG) , intent(in) , contiguous :: weight(:)
3223 real(TKG) , intent(out) :: mean
3224 real(TKG) , intent(out) :: weisum
3225 end subroutine
3226#endif
3227
3228 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3229
3230 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3231 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3233
3234 end interface
3235
3236 ! DIM D1
3237
3238 interface setMean
3239
3240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3241 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3242 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3243
3244 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3245
3246#if CK5_ENABLED
3247 PURE module subroutine setMeanDIM_WNO_D1_CK5(mean, sample, dim)
3248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3249 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_CK5
3250#endif
3251 use pm_kind, only: TKG => CK5
3252 integer(IK) , intent(in) :: dim
3253 complex(TKG) , intent(in) , contiguous :: sample(:)
3254 complex(TKG) , intent(out) :: mean
3255 end subroutine
3256#endif
3257
3258#if CK4_ENABLED
3259 PURE module subroutine setMeanDIM_WNO_D1_CK4(mean, sample, dim)
3260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3261 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_CK4
3262#endif
3263 use pm_kind, only: TKG => CK4
3264 integer(IK) , intent(in) :: dim
3265 complex(TKG) , intent(in) , contiguous :: sample(:)
3266 complex(TKG) , intent(out) :: mean
3267 end subroutine
3268#endif
3269
3270#if CK3_ENABLED
3271 PURE module subroutine setMeanDIM_WNO_D1_CK3(mean, sample, dim)
3272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3273 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_CK3
3274#endif
3275 use pm_kind, only: TKG => CK3
3276 integer(IK) , intent(in) :: dim
3277 complex(TKG) , intent(in) , contiguous :: sample(:)
3278 complex(TKG) , intent(out) :: mean
3279 end subroutine
3280#endif
3281
3282#if CK2_ENABLED
3283 PURE module subroutine setMeanDIM_WNO_D1_CK2(mean, sample, dim)
3284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3285 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_CK2
3286#endif
3287 use pm_kind, only: TKG => CK2
3288 integer(IK) , intent(in) :: dim
3289 complex(TKG) , intent(in) , contiguous :: sample(:)
3290 complex(TKG) , intent(out) :: mean
3291 end subroutine
3292#endif
3293
3294#if CK1_ENABLED
3295 PURE module subroutine setMeanDIM_WNO_D1_CK1(mean, sample, dim)
3296#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3297 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_CK1
3298#endif
3299 use pm_kind, only: TKG => CK1
3300 integer(IK) , intent(in) :: dim
3301 complex(TKG) , intent(in) , contiguous :: sample(:)
3302 complex(TKG) , intent(out) :: mean
3303 end subroutine
3304#endif
3305
3306 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3307
3308#if RK5_ENABLED
3309 PURE module subroutine setMeanDIM_WNO_D1_RK5(mean, sample, dim)
3310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3311 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_RK5
3312#endif
3313 use pm_kind, only: TKG => RK5
3314 integer(IK) , intent(in) :: dim
3315 real(TKG) , intent(in) , contiguous :: sample(:)
3316 real(TKG) , intent(out) :: mean
3317 end subroutine
3318#endif
3319
3320#if RK4_ENABLED
3321 PURE module subroutine setMeanDIM_WNO_D1_RK4(mean, sample, dim)
3322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3323 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_RK4
3324#endif
3325 use pm_kind, only: TKG => RK4
3326 integer(IK) , intent(in) :: dim
3327 real(TKG) , intent(in) , contiguous :: sample(:)
3328 real(TKG) , intent(out) :: mean
3329 end subroutine
3330#endif
3331
3332#if RK3_ENABLED
3333 PURE module subroutine setMeanDIM_WNO_D1_RK3(mean, sample, dim)
3334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3335 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_RK3
3336#endif
3337 use pm_kind, only: TKG => RK3
3338 integer(IK) , intent(in) :: dim
3339 real(TKG) , intent(in) , contiguous :: sample(:)
3340 real(TKG) , intent(out) :: mean
3341 end subroutine
3342#endif
3343
3344#if RK2_ENABLED
3345 PURE module subroutine setMeanDIM_WNO_D1_RK2(mean, sample, dim)
3346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3347 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_RK2
3348#endif
3349 use pm_kind, only: TKG => RK2
3350 integer(IK) , intent(in) :: dim
3351 real(TKG) , intent(in) , contiguous :: sample(:)
3352 real(TKG) , intent(out) :: mean
3353 end subroutine
3354#endif
3355
3356#if RK1_ENABLED
3357 PURE module subroutine setMeanDIM_WNO_D1_RK1(mean, sample, dim)
3358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3359 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D1_RK1
3360#endif
3361 use pm_kind, only: TKG => RK1
3362 integer(IK) , intent(in) :: dim
3363 real(TKG) , intent(in) , contiguous :: sample(:)
3364 real(TKG) , intent(out) :: mean
3365 end subroutine
3366#endif
3367
3368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3369
3370 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3371 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3372 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3373
3374 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3375
3376#if CK5_ENABLED
3377 PURE module subroutine setMeanDIM_WTI_D1_CK5(mean, sample, dim, weight, weisum)
3378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3379 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_CK5
3380#endif
3381 use pm_kind, only: TKG => CK5
3382 integer(IK) , intent(in) :: dim
3383 complex(TKG) , intent(in) , contiguous :: sample(:)
3384 integer(IK) , intent(in) , contiguous :: weight(:)
3385 complex(TKG) , intent(out) :: mean
3386 integer(IK) , intent(out) :: weisum
3387 end subroutine
3388#endif
3389
3390#if CK4_ENABLED
3391 PURE module subroutine setMeanDIM_WTI_D1_CK4(mean, sample, dim, weight, weisum)
3392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3393 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_CK4
3394#endif
3395 use pm_kind, only: TKG => CK4
3396 integer(IK) , intent(in) :: dim
3397 complex(TKG) , intent(in) , contiguous :: sample(:)
3398 integer(IK) , intent(in) , contiguous :: weight(:)
3399 complex(TKG) , intent(out) :: mean
3400 integer(IK) , intent(out) :: weisum
3401 end subroutine
3402#endif
3403
3404#if CK3_ENABLED
3405 PURE module subroutine setMeanDIM_WTI_D1_CK3(mean, sample, dim, weight, weisum)
3406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3407 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_CK3
3408#endif
3409 use pm_kind, only: TKG => CK3
3410 integer(IK) , intent(in) :: dim
3411 complex(TKG) , intent(in) , contiguous :: sample(:)
3412 integer(IK) , intent(in) , contiguous :: weight(:)
3413 complex(TKG) , intent(out) :: mean
3414 integer(IK) , intent(out) :: weisum
3415 end subroutine
3416#endif
3417
3418#if CK2_ENABLED
3419 PURE module subroutine setMeanDIM_WTI_D1_CK2(mean, sample, dim, weight, weisum)
3420#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3421 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_CK2
3422#endif
3423 use pm_kind, only: TKG => CK2
3424 integer(IK) , intent(in) :: dim
3425 complex(TKG) , intent(in) , contiguous :: sample(:)
3426 integer(IK) , intent(in) , contiguous :: weight(:)
3427 complex(TKG) , intent(out) :: mean
3428 integer(IK) , intent(out) :: weisum
3429 end subroutine
3430#endif
3431
3432#if CK1_ENABLED
3433 PURE module subroutine setMeanDIM_WTI_D1_CK1(mean, sample, dim, weight, weisum)
3434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3435 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_CK1
3436#endif
3437 use pm_kind, only: TKG => CK1
3438 integer(IK) , intent(in) :: dim
3439 complex(TKG) , intent(in) , contiguous :: sample(:)
3440 integer(IK) , intent(in) , contiguous :: weight(:)
3441 complex(TKG) , intent(out) :: mean
3442 integer(IK) , intent(out) :: weisum
3443 end subroutine
3444#endif
3445
3446 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3447
3448#if RK5_ENABLED
3449 PURE module subroutine setMeanDIM_WTI_D1_RK5(mean, sample, dim, weight, weisum)
3450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3451 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_RK5
3452#endif
3453 use pm_kind, only: TKG => RK5
3454 integer(IK) , intent(in) :: dim
3455 real(TKG) , intent(in) , contiguous :: sample(:)
3456 integer(IK) , intent(in) , contiguous :: weight(:)
3457 real(TKG) , intent(out) :: mean
3458 integer(IK) , intent(out) :: weisum
3459 end subroutine
3460#endif
3461
3462#if RK4_ENABLED
3463 PURE module subroutine setMeanDIM_WTI_D1_RK4(mean, sample, dim, weight, weisum)
3464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3465 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_RK4
3466#endif
3467 use pm_kind, only: TKG => RK4
3468 integer(IK) , intent(in) :: dim
3469 real(TKG) , intent(in) , contiguous :: sample(:)
3470 integer(IK) , intent(in) , contiguous :: weight(:)
3471 real(TKG) , intent(out) :: mean
3472 integer(IK) , intent(out) :: weisum
3473 end subroutine
3474#endif
3475
3476#if RK3_ENABLED
3477 PURE module subroutine setMeanDIM_WTI_D1_RK3(mean, sample, dim, weight, weisum)
3478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3479 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_RK3
3480#endif
3481 use pm_kind, only: TKG => RK3
3482 integer(IK) , intent(in) :: dim
3483 real(TKG) , intent(in) , contiguous :: sample(:)
3484 integer(IK) , intent(in) , contiguous :: weight(:)
3485 real(TKG) , intent(out) :: mean
3486 integer(IK) , intent(out) :: weisum
3487 end subroutine
3488#endif
3489
3490#if RK2_ENABLED
3491 PURE module subroutine setMeanDIM_WTI_D1_RK2(mean, sample, dim, weight, weisum)
3492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3493 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_RK2
3494#endif
3495 use pm_kind, only: TKG => RK2
3496 integer(IK) , intent(in) :: dim
3497 real(TKG) , intent(in) , contiguous :: sample(:)
3498 integer(IK) , intent(in) , contiguous :: weight(:)
3499 real(TKG) , intent(out) :: mean
3500 integer(IK) , intent(out) :: weisum
3501 end subroutine
3502#endif
3503
3504#if RK1_ENABLED
3505 PURE module subroutine setMeanDIM_WTI_D1_RK1(mean, sample, dim, weight, weisum)
3506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3507 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D1_RK1
3508#endif
3509 use pm_kind, only: TKG => RK1
3510 integer(IK) , intent(in) :: dim
3511 real(TKG) , intent(in) , contiguous :: sample(:)
3512 integer(IK) , intent(in) , contiguous :: weight(:)
3513 real(TKG) , intent(out) :: mean
3514 integer(IK) , intent(out) :: weisum
3515 end subroutine
3516#endif
3517
3518 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3519
3520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3522 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3523
3524 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3525
3526#if CK5_ENABLED
3527 PURE module subroutine setMeanDIM_WTR_D1_CK5(mean, sample, dim, weight, weisum)
3528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3529 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_CK5
3530#endif
3531 use pm_kind, only: TKG => CK5
3532 integer(IK) , intent(in) :: dim
3533 complex(TKG) , intent(in) , contiguous :: sample(:)
3534 real(TKG) , intent(in) , contiguous :: weight(:)
3535 complex(TKG) , intent(out) :: mean
3536 real(TKG) , intent(out) :: weisum
3537 end subroutine
3538#endif
3539
3540#if CK4_ENABLED
3541 PURE module subroutine setMeanDIM_WTR_D1_CK4(mean, sample, dim, weight, weisum)
3542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3543 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_CK4
3544#endif
3545 use pm_kind, only: TKG => CK4
3546 integer(IK) , intent(in) :: dim
3547 complex(TKG) , intent(in) , contiguous :: sample(:)
3548 real(TKG) , intent(in) , contiguous :: weight(:)
3549 complex(TKG) , intent(out) :: mean
3550 real(TKG) , intent(out) :: weisum
3551 end subroutine
3552#endif
3553
3554#if CK3_ENABLED
3555 PURE module subroutine setMeanDIM_WTR_D1_CK3(mean, sample, dim, weight, weisum)
3556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3557 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_CK3
3558#endif
3559 use pm_kind, only: TKG => CK3
3560 integer(IK) , intent(in) :: dim
3561 complex(TKG) , intent(in) , contiguous :: sample(:)
3562 real(TKG) , intent(in) , contiguous :: weight(:)
3563 complex(TKG) , intent(out) :: mean
3564 real(TKG) , intent(out) :: weisum
3565 end subroutine
3566#endif
3567
3568#if CK2_ENABLED
3569 PURE module subroutine setMeanDIM_WTR_D1_CK2(mean, sample, dim, weight, weisum)
3570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3571 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_CK2
3572#endif
3573 use pm_kind, only: TKG => CK2
3574 integer(IK) , intent(in) :: dim
3575 complex(TKG) , intent(in) , contiguous :: sample(:)
3576 real(TKG) , intent(in) , contiguous :: weight(:)
3577 complex(TKG) , intent(out) :: mean
3578 real(TKG) , intent(out) :: weisum
3579 end subroutine
3580#endif
3581
3582#if CK1_ENABLED
3583 PURE module subroutine setMeanDIM_WTR_D1_CK1(mean, sample, dim, weight, weisum)
3584#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3585 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_CK1
3586#endif
3587 use pm_kind, only: TKG => CK1
3588 integer(IK) , intent(in) :: dim
3589 complex(TKG) , intent(in) , contiguous :: sample(:)
3590 real(TKG) , intent(in) , contiguous :: weight(:)
3591 complex(TKG) , intent(out) :: mean
3592 real(TKG) , intent(out) :: weisum
3593 end subroutine
3594#endif
3595
3596 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3597
3598#if RK5_ENABLED
3599 PURE module subroutine setMeanDIM_WTR_D1_RK5(mean, sample, dim, weight, weisum)
3600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3601 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_RK5
3602#endif
3603 use pm_kind, only: TKG => RK5
3604 integer(IK) , intent(in) :: dim
3605 real(TKG) , intent(in) , contiguous :: sample(:)
3606 real(TKG) , intent(in) , contiguous :: weight(:)
3607 real(TKG) , intent(out) :: mean
3608 real(TKG) , intent(out) :: weisum
3609 end subroutine
3610#endif
3611
3612#if RK4_ENABLED
3613 PURE module subroutine setMeanDIM_WTR_D1_RK4(mean, sample, dim, weight, weisum)
3614#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3615 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_RK4
3616#endif
3617 use pm_kind, only: TKG => RK4
3618 integer(IK) , intent(in) :: dim
3619 real(TKG) , intent(in) , contiguous :: sample(:)
3620 real(TKG) , intent(in) , contiguous :: weight(:)
3621 real(TKG) , intent(out) :: mean
3622 real(TKG) , intent(out) :: weisum
3623 end subroutine
3624#endif
3625
3626#if RK3_ENABLED
3627 PURE module subroutine setMeanDIM_WTR_D1_RK3(mean, sample, dim, weight, weisum)
3628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3629 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_RK3
3630#endif
3631 use pm_kind, only: TKG => RK3
3632 integer(IK) , intent(in) :: dim
3633 real(TKG) , intent(in) , contiguous :: sample(:)
3634 real(TKG) , intent(in) , contiguous :: weight(:)
3635 real(TKG) , intent(out) :: mean
3636 real(TKG) , intent(out) :: weisum
3637 end subroutine
3638#endif
3639
3640#if RK2_ENABLED
3641 PURE module subroutine setMeanDIM_WTR_D1_RK2(mean, sample, dim, weight, weisum)
3642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3643 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_RK2
3644#endif
3645 use pm_kind, only: TKG => RK2
3646 integer(IK) , intent(in) :: dim
3647 real(TKG) , intent(in) , contiguous :: sample(:)
3648 real(TKG) , intent(in) , contiguous :: weight(:)
3649 real(TKG) , intent(out) :: mean
3650 real(TKG) , intent(out) :: weisum
3651 end subroutine
3652#endif
3653
3654#if RK1_ENABLED
3655 PURE module subroutine setMeanDIM_WTR_D1_RK1(mean, sample, dim, weight, weisum)
3656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3657 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D1_RK1
3658#endif
3659 use pm_kind, only: TKG => RK1
3660 integer(IK) , intent(in) :: dim
3661 real(TKG) , intent(in) , contiguous :: sample(:)
3662 real(TKG) , intent(in) , contiguous :: weight(:)
3663 real(TKG) , intent(out) :: mean
3664 real(TKG) , intent(out) :: weisum
3665 end subroutine
3666#endif
3667
3668 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3669
3670 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3671 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3672 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3673
3674 end interface
3675
3676 ! DIM D2
3677
3678 interface setMean
3679
3680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3683
3684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3685
3686#if CK5_ENABLED
3687 PURE module subroutine setMeanDIM_WNO_D2_CK5(mean, sample, dim)
3688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3689 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_CK5
3690#endif
3691 use pm_kind, only: TKG => CK5
3692 integer(IK) , intent(in) :: dim
3693 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3694 complex(TKG) , intent(out) , contiguous :: mean(:)
3695 end subroutine
3696#endif
3697
3698#if CK4_ENABLED
3699 PURE module subroutine setMeanDIM_WNO_D2_CK4(mean, sample, dim)
3700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3701 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_CK4
3702#endif
3703 use pm_kind, only: TKG => CK4
3704 integer(IK) , intent(in) :: dim
3705 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3706 complex(TKG) , intent(out) , contiguous :: mean(:)
3707 end subroutine
3708#endif
3709
3710#if CK3_ENABLED
3711 PURE module subroutine setMeanDIM_WNO_D2_CK3(mean, sample, dim)
3712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3713 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_CK3
3714#endif
3715 use pm_kind, only: TKG => CK3
3716 integer(IK) , intent(in) :: dim
3717 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3718 complex(TKG) , intent(out) , contiguous :: mean(:)
3719 end subroutine
3720#endif
3721
3722#if CK2_ENABLED
3723 PURE module subroutine setMeanDIM_WNO_D2_CK2(mean, sample, dim)
3724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3725 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_CK2
3726#endif
3727 use pm_kind, only: TKG => CK2
3728 integer(IK) , intent(in) :: dim
3729 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3730 complex(TKG) , intent(out) , contiguous :: mean(:)
3731 end subroutine
3732#endif
3733
3734#if CK1_ENABLED
3735 PURE module subroutine setMeanDIM_WNO_D2_CK1(mean, sample, dim)
3736#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3737 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_CK1
3738#endif
3739 use pm_kind, only: TKG => CK1
3740 integer(IK) , intent(in) :: dim
3741 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3742 complex(TKG) , intent(out) , contiguous :: mean(:)
3743 end subroutine
3744#endif
3745
3746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3747
3748#if RK5_ENABLED
3749 PURE module subroutine setMeanDIM_WNO_D2_RK5(mean, sample, dim)
3750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3751 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_RK5
3752#endif
3753 use pm_kind, only: TKG => RK5
3754 integer(IK) , intent(in) :: dim
3755 real(TKG) , intent(in) , contiguous :: sample(:,:)
3756 real(TKG) , intent(out) , contiguous :: mean(:)
3757 end subroutine
3758#endif
3759
3760#if RK4_ENABLED
3761 PURE module subroutine setMeanDIM_WNO_D2_RK4(mean, sample, dim)
3762#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3763 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_RK4
3764#endif
3765 use pm_kind, only: TKG => RK4
3766 integer(IK) , intent(in) :: dim
3767 real(TKG) , intent(in) , contiguous :: sample(:,:)
3768 real(TKG) , intent(out) , contiguous :: mean(:)
3769 end subroutine
3770#endif
3771
3772#if RK3_ENABLED
3773 PURE module subroutine setMeanDIM_WNO_D2_RK3(mean, sample, dim)
3774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3775 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_RK3
3776#endif
3777 use pm_kind, only: TKG => RK3
3778 integer(IK) , intent(in) :: dim
3779 real(TKG) , intent(in) , contiguous :: sample(:,:)
3780 real(TKG) , intent(out) , contiguous :: mean(:)
3781 end subroutine
3782#endif
3783
3784#if RK2_ENABLED
3785 PURE module subroutine setMeanDIM_WNO_D2_RK2(mean, sample, dim)
3786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3787 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_RK2
3788#endif
3789 use pm_kind, only: TKG => RK2
3790 integer(IK) , intent(in) :: dim
3791 real(TKG) , intent(in) , contiguous :: sample(:,:)
3792 real(TKG) , intent(out) , contiguous :: mean(:)
3793 end subroutine
3794#endif
3795
3796#if RK1_ENABLED
3797 PURE module subroutine setMeanDIM_WNO_D2_RK1(mean, sample, dim)
3798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3799 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WNO_D2_RK1
3800#endif
3801 use pm_kind, only: TKG => RK1
3802 integer(IK) , intent(in) :: dim
3803 real(TKG) , intent(in) , contiguous :: sample(:,:)
3804 real(TKG) , intent(out) , contiguous :: mean(:)
3805 end subroutine
3806#endif
3807
3808 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3809
3810 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3811 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3812 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3813
3814 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3815
3816#if CK5_ENABLED
3817 PURE module subroutine setMeanDIM_WTI_D2_CK5(mean, sample, dim, weight, weisum)
3818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3819 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_CK5
3820#endif
3821 use pm_kind, only: TKG => CK5
3822 integer(IK) , intent(in) :: dim
3823 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3824 integer(IK) , intent(in) , contiguous :: weight(:)
3825 complex(TKG) , intent(out) , contiguous :: mean(:)
3826 integer(IK) , intent(out) :: weisum
3827 end subroutine
3828#endif
3829
3830#if CK4_ENABLED
3831 PURE module subroutine setMeanDIM_WTI_D2_CK4(mean, sample, dim, weight, weisum)
3832#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3833 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_CK4
3834#endif
3835 use pm_kind, only: TKG => CK4
3836 integer(IK) , intent(in) :: dim
3837 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3838 integer(IK) , intent(in) , contiguous :: weight(:)
3839 complex(TKG) , intent(out) , contiguous :: mean(:)
3840 integer(IK) , intent(out) :: weisum
3841 end subroutine
3842#endif
3843
3844#if CK3_ENABLED
3845 PURE module subroutine setMeanDIM_WTI_D2_CK3(mean, sample, dim, weight, weisum)
3846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3847 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_CK3
3848#endif
3849 use pm_kind, only: TKG => CK3
3850 integer(IK) , intent(in) :: dim
3851 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3852 integer(IK) , intent(in) , contiguous :: weight(:)
3853 complex(TKG) , intent(out) , contiguous :: mean(:)
3854 integer(IK) , intent(out) :: weisum
3855 end subroutine
3856#endif
3857
3858#if CK2_ENABLED
3859 PURE module subroutine setMeanDIM_WTI_D2_CK2(mean, sample, dim, weight, weisum)
3860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3861 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_CK2
3862#endif
3863 use pm_kind, only: TKG => CK2
3864 integer(IK) , intent(in) :: dim
3865 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3866 integer(IK) , intent(in) , contiguous :: weight(:)
3867 complex(TKG) , intent(out) , contiguous :: mean(:)
3868 integer(IK) , intent(out) :: weisum
3869 end subroutine
3870#endif
3871
3872#if CK1_ENABLED
3873 PURE module subroutine setMeanDIM_WTI_D2_CK1(mean, sample, dim, weight, weisum)
3874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3875 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_CK1
3876#endif
3877 use pm_kind, only: TKG => CK1
3878 integer(IK) , intent(in) :: dim
3879 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3880 integer(IK) , intent(in) , contiguous :: weight(:)
3881 complex(TKG) , intent(out) , contiguous :: mean(:)
3882 integer(IK) , intent(out) :: weisum
3883 end subroutine
3884#endif
3885
3886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3887
3888#if RK5_ENABLED
3889 PURE module subroutine setMeanDIM_WTI_D2_RK5(mean, sample, dim, weight, weisum)
3890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3891 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_RK5
3892#endif
3893 use pm_kind, only: TKG => RK5
3894 integer(IK) , intent(in) :: dim
3895 real(TKG) , intent(in) , contiguous :: sample(:,:)
3896 integer(IK) , intent(in) , contiguous :: weight(:)
3897 real(TKG) , intent(out) , contiguous :: mean(:)
3898 integer(IK) , intent(out) :: weisum
3899 end subroutine
3900#endif
3901
3902#if RK4_ENABLED
3903 PURE module subroutine setMeanDIM_WTI_D2_RK4(mean, sample, dim, weight, weisum)
3904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3905 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_RK4
3906#endif
3907 use pm_kind, only: TKG => RK4
3908 integer(IK) , intent(in) :: dim
3909 real(TKG) , intent(in) , contiguous :: sample(:,:)
3910 integer(IK) , intent(in) , contiguous :: weight(:)
3911 real(TKG) , intent(out) , contiguous :: mean(:)
3912 integer(IK) , intent(out) :: weisum
3913 end subroutine
3914#endif
3915
3916#if RK3_ENABLED
3917 PURE module subroutine setMeanDIM_WTI_D2_RK3(mean, sample, dim, weight, weisum)
3918#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3919 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_RK3
3920#endif
3921 use pm_kind, only: TKG => RK3
3922 integer(IK) , intent(in) :: dim
3923 real(TKG) , intent(in) , contiguous :: sample(:,:)
3924 integer(IK) , intent(in) , contiguous :: weight(:)
3925 real(TKG) , intent(out) , contiguous :: mean(:)
3926 integer(IK) , intent(out) :: weisum
3927 end subroutine
3928#endif
3929
3930#if RK2_ENABLED
3931 PURE module subroutine setMeanDIM_WTI_D2_RK2(mean, sample, dim, weight, weisum)
3932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3933 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_RK2
3934#endif
3935 use pm_kind, only: TKG => RK2
3936 integer(IK) , intent(in) :: dim
3937 real(TKG) , intent(in) , contiguous :: sample(:,:)
3938 integer(IK) , intent(in) , contiguous :: weight(:)
3939 real(TKG) , intent(out) , contiguous :: mean(:)
3940 integer(IK) , intent(out) :: weisum
3941 end subroutine
3942#endif
3943
3944#if RK1_ENABLED
3945 PURE module subroutine setMeanDIM_WTI_D2_RK1(mean, sample, dim, weight, weisum)
3946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3947 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTI_D2_RK1
3948#endif
3949 use pm_kind, only: TKG => RK1
3950 integer(IK) , intent(in) :: dim
3951 real(TKG) , intent(in) , contiguous :: sample(:,:)
3952 integer(IK) , intent(in) , contiguous :: weight(:)
3953 real(TKG) , intent(out) , contiguous :: mean(:)
3954 integer(IK) , intent(out) :: weisum
3955 end subroutine
3956#endif
3957
3958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3959
3960 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3961 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3962 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3963
3964 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3965
3966#if CK5_ENABLED
3967 PURE module subroutine setMeanDIM_WTR_D2_CK5(mean, sample, dim, weight, weisum)
3968#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3969 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_CK5
3970#endif
3971 use pm_kind, only: TKG => CK5
3972 integer(IK) , intent(in) :: dim
3973 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3974 real(TKG) , intent(in) , contiguous :: weight(:)
3975 complex(TKG) , intent(out) , contiguous :: mean(:)
3976 real(TKG) , intent(out) :: weisum
3977 end subroutine
3978#endif
3979
3980#if CK4_ENABLED
3981 PURE module subroutine setMeanDIM_WTR_D2_CK4(mean, sample, dim, weight, weisum)
3982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3983 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_CK4
3984#endif
3985 use pm_kind, only: TKG => CK4
3986 integer(IK) , intent(in) :: dim
3987 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3988 real(TKG) , intent(in) , contiguous :: weight(:)
3989 complex(TKG) , intent(out) , contiguous :: mean(:)
3990 real(TKG) , intent(out) :: weisum
3991 end subroutine
3992#endif
3993
3994#if CK3_ENABLED
3995 PURE module subroutine setMeanDIM_WTR_D2_CK3(mean, sample, dim, weight, weisum)
3996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3997 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_CK3
3998#endif
3999 use pm_kind, only: TKG => CK3
4000 integer(IK) , intent(in) :: dim
4001 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4002 real(TKG) , intent(in) , contiguous :: weight(:)
4003 complex(TKG) , intent(out) , contiguous :: mean(:)
4004 real(TKG) , intent(out) :: weisum
4005 end subroutine
4006#endif
4007
4008#if CK2_ENABLED
4009 PURE module subroutine setMeanDIM_WTR_D2_CK2(mean, sample, dim, weight, weisum)
4010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4011 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_CK2
4012#endif
4013 use pm_kind, only: TKG => CK2
4014 integer(IK) , intent(in) :: dim
4015 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4016 real(TKG) , intent(in) , contiguous :: weight(:)
4017 complex(TKG) , intent(out) , contiguous :: mean(:)
4018 real(TKG) , intent(out) :: weisum
4019 end subroutine
4020#endif
4021
4022#if CK1_ENABLED
4023 PURE module subroutine setMeanDIM_WTR_D2_CK1(mean, sample, dim, weight, weisum)
4024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4025 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_CK1
4026#endif
4027 use pm_kind, only: TKG => CK1
4028 integer(IK) , intent(in) :: dim
4029 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4030 real(TKG) , intent(in) , contiguous :: weight(:)
4031 complex(TKG) , intent(out) , contiguous :: mean(:)
4032 real(TKG) , intent(out) :: weisum
4033 end subroutine
4034#endif
4035
4036 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4037
4038#if RK5_ENABLED
4039 PURE module subroutine setMeanDIM_WTR_D2_RK5(mean, sample, dim, weight, weisum)
4040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4041 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_RK5
4042#endif
4043 use pm_kind, only: TKG => RK5
4044 integer(IK) , intent(in) :: dim
4045 real(TKG) , intent(in) , contiguous :: sample(:,:)
4046 real(TKG) , intent(in) , contiguous :: weight(:)
4047 real(TKG) , intent(out) , contiguous :: mean(:)
4048 real(TKG) , intent(out) :: weisum
4049 end subroutine
4050#endif
4051
4052#if RK4_ENABLED
4053 PURE module subroutine setMeanDIM_WTR_D2_RK4(mean, sample, dim, weight, weisum)
4054#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4055 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_RK4
4056#endif
4057 use pm_kind, only: TKG => RK4
4058 integer(IK) , intent(in) :: dim
4059 real(TKG) , intent(in) , contiguous :: sample(:,:)
4060 real(TKG) , intent(in) , contiguous :: weight(:)
4061 real(TKG) , intent(out) , contiguous :: mean(:)
4062 real(TKG) , intent(out) :: weisum
4063 end subroutine
4064#endif
4065
4066#if RK3_ENABLED
4067 PURE module subroutine setMeanDIM_WTR_D2_RK3(mean, sample, dim, weight, weisum)
4068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4069 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_RK3
4070#endif
4071 use pm_kind, only: TKG => RK3
4072 integer(IK) , intent(in) :: dim
4073 real(TKG) , intent(in) , contiguous :: sample(:,:)
4074 real(TKG) , intent(in) , contiguous :: weight(:)
4075 real(TKG) , intent(out) , contiguous :: mean(:)
4076 real(TKG) , intent(out) :: weisum
4077 end subroutine
4078#endif
4079
4080#if RK2_ENABLED
4081 PURE module subroutine setMeanDIM_WTR_D2_RK2(mean, sample, dim, weight, weisum)
4082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4083 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_RK2
4084#endif
4085 use pm_kind, only: TKG => RK2
4086 integer(IK) , intent(in) :: dim
4087 real(TKG) , intent(in) , contiguous :: sample(:,:)
4088 real(TKG) , intent(in) , contiguous :: weight(:)
4089 real(TKG) , intent(out) , contiguous :: mean(:)
4090 real(TKG) , intent(out) :: weisum
4091 end subroutine
4092#endif
4093
4094#if RK1_ENABLED
4095 PURE module subroutine setMeanDIM_WTR_D2_RK1(mean, sample, dim, weight, weisum)
4096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4097 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanDIM_WTR_D2_RK1
4098#endif
4099 use pm_kind, only: TKG => RK1
4100 integer(IK) , intent(in) :: dim
4101 real(TKG) , intent(in) , contiguous :: sample(:,:)
4102 real(TKG) , intent(in) , contiguous :: weight(:)
4103 real(TKG) , intent(out) , contiguous :: mean(:)
4104 real(TKG) , intent(out) :: weisum
4105 end subroutine
4106#endif
4107
4108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4109
4110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4111 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4112 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4113
4114 end interface
4115
4116!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4117
4191
4192 ! D0
4193
4195
4196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4197
4198#if CK5_ENABLED
4199 PURE module function getMeanMergedNew_D0_CK5(meanB, meanA, fracA) result(meanMerged)
4200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4201 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_CK5
4202#endif
4203 use pm_kind, only: TKG => CK5
4204 real(TKG) , intent(in) :: fracA
4205 complex(TKG) , intent(in) :: meanA
4206 complex(TKG) , intent(in) :: meanB
4207 complex(TKG) :: meanMerged
4208 end function
4209#endif
4210
4211#if CK4_ENABLED
4212 PURE module function getMeanMergedNew_D0_CK4(meanB, meanA, fracA) result(meanMerged)
4213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4214 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_CK4
4215#endif
4216 use pm_kind, only: TKG => CK4
4217 real(TKG) , intent(in) :: fracA
4218 complex(TKG) , intent(in) :: meanA
4219 complex(TKG) , intent(in) :: meanB
4220 complex(TKG) :: meanMerged
4221 end function
4222#endif
4223
4224#if CK3_ENABLED
4225 PURE module function getMeanMergedNew_D0_CK3(meanB, meanA, fracA) result(meanMerged)
4226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4227 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_CK3
4228#endif
4229 use pm_kind, only: TKG => CK3
4230 real(TKG) , intent(in) :: fracA
4231 complex(TKG) , intent(in) :: meanA
4232 complex(TKG) , intent(in) :: meanB
4233 complex(TKG) :: meanMerged
4234 end function
4235#endif
4236
4237#if CK2_ENABLED
4238 PURE module function getMeanMergedNew_D0_CK2(meanB, meanA, fracA) result(meanMerged)
4239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4240 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_CK2
4241#endif
4242 use pm_kind, only: TKG => CK2
4243 real(TKG) , intent(in) :: fracA
4244 complex(TKG) , intent(in) :: meanA
4245 complex(TKG) , intent(in) :: meanB
4246 complex(TKG) :: meanMerged
4247 end function
4248#endif
4249
4250#if CK1_ENABLED
4251 PURE module function getMeanMergedNew_D0_CK1(meanB, meanA, fracA) result(meanMerged)
4252#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4253 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_CK1
4254#endif
4255 use pm_kind, only: TKG => CK1
4256 real(TKG) , intent(in) :: fracA
4257 complex(TKG) , intent(in) :: meanA
4258 complex(TKG) , intent(in) :: meanB
4259 complex(TKG) :: meanMerged
4260 end function
4261#endif
4262
4263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4264
4265#if RK5_ENABLED
4266 PURE module function getMeanMergedNew_D0_RK5(meanB, meanA, fracA) result(meanMerged)
4267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4268 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_RK5
4269#endif
4270 use pm_kind, only: TKG => RK5
4271 real(TKG) , intent(in) :: fracA
4272 real(TKG) , intent(in) :: meanA
4273 real(TKG) , intent(in) :: meanB
4274 real(TKG) :: meanMerged
4275 end function
4276#endif
4277
4278#if RK4_ENABLED
4279 PURE module function getMeanMergedNew_D0_RK4(meanB, meanA, fracA) result(meanMerged)
4280#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4281 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_RK4
4282#endif
4283 use pm_kind, only: TKG => RK4
4284 real(TKG) , intent(in) :: fracA
4285 real(TKG) , intent(in) :: meanA
4286 real(TKG) , intent(in) :: meanB
4287 real(TKG) :: meanMerged
4288 end function
4289#endif
4290
4291#if RK3_ENABLED
4292 PURE module function getMeanMergedNew_D0_RK3(meanB, meanA, fracA) result(meanMerged)
4293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4294 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_RK3
4295#endif
4296 use pm_kind, only: TKG => RK3
4297 real(TKG) , intent(in) :: fracA
4298 real(TKG) , intent(in) :: meanA
4299 real(TKG) , intent(in) :: meanB
4300 real(TKG) :: meanMerged
4301 end function
4302#endif
4303
4304#if RK2_ENABLED
4305 PURE module function getMeanMergedNew_D0_RK2(meanB, meanA, fracA) result(meanMerged)
4306#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4307 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_RK2
4308#endif
4309 use pm_kind, only: TKG => RK2
4310 real(TKG) , intent(in) :: fracA
4311 real(TKG) , intent(in) :: meanA
4312 real(TKG) , intent(in) :: meanB
4313 real(TKG) :: meanMerged
4314 end function
4315#endif
4316
4317#if RK1_ENABLED
4318 PURE module function getMeanMergedNew_D0_RK1(meanB, meanA, fracA) result(meanMerged)
4319#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4320 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D0_RK1
4321#endif
4322 use pm_kind, only: TKG => RK1
4323 real(TKG) , intent(in) :: fracA
4324 real(TKG) , intent(in) :: meanA
4325 real(TKG) , intent(in) :: meanB
4326 real(TKG) :: meanMerged
4327 end function
4328#endif
4329
4330 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4331
4332 end interface
4333
4334 ! D1
4335
4336 interface getMeanMerged
4337
4338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4339
4340#if RK5_ENABLED
4341 PURE module function getMeanMergedNew_D1_RK5(meanB, meanA, fracA) result(meanMerged)
4342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4343 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_RK5
4344#endif
4345 use pm_kind, only: TKG => RK5
4346 real(TKG) , intent(in) :: fracA
4347 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4348 real(TKG) :: meanMerged(size(meanA, 1, IK))
4349 end function
4350#endif
4351
4352#if RK4_ENABLED
4353 PURE module function getMeanMergedNew_D1_RK4(meanB, meanA, fracA) result(meanMerged)
4354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4355 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_RK4
4356#endif
4357 use pm_kind, only: TKG => RK4
4358 real(TKG) , intent(in) :: fracA
4359 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4360 real(TKG) :: meanMerged(size(meanA, 1, IK))
4361 end function
4362#endif
4363
4364#if RK3_ENABLED
4365 PURE module function getMeanMergedNew_D1_RK3(meanB, meanA, fracA) result(meanMerged)
4366#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4367 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_RK3
4368#endif
4369 use pm_kind, only: TKG => RK3
4370 real(TKG) , intent(in) :: fracA
4371 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4372 real(TKG) :: meanMerged(size(meanA, 1, IK))
4373 end function
4374#endif
4375
4376#if RK2_ENABLED
4377 PURE module function getMeanMergedNew_D1_RK2(meanB, meanA, fracA) result(meanMerged)
4378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4379 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_RK2
4380#endif
4381 use pm_kind, only: TKG => RK2
4382 real(TKG) , intent(in) :: fracA
4383 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4384 real(TKG) :: meanMerged(size(meanA, 1, IK))
4385 end function
4386#endif
4387
4388#if RK1_ENABLED
4389 PURE module function getMeanMergedNew_D1_RK1(meanB, meanA, fracA) result(meanMerged)
4390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4391 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_RK1
4392#endif
4393 use pm_kind, only: TKG => RK1
4394 real(TKG) , intent(in) :: fracA
4395 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4396 real(TKG) :: meanMerged(size(meanA, 1, IK))
4397 end function
4398#endif
4399
4400 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4401
4402#if CK5_ENABLED
4403 PURE module function getMeanMergedNew_D1_CK5(meanB, meanA, fracA) result(meanMerged)
4404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4405 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_CK5
4406#endif
4407 use pm_kind, only: TKG => CK5
4408 real(TKG) , intent(in) :: fracA
4409 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4410 complex(TKG) :: meanMerged(size(meanA, 1, IK))
4411 end function
4412#endif
4413
4414#if CK4_ENABLED
4415 PURE module function getMeanMergedNew_D1_CK4(meanB, meanA, fracA) result(meanMerged)
4416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4417 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_CK4
4418#endif
4419 use pm_kind, only: TKG => CK4
4420 real(TKG) , intent(in) :: fracA
4421 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4422 complex(TKG) :: meanMerged(size(meanA, 1, IK))
4423 end function
4424#endif
4425
4426#if CK3_ENABLED
4427 PURE module function getMeanMergedNew_D1_CK3(meanB, meanA, fracA) result(meanMerged)
4428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4429 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_CK3
4430#endif
4431 use pm_kind, only: TKG => CK3
4432 real(TKG) , intent(in) :: fracA
4433 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4434 complex(TKG) :: meanMerged(size(meanA, 1, IK))
4435 end function
4436#endif
4437
4438#if CK2_ENABLED
4439 PURE module function getMeanMergedNew_D1_CK2(meanB, meanA, fracA) result(meanMerged)
4440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4441 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_CK2
4442#endif
4443 use pm_kind, only: TKG => CK2
4444 real(TKG) , intent(in) :: fracA
4445 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4446 complex(TKG) :: meanMerged(size(meanA, 1, IK))
4447 end function
4448#endif
4449
4450#if CK1_ENABLED
4451 PURE module function getMeanMergedNew_D1_CK1(meanB, meanA, fracA) result(meanMerged)
4452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4453 !DEC$ ATTRIBUTES DLLEXPORT :: getMeanMergedNew_D1_CK1
4454#endif
4455 use pm_kind, only: TKG => CK1
4456 real(TKG) , intent(in) :: fracA
4457 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4458 complex(TKG) :: meanMerged(size(meanA, 1, IK))
4459 end function
4460#endif
4461
4462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4463
4464 end interface
4465
4466!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4467
4545
4546 ! New_D0
4547
4549
4550 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4551
4552#if CK5_ENABLED
4553 PURE module subroutine setMeanMergedNew_D0_CK5(meanMerged, meanB, meanA, fracA)
4554#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4555 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_CK5
4556#endif
4557 use pm_kind, only: TKG => CK5
4558 real(TKG) , intent(in) :: fracA
4559 complex(TKG) , intent(in) :: meanA
4560 complex(TKG) , intent(in) :: meanB
4561 complex(TKG) , intent(out) :: meanMerged
4562 end subroutine
4563#endif
4564
4565#if CK4_ENABLED
4566 PURE module subroutine setMeanMergedNew_D0_CK4(meanMerged, meanB, meanA, fracA)
4567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4568 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_CK4
4569#endif
4570 use pm_kind, only: TKG => CK4
4571 real(TKG) , intent(in) :: fracA
4572 complex(TKG) , intent(in) :: meanA
4573 complex(TKG) , intent(in) :: meanB
4574 complex(TKG) , intent(out) :: meanMerged
4575 end subroutine
4576#endif
4577
4578#if CK3_ENABLED
4579 PURE module subroutine setMeanMergedNew_D0_CK3(meanMerged, meanB, meanA, fracA)
4580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4581 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_CK3
4582#endif
4583 use pm_kind, only: TKG => CK3
4584 real(TKG) , intent(in) :: fracA
4585 complex(TKG) , intent(in) :: meanA
4586 complex(TKG) , intent(in) :: meanB
4587 complex(TKG) , intent(out) :: meanMerged
4588 end subroutine
4589#endif
4590
4591#if CK2_ENABLED
4592 PURE module subroutine setMeanMergedNew_D0_CK2(meanMerged, meanB, meanA, fracA)
4593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4594 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_CK2
4595#endif
4596 use pm_kind, only: TKG => CK2
4597 real(TKG) , intent(in) :: fracA
4598 complex(TKG) , intent(in) :: meanA
4599 complex(TKG) , intent(in) :: meanB
4600 complex(TKG) , intent(out) :: meanMerged
4601 end subroutine
4602#endif
4603
4604#if CK1_ENABLED
4605 PURE module subroutine setMeanMergedNew_D0_CK1(meanMerged, meanB, meanA, fracA)
4606#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4607 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_CK1
4608#endif
4609 use pm_kind, only: TKG => CK1
4610 real(TKG) , intent(in) :: fracA
4611 complex(TKG) , intent(in) :: meanA
4612 complex(TKG) , intent(in) :: meanB
4613 complex(TKG) , intent(out) :: meanMerged
4614 end subroutine
4615#endif
4616
4617 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4618
4619#if RK5_ENABLED
4620 PURE module subroutine setMeanMergedNew_D0_RK5(meanMerged, meanB, meanA, fracA)
4621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4622 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_RK5
4623#endif
4624 use pm_kind, only: TKG => RK5
4625 real(TKG) , intent(in) :: fracA
4626 real(TKG) , intent(in) :: meanA
4627 real(TKG) , intent(in) :: meanB
4628 real(TKG) , intent(out) :: meanMerged
4629 end subroutine
4630#endif
4631
4632#if RK4_ENABLED
4633 PURE module subroutine setMeanMergedNew_D0_RK4(meanMerged, meanB, meanA, fracA)
4634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4635 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_RK4
4636#endif
4637 use pm_kind, only: TKG => RK4
4638 real(TKG) , intent(in) :: fracA
4639 real(TKG) , intent(in) :: meanA
4640 real(TKG) , intent(in) :: meanB
4641 real(TKG) , intent(out) :: meanMerged
4642 end subroutine
4643#endif
4644
4645#if RK3_ENABLED
4646 PURE module subroutine setMeanMergedNew_D0_RK3(meanMerged, meanB, meanA, fracA)
4647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4648 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_RK3
4649#endif
4650 use pm_kind, only: TKG => RK3
4651 real(TKG) , intent(in) :: fracA
4652 real(TKG) , intent(in) :: meanA
4653 real(TKG) , intent(in) :: meanB
4654 real(TKG) , intent(out) :: meanMerged
4655 end subroutine
4656#endif
4657
4658#if RK2_ENABLED
4659 PURE module subroutine setMeanMergedNew_D0_RK2(meanMerged, meanB, meanA, fracA)
4660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4661 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_RK2
4662#endif
4663 use pm_kind, only: TKG => RK2
4664 real(TKG) , intent(in) :: fracA
4665 real(TKG) , intent(in) :: meanA
4666 real(TKG) , intent(in) :: meanB
4667 real(TKG) , intent(out) :: meanMerged
4668 end subroutine
4669#endif
4670
4671#if RK1_ENABLED
4672 PURE module subroutine setMeanMergedNew_D0_RK1(meanMerged, meanB, meanA, fracA)
4673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4674 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D0_RK1
4675#endif
4676 use pm_kind, only: TKG => RK1
4677 real(TKG) , intent(in) :: fracA
4678 real(TKG) , intent(in) :: meanA
4679 real(TKG) , intent(in) :: meanB
4680 real(TKG) , intent(out) :: meanMerged
4681 end subroutine
4682#endif
4683
4684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4685
4686 end interface
4687
4688 ! New_D1
4689
4690 interface setMeanMerged
4691
4692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4693
4694#if CK5_ENABLED
4695 PURE module subroutine setMeanMergedNew_D1_CK5(meanMerged, meanB, meanA, fracA)
4696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4697 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_CK5
4698#endif
4699 use pm_kind, only: TKG => CK5
4700 real(TKG) , intent(in) :: fracA
4701 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4702 complex(TKG) , intent(out) , contiguous :: meanMerged(:)
4703 end subroutine
4704#endif
4705
4706#if CK4_ENABLED
4707 PURE module subroutine setMeanMergedNew_D1_CK4(meanMerged, meanB, meanA, fracA)
4708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4709 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_CK4
4710#endif
4711 use pm_kind, only: TKG => CK4
4712 real(TKG) , intent(in) :: fracA
4713 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4714 complex(TKG) , intent(out) , contiguous :: meanMerged(:)
4715 end subroutine
4716#endif
4717
4718#if CK3_ENABLED
4719 PURE module subroutine setMeanMergedNew_D1_CK3(meanMerged, meanB, meanA, fracA)
4720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4721 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_CK3
4722#endif
4723 use pm_kind, only: TKG => CK3
4724 real(TKG) , intent(in) :: fracA
4725 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4726 complex(TKG) , intent(out) , contiguous :: meanMerged(:)
4727 end subroutine
4728#endif
4729
4730#if CK2_ENABLED
4731 PURE module subroutine setMeanMergedNew_D1_CK2(meanMerged, meanB, meanA, fracA)
4732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4733 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_CK2
4734#endif
4735 use pm_kind, only: TKG => CK2
4736 real(TKG) , intent(in) :: fracA
4737 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4738 complex(TKG) , intent(out) , contiguous :: meanMerged(:)
4739 end subroutine
4740#endif
4741
4742#if CK1_ENABLED
4743 PURE module subroutine setMeanMergedNew_D1_CK1(meanMerged, meanB, meanA, fracA)
4744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4745 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_CK1
4746#endif
4747 use pm_kind, only: TKG => CK1
4748 real(TKG) , intent(in) :: fracA
4749 complex(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4750 complex(TKG) , intent(out) , contiguous :: meanMerged(:)
4751 end subroutine
4752#endif
4753
4754 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4755
4756#if RK5_ENABLED
4757 PURE module subroutine setMeanMergedNew_D1_RK5(meanMerged, meanB, meanA, fracA)
4758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4759 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_RK5
4760#endif
4761 use pm_kind, only: TKG => RK5
4762 real(TKG) , intent(in) :: fracA
4763 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4764 real(TKG) , intent(out) , contiguous :: meanMerged(:)
4765 end subroutine
4766#endif
4767
4768#if RK4_ENABLED
4769 PURE module subroutine setMeanMergedNew_D1_RK4(meanMerged, meanB, meanA, fracA)
4770#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4771 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_RK4
4772#endif
4773 use pm_kind, only: TKG => RK4
4774 real(TKG) , intent(in) :: fracA
4775 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4776 real(TKG) , intent(out) , contiguous :: meanMerged(:)
4777 end subroutine
4778#endif
4779
4780#if RK3_ENABLED
4781 PURE module subroutine setMeanMergedNew_D1_RK3(meanMerged, meanB, meanA, fracA)
4782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4783 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_RK3
4784#endif
4785 use pm_kind, only: TKG => RK3
4786 real(TKG) , intent(in) :: fracA
4787 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4788 real(TKG) , intent(out) , contiguous :: meanMerged(:)
4789 end subroutine
4790#endif
4791
4792#if RK2_ENABLED
4793 PURE module subroutine setMeanMergedNew_D1_RK2(meanMerged, meanB, meanA, fracA)
4794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4795 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_RK2
4796#endif
4797 use pm_kind, only: TKG => RK2
4798 real(TKG) , intent(in) :: fracA
4799 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4800 real(TKG) , intent(out) , contiguous :: meanMerged(:)
4801 end subroutine
4802#endif
4803
4804#if RK1_ENABLED
4805 PURE module subroutine setMeanMergedNew_D1_RK1(meanMerged, meanB, meanA, fracA)
4806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4807 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedNew_D1_RK1
4808#endif
4809 use pm_kind, only: TKG => RK1
4810 real(TKG) , intent(in) :: fracA
4811 real(TKG) , intent(in) , contiguous :: meanA(:), meanB(:)
4812 real(TKG) , intent(out) , contiguous :: meanMerged(:)
4813 end subroutine
4814#endif
4815
4816 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4817
4818 end interface
4819
4820 ! Old_D0
4821
4822 interface setMeanMerged
4823
4824 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4825
4826#if CK5_ENABLED
4827 PURE module subroutine setMeanMergedOld_D0_CK5(meanB, meanA, fracA)
4828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4829 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_CK5
4830#endif
4831 use pm_kind, only: TKG => CK5
4832 real(TKG) , intent(in) :: fracA
4833 complex(TKG) , intent(in) :: meanA
4834 complex(TKG) , intent(inout) :: meanB
4835 end subroutine
4836#endif
4837
4838#if CK4_ENABLED
4839 PURE module subroutine setMeanMergedOld_D0_CK4(meanB, meanA, fracA)
4840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4841 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_CK4
4842#endif
4843 use pm_kind, only: TKG => CK4
4844 real(TKG) , intent(in) :: fracA
4845 complex(TKG) , intent(in) :: meanA
4846 complex(TKG) , intent(inout) :: meanB
4847 end subroutine
4848#endif
4849
4850#if CK3_ENABLED
4851 PURE module subroutine setMeanMergedOld_D0_CK3(meanB, meanA, fracA)
4852#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4853 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_CK3
4854#endif
4855 use pm_kind, only: TKG => CK3
4856 real(TKG) , intent(in) :: fracA
4857 complex(TKG) , intent(in) :: meanA
4858 complex(TKG) , intent(inout) :: meanB
4859 end subroutine
4860#endif
4861
4862#if CK2_ENABLED
4863 PURE module subroutine setMeanMergedOld_D0_CK2(meanB, meanA, fracA)
4864#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4865 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_CK2
4866#endif
4867 use pm_kind, only: TKG => CK2
4868 real(TKG) , intent(in) :: fracA
4869 complex(TKG) , intent(in) :: meanA
4870 complex(TKG) , intent(inout) :: meanB
4871 end subroutine
4872#endif
4873
4874#if CK1_ENABLED
4875 PURE module subroutine setMeanMergedOld_D0_CK1(meanB, meanA, fracA)
4876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4877 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_CK1
4878#endif
4879 use pm_kind, only: TKG => CK1
4880 real(TKG) , intent(in) :: fracA
4881 complex(TKG) , intent(in) :: meanA
4882 complex(TKG) , intent(inout) :: meanB
4883 end subroutine
4884#endif
4885
4886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4887
4888#if RK5_ENABLED
4889 PURE module subroutine setMeanMergedOld_D0_RK5(meanB, meanA, fracA)
4890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4891 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_RK5
4892#endif
4893 use pm_kind, only: TKG => RK5
4894 real(TKG) , intent(in) :: fracA
4895 real(TKG) , intent(in) :: meanA
4896 real(TKG) , intent(inout) :: meanB
4897 end subroutine
4898#endif
4899
4900#if RK4_ENABLED
4901 PURE module subroutine setMeanMergedOld_D0_RK4(meanB, meanA, fracA)
4902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4903 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_RK4
4904#endif
4905 use pm_kind, only: TKG => RK4
4906 real(TKG) , intent(in) :: fracA
4907 real(TKG) , intent(in) :: meanA
4908 real(TKG) , intent(inout) :: meanB
4909 end subroutine
4910#endif
4911
4912#if RK3_ENABLED
4913 PURE module subroutine setMeanMergedOld_D0_RK3(meanB, meanA, fracA)
4914#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4915 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_RK3
4916#endif
4917 use pm_kind, only: TKG => RK3
4918 real(TKG) , intent(in) :: fracA
4919 real(TKG) , intent(in) :: meanA
4920 real(TKG) , intent(inout) :: meanB
4921 end subroutine
4922#endif
4923
4924#if RK2_ENABLED
4925 PURE module subroutine setMeanMergedOld_D0_RK2(meanB, meanA, fracA)
4926#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4927 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_RK2
4928#endif
4929 use pm_kind, only: TKG => RK2
4930 real(TKG) , intent(in) :: fracA
4931 real(TKG) , intent(in) :: meanA
4932 real(TKG) , intent(inout) :: meanB
4933 end subroutine
4934#endif
4935
4936#if RK1_ENABLED
4937 PURE module subroutine setMeanMergedOld_D0_RK1(meanB, meanA, fracA)
4938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4939 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D0_RK1
4940#endif
4941 use pm_kind, only: TKG => RK1
4942 real(TKG) , intent(in) :: fracA
4943 real(TKG) , intent(in) :: meanA
4944 real(TKG) , intent(inout) :: meanB
4945 end subroutine
4946#endif
4947
4948 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4949
4950 end interface
4951
4952 ! Old_D1
4953
4954 interface setMeanMerged
4955
4956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4957
4958#if CK5_ENABLED
4959 PURE module subroutine setMeanMergedOld_D1_CK5(meanB, meanA, fracA)
4960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4961 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_CK5
4962#endif
4963 use pm_kind, only: TKG => CK5
4964 real(TKG) , intent(in) :: fracA
4965 complex(TKG) , intent(in) , contiguous :: meanA(:)
4966 complex(TKG) , intent(inout) , contiguous :: meanB(:)
4967 end subroutine
4968#endif
4969
4970#if CK4_ENABLED
4971 PURE module subroutine setMeanMergedOld_D1_CK4(meanB, meanA, fracA)
4972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4973 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_CK4
4974#endif
4975 use pm_kind, only: TKG => CK4
4976 real(TKG) , intent(in) :: fracA
4977 complex(TKG) , intent(in) , contiguous :: meanA(:)
4978 complex(TKG) , intent(inout) , contiguous :: meanB(:)
4979 end subroutine
4980#endif
4981
4982#if CK3_ENABLED
4983 PURE module subroutine setMeanMergedOld_D1_CK3(meanB, meanA, fracA)
4984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4985 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_CK3
4986#endif
4987 use pm_kind, only: TKG => CK3
4988 real(TKG) , intent(in) :: fracA
4989 complex(TKG) , intent(in) , contiguous :: meanA(:)
4990 complex(TKG) , intent(inout) , contiguous :: meanB(:)
4991 end subroutine
4992#endif
4993
4994#if CK2_ENABLED
4995 PURE module subroutine setMeanMergedOld_D1_CK2(meanB, meanA, fracA)
4996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4997 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_CK2
4998#endif
4999 use pm_kind, only: TKG => CK2
5000 real(TKG) , intent(in) :: fracA
5001 complex(TKG) , intent(in) , contiguous :: meanA(:)
5002 complex(TKG) , intent(inout) , contiguous :: meanB(:)
5003 end subroutine
5004#endif
5005
5006#if CK1_ENABLED
5007 PURE module subroutine setMeanMergedOld_D1_CK1(meanB, meanA, fracA)
5008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5009 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_CK1
5010#endif
5011 use pm_kind, only: TKG => CK1
5012 real(TKG) , intent(in) :: fracA
5013 complex(TKG) , intent(in) , contiguous :: meanA(:)
5014 complex(TKG) , intent(inout) , contiguous :: meanB(:)
5015 end subroutine
5016#endif
5017
5018 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5019
5020#if RK5_ENABLED
5021 PURE module subroutine setMeanMergedOld_D1_RK5(meanB, meanA, fracA)
5022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5023 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_RK5
5024#endif
5025 use pm_kind, only: TKG => RK5
5026 real(TKG) , intent(in) :: fracA
5027 real(TKG) , intent(in) , contiguous :: meanA(:)
5028 real(TKG) , intent(inout) , contiguous :: meanB(:)
5029 end subroutine
5030#endif
5031
5032#if RK4_ENABLED
5033 PURE module subroutine setMeanMergedOld_D1_RK4(meanB, meanA, fracA)
5034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5035 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_RK4
5036#endif
5037 use pm_kind, only: TKG => RK4
5038 real(TKG) , intent(in) :: fracA
5039 real(TKG) , intent(in) , contiguous :: meanA(:)
5040 real(TKG) , intent(inout) , contiguous :: meanB(:)
5041 end subroutine
5042#endif
5043
5044#if RK3_ENABLED
5045 PURE module subroutine setMeanMergedOld_D1_RK3(meanB, meanA, fracA)
5046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5047 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_RK3
5048#endif
5049 use pm_kind, only: TKG => RK3
5050 real(TKG) , intent(in) :: fracA
5051 real(TKG) , intent(in) , contiguous :: meanA(:)
5052 real(TKG) , intent(inout) , contiguous :: meanB(:)
5053 end subroutine
5054#endif
5055
5056#if RK2_ENABLED
5057 PURE module subroutine setMeanMergedOld_D1_RK2(meanB, meanA, fracA)
5058#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5059 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_RK2
5060#endif
5061 use pm_kind, only: TKG => RK2
5062 real(TKG) , intent(in) :: fracA
5063 real(TKG) , intent(in) , contiguous :: meanA(:)
5064 real(TKG) , intent(inout) , contiguous :: meanB(:)
5065 end subroutine
5066#endif
5067
5068#if RK1_ENABLED
5069 PURE module subroutine setMeanMergedOld_D1_RK1(meanB, meanA, fracA)
5070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5071 !DEC$ ATTRIBUTES DLLEXPORT :: setMeanMergedOld_D1_RK1
5072#endif
5073 use pm_kind, only: TKG => RK1
5074 real(TKG) , intent(in) :: fracA
5075 real(TKG) , intent(in) , contiguous :: meanA(:)
5076 real(TKG) , intent(inout) , contiguous :: meanB(:)
5077 end subroutine
5078#endif
5079
5080 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5081
5082 end interface
5083
5084!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5085
5086end module pm_sampleMean ! LCOV_EXCL_LINE
Generate and return the (weighted) merged mean of a sample resulting from the merger of two separate ...
Generate and return the (weighted) mean of an input sample of nsam observations with ndim = 1 or 2 at...
Return the (weighted) merged mean of a sample resulting from the merger of two separate (weighted) sa...
Return the (weighted) mean of a pair of time series or of an input sample of nsam observations with n...
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 CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
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 classes and procedures for computing the first moment (i.e., the statistical mea...
character(*, SK), parameter MODULE_NAME