ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_distanceKolm.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
51
52!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53
55
56 use pm_kind, only: IK, RK, SK
58
59 implicit none
60
61 character(*, SK), parameter :: MODULE_NAME = "@pm_distanceKolm"
62
63!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64
209
210 ! SS*_WDD_D1
211
212 interface getDisKolm
213
214 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
217
218 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219
220#if RK5_ENABLED
221 PURE module function getDisKolmSSD_WDD_D1_RK5(sample1, sample2) result(disKolm)
222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
223 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WDD_D1_RK5
224#endif
225 use pm_kind, only: RKG => RK5
226 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
227 real(RKG) :: disKolm
228 end function
229#endif
230
231#if RK4_ENABLED
232 PURE module function getDisKolmSSD_WDD_D1_RK4(sample1, sample2) result(disKolm)
233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
234 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WDD_D1_RK4
235#endif
236 use pm_kind, only: RKG => RK4
237 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
238 real(RKG) :: disKolm
239 end function
240#endif
241
242#if RK3_ENABLED
243 PURE module function getDisKolmSSD_WDD_D1_RK3(sample1, sample2) result(disKolm)
244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
245 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WDD_D1_RK3
246#endif
247 use pm_kind, only: RKG => RK3
248 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
249 real(RKG) :: disKolm
250 end function
251#endif
252
253#if RK2_ENABLED
254 PURE module function getDisKolmSSD_WDD_D1_RK2(sample1, sample2) result(disKolm)
255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
256 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WDD_D1_RK2
257#endif
258 use pm_kind, only: RKG => RK2
259 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
260 real(RKG) :: disKolm
261 end function
262#endif
263
264#if RK1_ENABLED
265 PURE module function getDisKolmSSD_WDD_D1_RK1(sample1, sample2) result(disKolm)
266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
267 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WDD_D1_RK1
268#endif
269 use pm_kind, only: RKG => RK1
270 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
271 real(RKG) :: disKolm
272 end function
273#endif
274
275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
276
277 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280
281 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
282
283#if RK5_ENABLED
284 PURE module function getDisKolmSSA_WDD_D1_RK5(sample1, sample2, order) result(disKolm)
285#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
286 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WDD_D1_RK5
287#endif
288 use pm_kind, only: RKG => RK5
289 type(ascending_type), intent(in) :: order
290 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
291 real(RKG) :: disKolm
292 end function
293#endif
294
295#if RK4_ENABLED
296 PURE module function getDisKolmSSA_WDD_D1_RK4(sample1, sample2, order) result(disKolm)
297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
298 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WDD_D1_RK4
299#endif
300 use pm_kind, only: RKG => RK4
301 type(ascending_type), intent(in) :: order
302 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
303 real(RKG) :: disKolm
304 end function
305#endif
306
307#if RK3_ENABLED
308 PURE module function getDisKolmSSA_WDD_D1_RK3(sample1, sample2, order) result(disKolm)
309#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
310 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WDD_D1_RK3
311#endif
312 use pm_kind, only: RKG => RK3
313 type(ascending_type), intent(in) :: order
314 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
315 real(RKG) :: disKolm
316 end function
317#endif
318
319#if RK2_ENABLED
320 PURE module function getDisKolmSSA_WDD_D1_RK2(sample1, sample2, order) result(disKolm)
321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
322 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WDD_D1_RK2
323#endif
324 use pm_kind, only: RKG => RK2
325 type(ascending_type), intent(in) :: order
326 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
327 real(RKG) :: disKolm
328 end function
329#endif
330
331#if RK1_ENABLED
332 PURE module function getDisKolmSSA_WDD_D1_RK1(sample1, sample2, order) result(disKolm)
333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
334 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WDD_D1_RK1
335#endif
336 use pm_kind, only: RKG => RK1
337 type(ascending_type), intent(in) :: order
338 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
339 real(RKG) :: disKolm
340 end function
341#endif
342
343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344
345 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
348
349 end interface
350
351 ! SS*_WID_D1
352
353 interface getDisKolm
354
355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
356 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
357 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
358
359 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
360
361#if RK5_ENABLED
362 PURE module function getDisKolmSSD_WID_D1_RK5(sample1, weight1, weisum1, sample2) result(disKolm)
363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
364 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WID_D1_RK5
365#endif
366 use pm_kind, only: RKG => RK5
367 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
368 integer(IK) , intent(in), contiguous :: weight1(:)
369 integer(IK) , intent(in) :: weisum1
370 real(RKG) :: disKolm
371 end function
372#endif
373
374#if RK4_ENABLED
375 PURE module function getDisKolmSSD_WID_D1_RK4(sample1, weight1, weisum1, sample2) result(disKolm)
376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
377 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WID_D1_RK4
378#endif
379 use pm_kind, only: RKG => RK4
380 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
381 integer(IK) , intent(in), contiguous :: weight1(:)
382 integer(IK) , intent(in) :: weisum1
383 real(RKG) :: disKolm
384 end function
385#endif
386
387#if RK3_ENABLED
388 PURE module function getDisKolmSSD_WID_D1_RK3(sample1, weight1, weisum1, sample2) result(disKolm)
389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
390 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WID_D1_RK3
391#endif
392 use pm_kind, only: RKG => RK3
393 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
394 integer(IK) , intent(in), contiguous :: weight1(:)
395 integer(IK) , intent(in) :: weisum1
396 real(RKG) :: disKolm
397 end function
398#endif
399
400#if RK2_ENABLED
401 PURE module function getDisKolmSSD_WID_D1_RK2(sample1, weight1, weisum1, sample2) result(disKolm)
402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
403 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WID_D1_RK2
404#endif
405 use pm_kind, only: RKG => RK2
406 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
407 integer(IK) , intent(in), contiguous :: weight1(:)
408 integer(IK) , intent(in) :: weisum1
409 real(RKG) :: disKolm
410 end function
411#endif
412
413#if RK1_ENABLED
414 PURE module function getDisKolmSSD_WID_D1_RK1(sample1, weight1, weisum1, sample2) result(disKolm)
415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
416 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WID_D1_RK1
417#endif
418 use pm_kind, only: RKG => RK1
419 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
420 integer(IK) , intent(in), contiguous :: weight1(:)
421 integer(IK) , intent(in) :: weisum1
422 real(RKG) :: disKolm
423 end function
424#endif
425
426 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
427
428 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
429 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
430 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
431
432 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
433
434#if RK5_ENABLED
435 PURE module function getDisKolmSSA_WID_D1_RK5(sample1, weight1, weisum1, sample2, order) result(disKolm)
436#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
437 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WID_D1_RK5
438#endif
439 use pm_kind, only: RKG => RK5
440 type(ascending_type), intent(in) :: order
441 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
442 integer(IK) , intent(in), contiguous :: weight1(:)
443 integer(IK) , intent(in) :: weisum1
444 real(RKG) :: disKolm
445 end function
446#endif
447
448#if RK4_ENABLED
449 PURE module function getDisKolmSSA_WID_D1_RK4(sample1, weight1, weisum1, sample2, order) result(disKolm)
450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
451 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WID_D1_RK4
452#endif
453 use pm_kind, only: RKG => RK4
454 type(ascending_type), intent(in) :: order
455 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
456 integer(IK) , intent(in), contiguous :: weight1(:)
457 integer(IK) , intent(in) :: weisum1
458 real(RKG) :: disKolm
459 end function
460#endif
461
462#if RK3_ENABLED
463 PURE module function getDisKolmSSA_WID_D1_RK3(sample1, weight1, weisum1, sample2, order) result(disKolm)
464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
465 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WID_D1_RK3
466#endif
467 use pm_kind, only: RKG => RK3
468 type(ascending_type), intent(in) :: order
469 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
470 integer(IK) , intent(in), contiguous :: weight1(:)
471 integer(IK) , intent(in) :: weisum1
472 real(RKG) :: disKolm
473 end function
474#endif
475
476#if RK2_ENABLED
477 PURE module function getDisKolmSSA_WID_D1_RK2(sample1, weight1, weisum1, sample2, order) result(disKolm)
478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
479 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WID_D1_RK2
480#endif
481 use pm_kind, only: RKG => RK2
482 type(ascending_type), intent(in) :: order
483 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
484 integer(IK) , intent(in), contiguous :: weight1(:)
485 integer(IK) , intent(in) :: weisum1
486 real(RKG) :: disKolm
487 end function
488#endif
489
490#if RK1_ENABLED
491 PURE module function getDisKolmSSA_WID_D1_RK1(sample1, weight1, weisum1, sample2, order) result(disKolm)
492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
493 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WID_D1_RK1
494#endif
495 use pm_kind, only: RKG => RK1
496 type(ascending_type), intent(in) :: order
497 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
498 integer(IK) , intent(in), contiguous :: weight1(:)
499 integer(IK) , intent(in) :: weisum1
500 real(RKG) :: disKolm
501 end function
502#endif
503
504 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
505
506 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
507 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
508 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
509
510 end interface
511
512 ! SS*_WRD_D1
513
514 interface getDisKolm
515
516 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
517 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
519
520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
521
522#if RK5_ENABLED
523 PURE module function getDisKolmSSD_WRD_D1_RK5(sample1, weight1, weisum1, sample2) result(disKolm)
524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
525 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRD_D1_RK5
526#endif
527 use pm_kind, only: RKG => RK5
528 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
529 real(RKG) , intent(in), contiguous :: weight1(:)
530 real(RKG) , intent(in) :: weisum1
531 real(RKG) :: disKolm
532 end function
533#endif
534
535#if RK4_ENABLED
536 PURE module function getDisKolmSSD_WRD_D1_RK4(sample1, weight1, weisum1, sample2) result(disKolm)
537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRD_D1_RK4
539#endif
540 use pm_kind, only: RKG => RK4
541 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
542 real(RKG) , intent(in), contiguous :: weight1(:)
543 real(RKG) , intent(in) :: weisum1
544 real(RKG) :: disKolm
545 end function
546#endif
547
548#if RK3_ENABLED
549 PURE module function getDisKolmSSD_WRD_D1_RK3(sample1, weight1, weisum1, sample2) result(disKolm)
550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
551 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRD_D1_RK3
552#endif
553 use pm_kind, only: RKG => RK3
554 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
555 real(RKG) , intent(in), contiguous :: weight1(:)
556 real(RKG) , intent(in) :: weisum1
557 real(RKG) :: disKolm
558 end function
559#endif
560
561#if RK2_ENABLED
562 PURE module function getDisKolmSSD_WRD_D1_RK2(sample1, weight1, weisum1, sample2) result(disKolm)
563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
564 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRD_D1_RK2
565#endif
566 use pm_kind, only: RKG => RK2
567 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
568 real(RKG) , intent(in), contiguous :: weight1(:)
569 real(RKG) , intent(in) :: weisum1
570 real(RKG) :: disKolm
571 end function
572#endif
573
574#if RK1_ENABLED
575 PURE module function getDisKolmSSD_WRD_D1_RK1(sample1, weight1, weisum1, sample2) result(disKolm)
576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
577 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRD_D1_RK1
578#endif
579 use pm_kind, only: RKG => RK1
580 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
581 real(RKG) , intent(in), contiguous :: weight1(:)
582 real(RKG) , intent(in) :: weisum1
583 real(RKG) :: disKolm
584 end function
585#endif
586
587 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
588
589 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
590 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
591 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
592
593 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
594
595#if RK5_ENABLED
596 PURE module function getDisKolmSSA_WRD_D1_RK5(sample1, weight1, weisum1, sample2, order) result(disKolm)
597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
598 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRD_D1_RK5
599#endif
600 use pm_kind, only: RKG => RK5
601 type(ascending_type), intent(in) :: order
602 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
603 real(RKG) , intent(in), contiguous :: weight1(:)
604 real(RKG) , intent(in) :: weisum1
605 real(RKG) :: disKolm
606 end function
607#endif
608
609#if RK4_ENABLED
610 PURE module function getDisKolmSSA_WRD_D1_RK4(sample1, weight1, weisum1, sample2, order) result(disKolm)
611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
612 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRD_D1_RK4
613#endif
614 use pm_kind, only: RKG => RK4
615 type(ascending_type), intent(in) :: order
616 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
617 real(RKG) , intent(in), contiguous :: weight1(:)
618 real(RKG) , intent(in) :: weisum1
619 real(RKG) :: disKolm
620 end function
621#endif
622
623#if RK3_ENABLED
624 PURE module function getDisKolmSSA_WRD_D1_RK3(sample1, weight1, weisum1, sample2, order) result(disKolm)
625#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
626 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRD_D1_RK3
627#endif
628 use pm_kind, only: RKG => RK3
629 type(ascending_type), intent(in) :: order
630 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
631 real(RKG) , intent(in), contiguous :: weight1(:)
632 real(RKG) , intent(in) :: weisum1
633 real(RKG) :: disKolm
634 end function
635#endif
636
637#if RK2_ENABLED
638 PURE module function getDisKolmSSA_WRD_D1_RK2(sample1, weight1, weisum1, sample2, order) result(disKolm)
639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
640 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRD_D1_RK2
641#endif
642 use pm_kind, only: RKG => RK2
643 type(ascending_type), intent(in) :: order
644 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
645 real(RKG) , intent(in), contiguous :: weight1(:)
646 real(RKG) , intent(in) :: weisum1
647 real(RKG) :: disKolm
648 end function
649#endif
650
651#if RK1_ENABLED
652 PURE module function getDisKolmSSA_WRD_D1_RK1(sample1, weight1, weisum1, sample2, order) result(disKolm)
653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
654 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRD_D1_RK1
655#endif
656 use pm_kind, only: RKG => RK1
657 type(ascending_type), intent(in) :: order
658 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
659 real(RKG) , intent(in), contiguous :: weight1(:)
660 real(RKG) , intent(in) :: weisum1
661 real(RKG) :: disKolm
662 end function
663#endif
664
665 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
666
667 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
668 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
669 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
670
671 end interface
672
673 ! SS*_WII_D1
674
675 interface getDisKolm
676
677 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
678 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
679 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
680
681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
682
683#if RK5_ENABLED
684 PURE module function getDisKolmSSD_WII_D1_RK5(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
685#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
686 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WII_D1_RK5
687#endif
688 use pm_kind, only: RKG => RK5
689 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
690 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
691 integer(IK) , intent(in) :: weisum1, weisum2
692 real(RKG) :: disKolm
693 end function
694#endif
695
696#if RK4_ENABLED
697 PURE module function getDisKolmSSD_WII_D1_RK4(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
699 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WII_D1_RK4
700#endif
701 use pm_kind, only: RKG => RK4
702 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
703 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
704 integer(IK) , intent(in) :: weisum1, weisum2
705 real(RKG) :: disKolm
706 end function
707#endif
708
709#if RK3_ENABLED
710 PURE module function getDisKolmSSD_WII_D1_RK3(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
712 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WII_D1_RK3
713#endif
714 use pm_kind, only: RKG => RK3
715 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
716 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
717 integer(IK) , intent(in) :: weisum1, weisum2
718 real(RKG) :: disKolm
719 end function
720#endif
721
722#if RK2_ENABLED
723 PURE module function getDisKolmSSD_WII_D1_RK2(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
725 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WII_D1_RK2
726#endif
727 use pm_kind, only: RKG => RK2
728 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
729 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
730 integer(IK) , intent(in) :: weisum1, weisum2
731 real(RKG) :: disKolm
732 end function
733#endif
734
735#if RK1_ENABLED
736 PURE module function getDisKolmSSD_WII_D1_RK1(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
738 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WII_D1_RK1
739#endif
740 use pm_kind, only: RKG => RK1
741 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
742 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
743 integer(IK) , intent(in) :: weisum1, weisum2
744 real(RKG) :: disKolm
745 end function
746#endif
747
748 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
749
750 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
751 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
753
754 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
755
756#if RK5_ENABLED
757 PURE module function getDisKolmSSA_WII_D1_RK5(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
758#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
759 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WII_D1_RK5
760#endif
761 use pm_kind, only: RKG => RK5
762 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
763 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
764 integer(IK) , intent(in) :: weisum1, weisum2
765 type(ascending_type), intent(in) :: order
766 real(RKG) :: disKolm
767 end function
768#endif
769
770#if RK4_ENABLED
771 PURE module function getDisKolmSSA_WII_D1_RK4(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
773 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WII_D1_RK4
774#endif
775 use pm_kind, only: RKG => RK4
776 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
777 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
778 integer(IK) , intent(in) :: weisum1, weisum2
779 type(ascending_type), intent(in) :: order
780 real(RKG) :: disKolm
781 end function
782#endif
783
784#if RK3_ENABLED
785 PURE module function getDisKolmSSA_WII_D1_RK3(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
787 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WII_D1_RK3
788#endif
789 use pm_kind, only: RKG => RK3
790 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
791 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
792 integer(IK) , intent(in) :: weisum1, weisum2
793 type(ascending_type), intent(in) :: order
794 real(RKG) :: disKolm
795 end function
796#endif
797
798#if RK2_ENABLED
799 PURE module function getDisKolmSSA_WII_D1_RK2(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
801 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WII_D1_RK2
802#endif
803 use pm_kind, only: RKG => RK2
804 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
805 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
806 integer(IK) , intent(in) :: weisum1, weisum2
807 type(ascending_type), intent(in) :: order
808 real(RKG) :: disKolm
809 end function
810#endif
811
812#if RK1_ENABLED
813 PURE module function getDisKolmSSA_WII_D1_RK1(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
815 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WII_D1_RK1
816#endif
817 use pm_kind, only: RKG => RK1
818 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
819 integer(IK) , intent(in), contiguous :: weight1(:), weight2(:)
820 integer(IK) , intent(in) :: weisum1, weisum2
821 type(ascending_type), intent(in) :: order
822 real(RKG) :: disKolm
823 end function
824#endif
825
826 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827
828 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
829 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
830 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
831
832 end interface
833
834 ! SS*_WRR_D1
835
836 interface getDisKolm
837
838 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
839 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
840 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
841
842 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
843
844#if RK5_ENABLED
845 PURE module function getDisKolmSSD_WRR_D1_RK5(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
847 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRR_D1_RK5
848#endif
849 use pm_kind, only: RKG => RK5
850 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
851 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
852 real(RKG) , intent(in) :: weisum1, weisum2
853 real(RKG) :: disKolm
854 end function
855#endif
856
857#if RK4_ENABLED
858 PURE module function getDisKolmSSD_WRR_D1_RK4(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
860 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRR_D1_RK4
861#endif
862 use pm_kind, only: RKG => RK4
863 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
864 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
865 real(RKG) , intent(in) :: weisum1, weisum2
866 real(RKG) :: disKolm
867 end function
868#endif
869
870#if RK3_ENABLED
871 PURE module function getDisKolmSSD_WRR_D1_RK3(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
873 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRR_D1_RK3
874#endif
875 use pm_kind, only: RKG => RK3
876 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
877 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
878 real(RKG) , intent(in) :: weisum1, weisum2
879 real(RKG) :: disKolm
880 end function
881#endif
882
883#if RK2_ENABLED
884 PURE module function getDisKolmSSD_WRR_D1_RK2(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRR_D1_RK2
887#endif
888 use pm_kind, only: RKG => RK2
889 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
890 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
891 real(RKG) , intent(in) :: weisum1, weisum2
892 real(RKG) :: disKolm
893 end function
894#endif
895
896#if RK1_ENABLED
897 PURE module function getDisKolmSSD_WRR_D1_RK1(sample1, weight1, weisum1, sample2, weight2, weisum2) result(disKolm)
898#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
899 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSD_WRR_D1_RK1
900#endif
901 use pm_kind, only: RKG => RK1
902 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
903 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
904 real(RKG) , intent(in) :: weisum1, weisum2
905 real(RKG) :: disKolm
906 end function
907#endif
908
909 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
910
911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
913 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
914
915 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
916
917#if RK5_ENABLED
918 PURE module function getDisKolmSSA_WRR_D1_RK5(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
920 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRR_D1_RK5
921#endif
922 use pm_kind, only: RKG => RK5
923 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
924 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
925 real(RKG) , intent(in) :: weisum1, weisum2
926 type(ascending_type), intent(in) :: order
927 real(RKG) :: disKolm
928 end function
929#endif
930
931#if RK4_ENABLED
932 PURE module function getDisKolmSSA_WRR_D1_RK4(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
934 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRR_D1_RK4
935#endif
936 use pm_kind, only: RKG => RK4
937 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
938 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
939 real(RKG) , intent(in) :: weisum1, weisum2
940 type(ascending_type), intent(in) :: order
941 real(RKG) :: disKolm
942 end function
943#endif
944
945#if RK3_ENABLED
946 PURE module function getDisKolmSSA_WRR_D1_RK3(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
947#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
948 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRR_D1_RK3
949#endif
950 use pm_kind, only: RKG => RK3
951 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
952 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
953 real(RKG) , intent(in) :: weisum1, weisum2
954 type(ascending_type), intent(in) :: order
955 real(RKG) :: disKolm
956 end function
957#endif
958
959#if RK2_ENABLED
960 PURE module function getDisKolmSSA_WRR_D1_RK2(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
962 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRR_D1_RK2
963#endif
964 use pm_kind, only: RKG => RK2
965 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
966 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
967 real(RKG) , intent(in) :: weisum1, weisum2
968 type(ascending_type), intent(in) :: order
969 real(RKG) :: disKolm
970 end function
971#endif
972
973#if RK1_ENABLED
974 PURE module function getDisKolmSSA_WRR_D1_RK1(sample1, weight1, weisum1, sample2, weight2, weisum2, order) result(disKolm)
975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
976 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSSA_WRR_D1_RK1
977#endif
978 use pm_kind, only: RKG => RK1
979 real(RKG) , intent(in), contiguous :: sample1(:), sample2(:)
980 real(RKG) , intent(in), contiguous :: weight1(:), weight2(:)
981 real(RKG) , intent(in) :: weisum1, weisum2
982 type(ascending_type), intent(in) :: order
983 real(RKG) :: disKolm
984 end function
985#endif
986
987 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
988
989 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
992
993 end interface
994
995 ! SX*_WDD_D1
996
997 interface getDisKolm
998
999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1000 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1001 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002
1003 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1004
1005#if RK5_ENABLED
1006 PURE module function getDisKolmSXD_WDD_D1_RK5(sample1) result(disKolm)
1007#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1008 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WDD_D1_RK5
1009#endif
1010 use pm_kind, only: RKG => RK5
1011 real(RKG) , intent(in), contiguous :: sample1(:)
1012 real(RKG) :: disKolm
1013 end function
1014#endif
1015
1016#if RK4_ENABLED
1017 PURE module function getDisKolmSXD_WDD_D1_RK4(sample1) result(disKolm)
1018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1019 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WDD_D1_RK4
1020#endif
1021 use pm_kind, only: RKG => RK4
1022 real(RKG) , intent(in), contiguous :: sample1(:)
1023 real(RKG) :: disKolm
1024 end function
1025#endif
1026
1027#if RK3_ENABLED
1028 PURE module function getDisKolmSXD_WDD_D1_RK3(sample1) result(disKolm)
1029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1030 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WDD_D1_RK3
1031#endif
1032 use pm_kind, only: RKG => RK3
1033 real(RKG) , intent(in), contiguous :: sample1(:)
1034 real(RKG) :: disKolm
1035 end function
1036#endif
1037
1038#if RK2_ENABLED
1039 PURE module function getDisKolmSXD_WDD_D1_RK2(sample1) result(disKolm)
1040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1041 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WDD_D1_RK2
1042#endif
1043 use pm_kind, only: RKG => RK2
1044 real(RKG) , intent(in), contiguous :: sample1(:)
1045 real(RKG) :: disKolm
1046 end function
1047#endif
1048
1049#if RK1_ENABLED
1050 PURE module function getDisKolmSXD_WDD_D1_RK1(sample1) result(disKolm)
1051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1052 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WDD_D1_RK1
1053#endif
1054 use pm_kind, only: RKG => RK1
1055 real(RKG) , intent(in), contiguous :: sample1(:)
1056 real(RKG) :: disKolm
1057 end function
1058#endif
1059
1060 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1061
1062 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1063 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1064 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1065
1066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1067
1068#if RK5_ENABLED
1069 PURE module function getDisKolmSXA_WDD_D1_RK5(sample1, order) result(disKolm)
1070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1071 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WDD_D1_RK5
1072#endif
1073 use pm_kind, only: RKG => RK5
1074 type(ascending_type), intent(in) :: order
1075 real(RKG) , intent(in), contiguous :: sample1(:)
1076 real(RKG) :: disKolm
1077 end function
1078#endif
1079
1080#if RK4_ENABLED
1081 PURE module function getDisKolmSXA_WDD_D1_RK4(sample1, order) result(disKolm)
1082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1083 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WDD_D1_RK4
1084#endif
1085 use pm_kind, only: RKG => RK4
1086 type(ascending_type), intent(in) :: order
1087 real(RKG) , intent(in), contiguous :: sample1(:)
1088 real(RKG) :: disKolm
1089 end function
1090#endif
1091
1092#if RK3_ENABLED
1093 PURE module function getDisKolmSXA_WDD_D1_RK3(sample1, order) result(disKolm)
1094#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1095 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WDD_D1_RK3
1096#endif
1097 use pm_kind, only: RKG => RK3
1098 type(ascending_type), intent(in) :: order
1099 real(RKG) , intent(in), contiguous :: sample1(:)
1100 real(RKG) :: disKolm
1101 end function
1102#endif
1103
1104#if RK2_ENABLED
1105 PURE module function getDisKolmSXA_WDD_D1_RK2(sample1, order) result(disKolm)
1106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1107 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WDD_D1_RK2
1108#endif
1109 use pm_kind, only: RKG => RK2
1110 type(ascending_type), intent(in) :: order
1111 real(RKG) , intent(in), contiguous :: sample1(:)
1112 real(RKG) :: disKolm
1113 end function
1114#endif
1115
1116#if RK1_ENABLED
1117 PURE module function getDisKolmSXA_WDD_D1_RK1(sample1, order) result(disKolm)
1118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1119 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WDD_D1_RK1
1120#endif
1121 use pm_kind, only: RKG => RK1
1122 type(ascending_type), intent(in) :: order
1123 real(RKG) , intent(in), contiguous :: sample1(:)
1124 real(RKG) :: disKolm
1125 end function
1126#endif
1127
1128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1129
1130 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1131 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1132 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1133
1134 end interface
1135
1136 ! SX*_WID_D1
1137
1138 interface getDisKolm
1139
1140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1143
1144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1145
1146#if RK5_ENABLED
1147 PURE module function getDisKolmSXD_WID_D1_RK5(sample1, weight1, weisum1) result(disKolm)
1148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1149 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WID_D1_RK5
1150#endif
1151 use pm_kind, only: RKG => RK5
1152 real(RKG) , intent(in), contiguous :: sample1(:)
1153 integer(IK) , intent(in), contiguous :: weight1(:)
1154 integer(IK) , intent(in) :: weisum1
1155 real(RKG) :: disKolm
1156 end function
1157#endif
1158
1159#if RK4_ENABLED
1160 PURE module function getDisKolmSXD_WID_D1_RK4(sample1, weight1, weisum1) result(disKolm)
1161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1162 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WID_D1_RK4
1163#endif
1164 use pm_kind, only: RKG => RK4
1165 real(RKG) , intent(in), contiguous :: sample1(:)
1166 integer(IK) , intent(in), contiguous :: weight1(:)
1167 integer(IK) , intent(in) :: weisum1
1168 real(RKG) :: disKolm
1169 end function
1170#endif
1171
1172#if RK3_ENABLED
1173 PURE module function getDisKolmSXD_WID_D1_RK3(sample1, weight1, weisum1) result(disKolm)
1174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1175 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WID_D1_RK3
1176#endif
1177 use pm_kind, only: RKG => RK3
1178 real(RKG) , intent(in), contiguous :: sample1(:)
1179 integer(IK) , intent(in), contiguous :: weight1(:)
1180 integer(IK) , intent(in) :: weisum1
1181 real(RKG) :: disKolm
1182 end function
1183#endif
1184
1185#if RK2_ENABLED
1186 PURE module function getDisKolmSXD_WID_D1_RK2(sample1, weight1, weisum1) result(disKolm)
1187#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1188 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WID_D1_RK2
1189#endif
1190 use pm_kind, only: RKG => RK2
1191 real(RKG) , intent(in), contiguous :: sample1(:)
1192 integer(IK) , intent(in), contiguous :: weight1(:)
1193 integer(IK) , intent(in) :: weisum1
1194 real(RKG) :: disKolm
1195 end function
1196#endif
1197
1198#if RK1_ENABLED
1199 PURE module function getDisKolmSXD_WID_D1_RK1(sample1, weight1, weisum1) result(disKolm)
1200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1201 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WID_D1_RK1
1202#endif
1203 use pm_kind, only: RKG => RK1
1204 real(RKG) , intent(in), contiguous :: sample1(:)
1205 integer(IK) , intent(in), contiguous :: weight1(:)
1206 integer(IK) , intent(in) :: weisum1
1207 real(RKG) :: disKolm
1208 end function
1209#endif
1210
1211 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1212
1213 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1214 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1215 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1216
1217 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1218
1219#if RK5_ENABLED
1220 PURE module function getDisKolmSXA_WID_D1_RK5(sample1, weight1, weisum1, order) result(disKolm)
1221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1222 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WID_D1_RK5
1223#endif
1224 use pm_kind, only: RKG => RK5
1225 type(ascending_type), intent(in) :: order
1226 real(RKG) , intent(in), contiguous :: sample1(:)
1227 integer(IK) , intent(in), contiguous :: weight1(:)
1228 integer(IK) , intent(in) :: weisum1
1229 real(RKG) :: disKolm
1230 end function
1231#endif
1232
1233#if RK4_ENABLED
1234 PURE module function getDisKolmSXA_WID_D1_RK4(sample1, weight1, weisum1, order) result(disKolm)
1235#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1236 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WID_D1_RK4
1237#endif
1238 use pm_kind, only: RKG => RK4
1239 type(ascending_type), intent(in) :: order
1240 real(RKG) , intent(in), contiguous :: sample1(:)
1241 integer(IK) , intent(in), contiguous :: weight1(:)
1242 integer(IK) , intent(in) :: weisum1
1243 real(RKG) :: disKolm
1244 end function
1245#endif
1246
1247#if RK3_ENABLED
1248 PURE module function getDisKolmSXA_WID_D1_RK3(sample1, weight1, weisum1, order) result(disKolm)
1249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1250 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WID_D1_RK3
1251#endif
1252 use pm_kind, only: RKG => RK3
1253 type(ascending_type), intent(in) :: order
1254 real(RKG) , intent(in), contiguous :: sample1(:)
1255 integer(IK) , intent(in), contiguous :: weight1(:)
1256 integer(IK) , intent(in) :: weisum1
1257 real(RKG) :: disKolm
1258 end function
1259#endif
1260
1261#if RK2_ENABLED
1262 PURE module function getDisKolmSXA_WID_D1_RK2(sample1, weight1, weisum1, order) result(disKolm)
1263#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1264 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WID_D1_RK2
1265#endif
1266 use pm_kind, only: RKG => RK2
1267 type(ascending_type), intent(in) :: order
1268 real(RKG) , intent(in), contiguous :: sample1(:)
1269 integer(IK) , intent(in), contiguous :: weight1(:)
1270 integer(IK) , intent(in) :: weisum1
1271 real(RKG) :: disKolm
1272 end function
1273#endif
1274
1275#if RK1_ENABLED
1276 PURE module function getDisKolmSXA_WID_D1_RK1(sample1, weight1, weisum1, order) result(disKolm)
1277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1278 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WID_D1_RK1
1279#endif
1280 use pm_kind, only: RKG => RK1
1281 type(ascending_type), intent(in) :: order
1282 real(RKG) , intent(in), contiguous :: sample1(:)
1283 integer(IK) , intent(in), contiguous :: weight1(:)
1284 integer(IK) , intent(in) :: weisum1
1285 real(RKG) :: disKolm
1286 end function
1287#endif
1288
1289 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1290
1291 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1293 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1294
1295 end interface
1296
1297 ! SX*_WRD_D1
1298
1299 interface getDisKolm
1300
1301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1302 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1303 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1304
1305 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1306
1307#if RK5_ENABLED
1308 PURE module function getDisKolmSXD_WRD_D1_RK5(sample1, weight1, weisum1) result(disKolm)
1309#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1310 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WRD_D1_RK5
1311#endif
1312 use pm_kind, only: RKG => RK5
1313 real(RKG) , intent(in), contiguous :: sample1(:)
1314 real(RKG) , intent(in), contiguous :: weight1(:)
1315 real(RKG) , intent(in) :: weisum1
1316 real(RKG) :: disKolm
1317 end function
1318#endif
1319
1320#if RK4_ENABLED
1321 PURE module function getDisKolmSXD_WRD_D1_RK4(sample1, weight1, weisum1) result(disKolm)
1322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1323 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WRD_D1_RK4
1324#endif
1325 use pm_kind, only: RKG => RK4
1326 real(RKG) , intent(in), contiguous :: sample1(:)
1327 real(RKG) , intent(in), contiguous :: weight1(:)
1328 real(RKG) , intent(in) :: weisum1
1329 real(RKG) :: disKolm
1330 end function
1331#endif
1332
1333#if RK3_ENABLED
1334 PURE module function getDisKolmSXD_WRD_D1_RK3(sample1, weight1, weisum1) result(disKolm)
1335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1336 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WRD_D1_RK3
1337#endif
1338 use pm_kind, only: RKG => RK3
1339 real(RKG) , intent(in), contiguous :: sample1(:)
1340 real(RKG) , intent(in), contiguous :: weight1(:)
1341 real(RKG) , intent(in) :: weisum1
1342 real(RKG) :: disKolm
1343 end function
1344#endif
1345
1346#if RK2_ENABLED
1347 PURE module function getDisKolmSXD_WRD_D1_RK2(sample1, weight1, weisum1) result(disKolm)
1348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1349 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WRD_D1_RK2
1350#endif
1351 use pm_kind, only: RKG => RK2
1352 real(RKG) , intent(in), contiguous :: sample1(:)
1353 real(RKG) , intent(in), contiguous :: weight1(:)
1354 real(RKG) , intent(in) :: weisum1
1355 real(RKG) :: disKolm
1356 end function
1357#endif
1358
1359#if RK1_ENABLED
1360 PURE module function getDisKolmSXD_WRD_D1_RK1(sample1, weight1, weisum1) result(disKolm)
1361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1362 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXD_WRD_D1_RK1
1363#endif
1364 use pm_kind, only: RKG => RK1
1365 real(RKG) , intent(in), contiguous :: sample1(:)
1366 real(RKG) , intent(in), contiguous :: weight1(:)
1367 real(RKG) , intent(in) :: weisum1
1368 real(RKG) :: disKolm
1369 end function
1370#endif
1371
1372 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1373
1374 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1375 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1377
1378 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1379
1380#if RK5_ENABLED
1381 PURE module function getDisKolmSXA_WRD_D1_RK5(sample1, weight1, weisum1, order) result(disKolm)
1382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1383 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WRD_D1_RK5
1384#endif
1385 use pm_kind, only: RKG => RK5
1386 type(ascending_type), intent(in) :: order
1387 real(RKG) , intent(in), contiguous :: sample1(:)
1388 real(RKG) , intent(in), contiguous :: weight1(:)
1389 real(RKG) , intent(in) :: weisum1
1390 real(RKG) :: disKolm
1391 end function
1392#endif
1393
1394#if RK4_ENABLED
1395 PURE module function getDisKolmSXA_WRD_D1_RK4(sample1, weight1, weisum1, order) result(disKolm)
1396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1397 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WRD_D1_RK4
1398#endif
1399 use pm_kind, only: RKG => RK4
1400 type(ascending_type), intent(in) :: order
1401 real(RKG) , intent(in), contiguous :: sample1(:)
1402 real(RKG) , intent(in), contiguous :: weight1(:)
1403 real(RKG) , intent(in) :: weisum1
1404 real(RKG) :: disKolm
1405 end function
1406#endif
1407
1408#if RK3_ENABLED
1409 PURE module function getDisKolmSXA_WRD_D1_RK3(sample1, weight1, weisum1, order) result(disKolm)
1410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1411 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WRD_D1_RK3
1412#endif
1413 use pm_kind, only: RKG => RK3
1414 type(ascending_type), intent(in) :: order
1415 real(RKG) , intent(in), contiguous :: sample1(:)
1416 real(RKG) , intent(in), contiguous :: weight1(:)
1417 real(RKG) , intent(in) :: weisum1
1418 real(RKG) :: disKolm
1419 end function
1420#endif
1421
1422#if RK2_ENABLED
1423 PURE module function getDisKolmSXA_WRD_D1_RK2(sample1, weight1, weisum1, order) result(disKolm)
1424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1425 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WRD_D1_RK2
1426#endif
1427 use pm_kind, only: RKG => RK2
1428 type(ascending_type), intent(in) :: order
1429 real(RKG) , intent(in), contiguous :: sample1(:)
1430 real(RKG) , intent(in), contiguous :: weight1(:)
1431 real(RKG) , intent(in) :: weisum1
1432 real(RKG) :: disKolm
1433 end function
1434#endif
1435
1436#if RK1_ENABLED
1437 PURE module function getDisKolmSXA_WRD_D1_RK1(sample1, weight1, weisum1, order) result(disKolm)
1438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1439 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSXA_WRD_D1_RK1
1440#endif
1441 use pm_kind, only: RKG => RK1
1442 type(ascending_type), intent(in) :: order
1443 real(RKG) , intent(in), contiguous :: sample1(:)
1444 real(RKG) , intent(in), contiguous :: weight1(:)
1445 real(RKG) , intent(in) :: weisum1
1446 real(RKG) :: disKolm
1447 end function
1448#endif
1449
1450 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1451
1452 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1453 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1454 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1455
1456 end interface
1457
1458 ! SC*_WDD_D1
1459
1460 interface getDisKolm
1461
1462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1463 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465
1466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1467
1468#if RK5_ENABLED
1469 module function getDisKolmSCD_WDD_D1_RK5(sample1, getCDF) result(disKolm)
1470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1471 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WDD_D1_RK5
1472#endif
1473 use pm_kind, only: RKG => RK5
1474 real(RKG) , intent(in), contiguous :: sample1(:)
1475 real(RKG) :: disKolm
1476 procedure(real(RKG)) :: getCDF
1477 end function
1478#endif
1479
1480#if RK4_ENABLED
1481 module function getDisKolmSCD_WDD_D1_RK4(sample1, getCDF) result(disKolm)
1482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1483 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WDD_D1_RK4
1484#endif
1485 use pm_kind, only: RKG => RK4
1486 real(RKG) , intent(in), contiguous :: sample1(:)
1487 real(RKG) :: disKolm
1488 procedure(real(RKG)) :: getCDF
1489 end function
1490#endif
1491
1492#if RK3_ENABLED
1493 module function getDisKolmSCD_WDD_D1_RK3(sample1, getCDF) result(disKolm)
1494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1495 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WDD_D1_RK3
1496#endif
1497 use pm_kind, only: RKG => RK3
1498 real(RKG) , intent(in), contiguous :: sample1(:)
1499 real(RKG) :: disKolm
1500 procedure(real(RKG)) :: getCDF
1501 end function
1502#endif
1503
1504#if RK2_ENABLED
1505 module function getDisKolmSCD_WDD_D1_RK2(sample1, getCDF) result(disKolm)
1506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1507 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WDD_D1_RK2
1508#endif
1509 use pm_kind, only: RKG => RK2
1510 real(RKG) , intent(in), contiguous :: sample1(:)
1511 real(RKG) :: disKolm
1512 procedure(real(RKG)) :: getCDF
1513 end function
1514#endif
1515
1516#if RK1_ENABLED
1517 module function getDisKolmSCD_WDD_D1_RK1(sample1, getCDF) result(disKolm)
1518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1519 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WDD_D1_RK1
1520#endif
1521 use pm_kind, only: RKG => RK1
1522 real(RKG) , intent(in), contiguous :: sample1(:)
1523 real(RKG) :: disKolm
1524 procedure(real(RKG)) :: getCDF
1525 end function
1526#endif
1527
1528 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1529
1530 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1531 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1532 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1533
1534 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1535
1536#if RK5_ENABLED
1537 module function getDisKolmSCA_WDD_D1_RK5(sample1, getCDF, order) result(disKolm)
1538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1539 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WDD_D1_RK5
1540#endif
1541 use pm_kind, only: RKG => RK5
1542 type(ascending_type), intent(in) :: order
1543 real(RKG) , intent(in), contiguous :: sample1(:)
1544 real(RKG) :: disKolm
1545 procedure(real(RKG)) :: getCDF
1546 end function
1547#endif
1548
1549#if RK4_ENABLED
1550 module function getDisKolmSCA_WDD_D1_RK4(sample1, getCDF, order) result(disKolm)
1551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1552 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WDD_D1_RK4
1553#endif
1554 use pm_kind, only: RKG => RK4
1555 type(ascending_type), intent(in) :: order
1556 real(RKG) , intent(in), contiguous :: sample1(:)
1557 real(RKG) :: disKolm
1558 procedure(real(RKG)) :: getCDF
1559 end function
1560#endif
1561
1562#if RK3_ENABLED
1563 module function getDisKolmSCA_WDD_D1_RK3(sample1, getCDF, order) result(disKolm)
1564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1565 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WDD_D1_RK3
1566#endif
1567 use pm_kind, only: RKG => RK3
1568 type(ascending_type), intent(in) :: order
1569 real(RKG) , intent(in), contiguous :: sample1(:)
1570 real(RKG) :: disKolm
1571 procedure(real(RKG)) :: getCDF
1572 end function
1573#endif
1574
1575#if RK2_ENABLED
1576 module function getDisKolmSCA_WDD_D1_RK2(sample1, getCDF, order) result(disKolm)
1577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1578 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WDD_D1_RK2
1579#endif
1580 use pm_kind, only: RKG => RK2
1581 type(ascending_type), intent(in) :: order
1582 real(RKG) , intent(in), contiguous :: sample1(:)
1583 real(RKG) :: disKolm
1584 procedure(real(RKG)) :: getCDF
1585 end function
1586#endif
1587
1588#if RK1_ENABLED
1589 module function getDisKolmSCA_WDD_D1_RK1(sample1, getCDF, order) result(disKolm)
1590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1591 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WDD_D1_RK1
1592#endif
1593 use pm_kind, only: RKG => RK1
1594 type(ascending_type), intent(in) :: order
1595 real(RKG) , intent(in), contiguous :: sample1(:)
1596 real(RKG) :: disKolm
1597 procedure(real(RKG)) :: getCDF
1598 end function
1599#endif
1600
1601 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1602
1603 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1604 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1605 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1606
1607 end interface
1608
1609 ! SC*_WID_D1
1610
1611 interface getDisKolm
1612
1613 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1614 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1615 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1616
1617 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1618
1619#if RK5_ENABLED
1620 module function getDisKolmSCD_WID_D1_RK5(sample1, weight1, weisum1, getCDF) result(disKolm)
1621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1622 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WID_D1_RK5
1623#endif
1624 use pm_kind, only: RKG => RK5
1625 real(RKG) , intent(in), contiguous :: sample1(:)
1626 integer(IK) , intent(in), contiguous :: weight1(:)
1627 integer(IK) , intent(in) :: weisum1
1628 real(RKG) :: disKolm
1629 procedure(real(RKG)) :: getCDF
1630 end function
1631#endif
1632
1633#if RK4_ENABLED
1634 module function getDisKolmSCD_WID_D1_RK4(sample1, weight1, weisum1, getCDF) result(disKolm)
1635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1636 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WID_D1_RK4
1637#endif
1638 use pm_kind, only: RKG => RK4
1639 real(RKG) , intent(in), contiguous :: sample1(:)
1640 integer(IK) , intent(in), contiguous :: weight1(:)
1641 integer(IK) , intent(in) :: weisum1
1642 real(RKG) :: disKolm
1643 procedure(real(RKG)) :: getCDF
1644 end function
1645#endif
1646
1647#if RK3_ENABLED
1648 module function getDisKolmSCD_WID_D1_RK3(sample1, weight1, weisum1, getCDF) result(disKolm)
1649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1650 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WID_D1_RK3
1651#endif
1652 use pm_kind, only: RKG => RK3
1653 real(RKG) , intent(in), contiguous :: sample1(:)
1654 integer(IK) , intent(in), contiguous :: weight1(:)
1655 integer(IK) , intent(in) :: weisum1
1656 real(RKG) :: disKolm
1657 procedure(real(RKG)) :: getCDF
1658 end function
1659#endif
1660
1661#if RK2_ENABLED
1662 module function getDisKolmSCD_WID_D1_RK2(sample1, weight1, weisum1, getCDF) result(disKolm)
1663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1664 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WID_D1_RK2
1665#endif
1666 use pm_kind, only: RKG => RK2
1667 real(RKG) , intent(in), contiguous :: sample1(:)
1668 integer(IK) , intent(in), contiguous :: weight1(:)
1669 integer(IK) , intent(in) :: weisum1
1670 real(RKG) :: disKolm
1671 procedure(real(RKG)) :: getCDF
1672 end function
1673#endif
1674
1675#if RK1_ENABLED
1676 module function getDisKolmSCD_WID_D1_RK1(sample1, weight1, weisum1, getCDF) result(disKolm)
1677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1678 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WID_D1_RK1
1679#endif
1680 use pm_kind, only: RKG => RK1
1681 real(RKG) , intent(in), contiguous :: sample1(:)
1682 integer(IK) , intent(in), contiguous :: weight1(:)
1683 integer(IK) , intent(in) :: weisum1
1684 real(RKG) :: disKolm
1685 procedure(real(RKG)) :: getCDF
1686 end function
1687#endif
1688
1689 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1690
1691 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1693 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1694
1695 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1696
1697#if RK5_ENABLED
1698 module function getDisKolmSCA_WID_D1_RK5(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1700 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WID_D1_RK5
1701#endif
1702 use pm_kind, only: RKG => RK5
1703 type(ascending_type), intent(in) :: order
1704 real(RKG) , intent(in), contiguous :: sample1(:)
1705 integer(IK) , intent(in), contiguous :: weight1(:)
1706 integer(IK) , intent(in) :: weisum1
1707 real(RKG) :: disKolm
1708 procedure(real(RKG)) :: getCDF
1709 end function
1710#endif
1711
1712#if RK4_ENABLED
1713 module function getDisKolmSCA_WID_D1_RK4(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1715 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WID_D1_RK4
1716#endif
1717 use pm_kind, only: RKG => RK4
1718 type(ascending_type), intent(in) :: order
1719 real(RKG) , intent(in), contiguous :: sample1(:)
1720 integer(IK) , intent(in), contiguous :: weight1(:)
1721 integer(IK) , intent(in) :: weisum1
1722 real(RKG) :: disKolm
1723 procedure(real(RKG)) :: getCDF
1724 end function
1725#endif
1726
1727#if RK3_ENABLED
1728 module function getDisKolmSCA_WID_D1_RK3(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1729#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1730 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WID_D1_RK3
1731#endif
1732 use pm_kind, only: RKG => RK3
1733 type(ascending_type), intent(in) :: order
1734 real(RKG) , intent(in), contiguous :: sample1(:)
1735 integer(IK) , intent(in), contiguous :: weight1(:)
1736 integer(IK) , intent(in) :: weisum1
1737 real(RKG) :: disKolm
1738 procedure(real(RKG)) :: getCDF
1739 end function
1740#endif
1741
1742#if RK2_ENABLED
1743 module function getDisKolmSCA_WID_D1_RK2(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1745 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WID_D1_RK2
1746#endif
1747 use pm_kind, only: RKG => RK2
1748 type(ascending_type), intent(in) :: order
1749 real(RKG) , intent(in), contiguous :: sample1(:)
1750 integer(IK) , intent(in), contiguous :: weight1(:)
1751 integer(IK) , intent(in) :: weisum1
1752 real(RKG) :: disKolm
1753 procedure(real(RKG)) :: getCDF
1754 end function
1755#endif
1756
1757#if RK1_ENABLED
1758 module function getDisKolmSCA_WID_D1_RK1(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1760 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WID_D1_RK1
1761#endif
1762 use pm_kind, only: RKG => RK1
1763 type(ascending_type), intent(in) :: order
1764 real(RKG) , intent(in), contiguous :: sample1(:)
1765 integer(IK) , intent(in), contiguous :: weight1(:)
1766 integer(IK) , intent(in) :: weisum1
1767 real(RKG) :: disKolm
1768 procedure(real(RKG)) :: getCDF
1769 end function
1770#endif
1771
1772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1773
1774 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1775 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1776 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1777
1778 end interface
1779
1780 ! SC*_WRD_D1
1781
1782 interface getDisKolm
1783
1784 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1785 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1786 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1787
1788 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1789
1790#if RK5_ENABLED
1791 module function getDisKolmSCD_WRD_D1_RK5(sample1, weight1, weisum1, getCDF) result(disKolm)
1792#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1793 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WRD_D1_RK5
1794#endif
1795 use pm_kind, only: RKG => RK5
1796 real(RKG) , intent(in), contiguous :: sample1(:)
1797 real(RKG) , intent(in), contiguous :: weight1(:)
1798 real(RKG) , intent(in) :: weisum1
1799 real(RKG) :: disKolm
1800 procedure(real(RKG)) :: getCDF
1801 end function
1802#endif
1803
1804#if RK4_ENABLED
1805 module function getDisKolmSCD_WRD_D1_RK4(sample1, weight1, weisum1, getCDF) result(disKolm)
1806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1807 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WRD_D1_RK4
1808#endif
1809 use pm_kind, only: RKG => RK4
1810 real(RKG) , intent(in), contiguous :: sample1(:)
1811 real(RKG) , intent(in), contiguous :: weight1(:)
1812 real(RKG) , intent(in) :: weisum1
1813 real(RKG) :: disKolm
1814 procedure(real(RKG)) :: getCDF
1815 end function
1816#endif
1817
1818#if RK3_ENABLED
1819 module function getDisKolmSCD_WRD_D1_RK3(sample1, weight1, weisum1, getCDF) result(disKolm)
1820#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1821 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WRD_D1_RK3
1822#endif
1823 use pm_kind, only: RKG => RK3
1824 real(RKG) , intent(in), contiguous :: sample1(:)
1825 real(RKG) , intent(in), contiguous :: weight1(:)
1826 real(RKG) , intent(in) :: weisum1
1827 real(RKG) :: disKolm
1828 procedure(real(RKG)) :: getCDF
1829 end function
1830#endif
1831
1832#if RK2_ENABLED
1833 module function getDisKolmSCD_WRD_D1_RK2(sample1, weight1, weisum1, getCDF) result(disKolm)
1834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1835 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WRD_D1_RK2
1836#endif
1837 use pm_kind, only: RKG => RK2
1838 real(RKG) , intent(in), contiguous :: sample1(:)
1839 real(RKG) , intent(in), contiguous :: weight1(:)
1840 real(RKG) , intent(in) :: weisum1
1841 real(RKG) :: disKolm
1842 procedure(real(RKG)) :: getCDF
1843 end function
1844#endif
1845
1846#if RK1_ENABLED
1847 module function getDisKolmSCD_WRD_D1_RK1(sample1, weight1, weisum1, getCDF) result(disKolm)
1848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1849 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCD_WRD_D1_RK1
1850#endif
1851 use pm_kind, only: RKG => RK1
1852 real(RKG) , intent(in), contiguous :: sample1(:)
1853 real(RKG) , intent(in), contiguous :: weight1(:)
1854 real(RKG) , intent(in) :: weisum1
1855 real(RKG) :: disKolm
1856 procedure(real(RKG)) :: getCDF
1857 end function
1858#endif
1859
1860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1861
1862 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1863 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1864 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1865
1866 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1867
1868#if RK5_ENABLED
1869 module function getDisKolmSCA_WRD_D1_RK5(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1870#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1871 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WRD_D1_RK5
1872#endif
1873 use pm_kind, only: RKG => RK5
1874 type(ascending_type), intent(in) :: order
1875 real(RKG) , intent(in), contiguous :: sample1(:)
1876 real(RKG) , intent(in), contiguous :: weight1(:)
1877 real(RKG) , intent(in) :: weisum1
1878 real(RKG) :: disKolm
1879 procedure(real(RKG)) :: getCDF
1880 end function
1881#endif
1882
1883#if RK4_ENABLED
1884 module function getDisKolmSCA_WRD_D1_RK4(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1886 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WRD_D1_RK4
1887#endif
1888 use pm_kind, only: RKG => RK4
1889 type(ascending_type), intent(in) :: order
1890 real(RKG) , intent(in), contiguous :: sample1(:)
1891 real(RKG) , intent(in), contiguous :: weight1(:)
1892 real(RKG) , intent(in) :: weisum1
1893 real(RKG) :: disKolm
1894 procedure(real(RKG)) :: getCDF
1895 end function
1896#endif
1897
1898#if RK3_ENABLED
1899 module function getDisKolmSCA_WRD_D1_RK3(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1900#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1901 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WRD_D1_RK3
1902#endif
1903 use pm_kind, only: RKG => RK3
1904 type(ascending_type), intent(in) :: order
1905 real(RKG) , intent(in), contiguous :: sample1(:)
1906 real(RKG) , intent(in), contiguous :: weight1(:)
1907 real(RKG) , intent(in) :: weisum1
1908 real(RKG) :: disKolm
1909 procedure(real(RKG)) :: getCDF
1910 end function
1911#endif
1912
1913#if RK2_ENABLED
1914 module function getDisKolmSCA_WRD_D1_RK2(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1915#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1916 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WRD_D1_RK2
1917#endif
1918 use pm_kind, only: RKG => RK2
1919 type(ascending_type), intent(in) :: order
1920 real(RKG) , intent(in), contiguous :: sample1(:)
1921 real(RKG) , intent(in), contiguous :: weight1(:)
1922 real(RKG) , intent(in) :: weisum1
1923 real(RKG) :: disKolm
1924 procedure(real(RKG)) :: getCDF
1925 end function
1926#endif
1927
1928#if RK1_ENABLED
1929 module function getDisKolmSCA_WRD_D1_RK1(sample1, weight1, weisum1, getCDF, order) result(disKolm)
1930#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1931 !DEC$ ATTRIBUTES DLLEXPORT :: getDisKolmSCA_WRD_D1_RK1
1932#endif
1933 use pm_kind, only: RKG => RK1
1934 type(ascending_type), intent(in) :: order
1935 real(RKG) , intent(in), contiguous :: sample1(:)
1936 real(RKG) , intent(in), contiguous :: weight1(:)
1937 real(RKG) , intent(in) :: weisum1
1938 real(RKG) :: disKolm
1939 procedure(real(RKG)) :: getCDF
1940 end function
1941#endif
1942
1943 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1944
1945 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1946 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1947 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1948
1949 end interface
1950
1951!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1952
2115
2116 ! SS*_WDD_D1
2117
2118 interface setDisKolm
2119
2120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2122 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2123
2124 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2125
2126#if RK5_ENABLED
2127 PURE module subroutine setDisKolmSSD_WDD_D1_RK5(disKolm, sample1, sample2)
2128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2129 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WDD_D1_RK5
2130#endif
2131 use pm_kind, only: RKG => RK5
2132 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2133 real(RKG) , intent(out) :: disKolm
2134 end subroutine
2135#endif
2136
2137#if RK4_ENABLED
2138 PURE module subroutine setDisKolmSSD_WDD_D1_RK4(disKolm, sample1, sample2)
2139#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2140 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WDD_D1_RK4
2141#endif
2142 use pm_kind, only: RKG => RK4
2143 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2144 real(RKG) , intent(out) :: disKolm
2145 end subroutine
2146#endif
2147
2148#if RK3_ENABLED
2149 PURE module subroutine setDisKolmSSD_WDD_D1_RK3(disKolm, sample1, sample2)
2150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2151 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WDD_D1_RK3
2152#endif
2153 use pm_kind, only: RKG => RK3
2154 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2155 real(RKG) , intent(out) :: disKolm
2156 end subroutine
2157#endif
2158
2159#if RK2_ENABLED
2160 PURE module subroutine setDisKolmSSD_WDD_D1_RK2(disKolm, sample1, sample2)
2161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2162 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WDD_D1_RK2
2163#endif
2164 use pm_kind, only: RKG => RK2
2165 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2166 real(RKG) , intent(out) :: disKolm
2167 end subroutine
2168#endif
2169
2170#if RK1_ENABLED
2171 PURE module subroutine setDisKolmSSD_WDD_D1_RK1(disKolm, sample1, sample2)
2172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2173 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WDD_D1_RK1
2174#endif
2175 use pm_kind, only: RKG => RK1
2176 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2177 real(RKG) , intent(out) :: disKolm
2178 end subroutine
2179#endif
2180
2181 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2182
2183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2184 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2185 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2186
2187 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2188
2189#if RK5_ENABLED
2190 PURE module subroutine setDisKolmSSA_WDD_D1_RK5(disKolm, sample1, sample2, order)
2191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2192 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WDD_D1_RK5
2193#endif
2194 use pm_kind, only: RKG => RK5
2195 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2196 real(RKG) , intent(out) :: disKolm
2197 type(ascending_type), intent(in) :: order
2198 end subroutine
2199#endif
2200
2201#if RK4_ENABLED
2202 PURE module subroutine setDisKolmSSA_WDD_D1_RK4(disKolm, sample1, sample2, order)
2203#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2204 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WDD_D1_RK4
2205#endif
2206 use pm_kind, only: RKG => RK4
2207 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2208 real(RKG) , intent(out) :: disKolm
2209 type(ascending_type), intent(in) :: order
2210 end subroutine
2211#endif
2212
2213#if RK3_ENABLED
2214 PURE module subroutine setDisKolmSSA_WDD_D1_RK3(disKolm, sample1, sample2, order)
2215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2216 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WDD_D1_RK3
2217#endif
2218 use pm_kind, only: RKG => RK3
2219 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2220 real(RKG) , intent(out) :: disKolm
2221 type(ascending_type), intent(in) :: order
2222 end subroutine
2223#endif
2224
2225#if RK2_ENABLED
2226 PURE module subroutine setDisKolmSSA_WDD_D1_RK2(disKolm, sample1, sample2, order)
2227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2228 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WDD_D1_RK2
2229#endif
2230 use pm_kind, only: RKG => RK2
2231 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2232 real(RKG) , intent(out) :: disKolm
2233 type(ascending_type), intent(in) :: order
2234 end subroutine
2235#endif
2236
2237#if RK1_ENABLED
2238 PURE module subroutine setDisKolmSSA_WDD_D1_RK1(disKolm, sample1, sample2, order)
2239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2240 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WDD_D1_RK1
2241#endif
2242 use pm_kind, only: RKG => RK1
2243 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2244 real(RKG) , intent(out) :: disKolm
2245 type(ascending_type), intent(in) :: order
2246 end subroutine
2247#endif
2248
2249 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2250
2251 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2252 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2253 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2254
2255 end interface
2256
2257 ! SS*_WID_D1
2258
2259 interface setDisKolm
2260
2261 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2262 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2264
2265 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2266
2267#if RK5_ENABLED
2268 PURE module subroutine setDisKolmSSD_WID_D1_RK5(disKolm, sample1, weight1, weisum1, sample2)
2269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2270 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WID_D1_RK5
2271#endif
2272 use pm_kind, only: RKG => RK5
2273 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2274 integer(IK) , intent(inout) , contiguous :: weight1(:)
2275 integer(IK) , intent(in) :: weisum1
2276 real(RKG) , intent(out) :: disKolm
2277 end subroutine
2278#endif
2279
2280#if RK4_ENABLED
2281 PURE module subroutine setDisKolmSSD_WID_D1_RK4(disKolm, sample1, weight1, weisum1, sample2)
2282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2283 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WID_D1_RK4
2284#endif
2285 use pm_kind, only: RKG => RK4
2286 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2287 integer(IK) , intent(inout) , contiguous :: weight1(:)
2288 integer(IK) , intent(in) :: weisum1
2289 real(RKG) , intent(out) :: disKolm
2290 end subroutine
2291#endif
2292
2293#if RK3_ENABLED
2294 PURE module subroutine setDisKolmSSD_WID_D1_RK3(disKolm, sample1, weight1, weisum1, sample2)
2295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2296 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WID_D1_RK3
2297#endif
2298 use pm_kind, only: RKG => RK3
2299 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2300 integer(IK) , intent(inout) , contiguous :: weight1(:)
2301 integer(IK) , intent(in) :: weisum1
2302 real(RKG) , intent(out) :: disKolm
2303 end subroutine
2304#endif
2305
2306#if RK2_ENABLED
2307 PURE module subroutine setDisKolmSSD_WID_D1_RK2(disKolm, sample1, weight1, weisum1, sample2)
2308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2309 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WID_D1_RK2
2310#endif
2311 use pm_kind, only: RKG => RK2
2312 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2313 integer(IK) , intent(inout) , contiguous :: weight1(:)
2314 integer(IK) , intent(in) :: weisum1
2315 real(RKG) , intent(out) :: disKolm
2316 end subroutine
2317#endif
2318
2319#if RK1_ENABLED
2320 PURE module subroutine setDisKolmSSD_WID_D1_RK1(disKolm, sample1, weight1, weisum1, sample2)
2321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2322 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WID_D1_RK1
2323#endif
2324 use pm_kind, only: RKG => RK1
2325 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2326 integer(IK) , intent(inout) , contiguous :: weight1(:)
2327 integer(IK) , intent(in) :: weisum1
2328 real(RKG) , intent(out) :: disKolm
2329 end subroutine
2330#endif
2331
2332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2333
2334 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2336 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2337
2338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2339
2340#if RK5_ENABLED
2341 PURE module subroutine setDisKolmSSA_WID_D1_RK5(disKolm, sample1, weight1, weisum1, sample2, order)
2342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2343 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WID_D1_RK5
2344#endif
2345 use pm_kind, only: RKG => RK5
2346 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2347 integer(IK) , intent(in) , contiguous :: weight1(:)
2348 integer(IK) , intent(in) :: weisum1
2349 real(RKG) , intent(out) :: disKolm
2350 type(ascending_type), intent(in) :: order
2351 end subroutine
2352#endif
2353
2354#if RK4_ENABLED
2355 PURE module subroutine setDisKolmSSA_WID_D1_RK4(disKolm, sample1, weight1, weisum1, sample2, order)
2356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2357 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WID_D1_RK4
2358#endif
2359 use pm_kind, only: RKG => RK4
2360 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2361 integer(IK) , intent(in) , contiguous :: weight1(:)
2362 integer(IK) , intent(in) :: weisum1
2363 real(RKG) , intent(out) :: disKolm
2364 type(ascending_type), intent(in) :: order
2365 end subroutine
2366#endif
2367
2368#if RK3_ENABLED
2369 PURE module subroutine setDisKolmSSA_WID_D1_RK3(disKolm, sample1, weight1, weisum1, sample2, order)
2370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2371 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WID_D1_RK3
2372#endif
2373 use pm_kind, only: RKG => RK3
2374 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2375 integer(IK) , intent(in) , contiguous :: weight1(:)
2376 integer(IK) , intent(in) :: weisum1
2377 real(RKG) , intent(out) :: disKolm
2378 type(ascending_type), intent(in) :: order
2379 end subroutine
2380#endif
2381
2382#if RK2_ENABLED
2383 PURE module subroutine setDisKolmSSA_WID_D1_RK2(disKolm, sample1, weight1, weisum1, sample2, order)
2384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2385 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WID_D1_RK2
2386#endif
2387 use pm_kind, only: RKG => RK2
2388 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2389 integer(IK) , intent(in) , contiguous :: weight1(:)
2390 integer(IK) , intent(in) :: weisum1
2391 real(RKG) , intent(out) :: disKolm
2392 type(ascending_type), intent(in) :: order
2393 end subroutine
2394#endif
2395
2396#if RK1_ENABLED
2397 PURE module subroutine setDisKolmSSA_WID_D1_RK1(disKolm, sample1, weight1, weisum1, sample2, order)
2398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2399 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WID_D1_RK1
2400#endif
2401 use pm_kind, only: RKG => RK1
2402 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2403 integer(IK) , intent(in) , contiguous :: weight1(:)
2404 integer(IK) , intent(in) :: weisum1
2405 real(RKG) , intent(out) :: disKolm
2406 type(ascending_type), intent(in) :: order
2407 end subroutine
2408#endif
2409
2410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2411
2412 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2413 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2414 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2415
2416 end interface
2417
2418 ! SS*_WRD_D1
2419
2420 interface setDisKolm
2421
2422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2424 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2425
2426 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2427
2428#if RK5_ENABLED
2429 PURE module subroutine setDisKolmSSD_WRD_D1_RK5(disKolm, sample1, weight1, weisum1, sample2)
2430#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2431 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRD_D1_RK5
2432#endif
2433 use pm_kind, only: RKG => RK5
2434 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2435 real(RKG) , intent(inout) , contiguous :: weight1(:)
2436 real(RKG) , intent(in) :: weisum1
2437 real(RKG) , intent(out) :: disKolm
2438 end subroutine
2439#endif
2440
2441#if RK4_ENABLED
2442 PURE module subroutine setDisKolmSSD_WRD_D1_RK4(disKolm, sample1, weight1, weisum1, sample2)
2443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2444 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRD_D1_RK4
2445#endif
2446 use pm_kind, only: RKG => RK4
2447 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2448 real(RKG) , intent(inout) , contiguous :: weight1(:)
2449 real(RKG) , intent(in) :: weisum1
2450 real(RKG) , intent(out) :: disKolm
2451 end subroutine
2452#endif
2453
2454#if RK3_ENABLED
2455 PURE module subroutine setDisKolmSSD_WRD_D1_RK3(disKolm, sample1, weight1, weisum1, sample2)
2456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2457 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRD_D1_RK3
2458#endif
2459 use pm_kind, only: RKG => RK3
2460 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2461 real(RKG) , intent(inout) , contiguous :: weight1(:)
2462 real(RKG) , intent(in) :: weisum1
2463 real(RKG) , intent(out) :: disKolm
2464 end subroutine
2465#endif
2466
2467#if RK2_ENABLED
2468 PURE module subroutine setDisKolmSSD_WRD_D1_RK2(disKolm, sample1, weight1, weisum1, sample2)
2469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2470 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRD_D1_RK2
2471#endif
2472 use pm_kind, only: RKG => RK2
2473 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2474 real(RKG) , intent(inout) , contiguous :: weight1(:)
2475 real(RKG) , intent(in) :: weisum1
2476 real(RKG) , intent(out) :: disKolm
2477 end subroutine
2478#endif
2479
2480#if RK1_ENABLED
2481 PURE module subroutine setDisKolmSSD_WRD_D1_RK1(disKolm, sample1, weight1, weisum1, sample2)
2482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2483 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRD_D1_RK1
2484#endif
2485 use pm_kind, only: RKG => RK1
2486 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2487 real(RKG) , intent(inout) , contiguous :: weight1(:)
2488 real(RKG) , intent(in) :: weisum1
2489 real(RKG) , intent(out) :: disKolm
2490 end subroutine
2491#endif
2492
2493 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2494
2495 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2496 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2497 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2498
2499 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2500
2501#if RK5_ENABLED
2502 PURE module subroutine setDisKolmSSA_WRD_D1_RK5(disKolm, sample1, weight1, weisum1, sample2, order)
2503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2504 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRD_D1_RK5
2505#endif
2506 use pm_kind, only: RKG => RK5
2507 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2508 real(RKG) , intent(in) , contiguous :: weight1(:)
2509 real(RKG) , intent(in) :: weisum1
2510 real(RKG) , intent(out) :: disKolm
2511 type(ascending_type), intent(in) :: order
2512 end subroutine
2513#endif
2514
2515#if RK4_ENABLED
2516 PURE module subroutine setDisKolmSSA_WRD_D1_RK4(disKolm, sample1, weight1, weisum1, sample2, order)
2517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2518 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRD_D1_RK4
2519#endif
2520 use pm_kind, only: RKG => RK4
2521 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2522 real(RKG) , intent(in) , contiguous :: weight1(:)
2523 real(RKG) , intent(in) :: weisum1
2524 real(RKG) , intent(out) :: disKolm
2525 type(ascending_type), intent(in) :: order
2526 end subroutine
2527#endif
2528
2529#if RK3_ENABLED
2530 PURE module subroutine setDisKolmSSA_WRD_D1_RK3(disKolm, sample1, weight1, weisum1, sample2, order)
2531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2532 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRD_D1_RK3
2533#endif
2534 use pm_kind, only: RKG => RK3
2535 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2536 real(RKG) , intent(in) , contiguous :: weight1(:)
2537 real(RKG) , intent(in) :: weisum1
2538 real(RKG) , intent(out) :: disKolm
2539 type(ascending_type), intent(in) :: order
2540 end subroutine
2541#endif
2542
2543#if RK2_ENABLED
2544 PURE module subroutine setDisKolmSSA_WRD_D1_RK2(disKolm, sample1, weight1, weisum1, sample2, order)
2545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2546 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRD_D1_RK2
2547#endif
2548 use pm_kind, only: RKG => RK2
2549 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2550 real(RKG) , intent(in) , contiguous :: weight1(:)
2551 real(RKG) , intent(in) :: weisum1
2552 real(RKG) , intent(out) :: disKolm
2553 type(ascending_type), intent(in) :: order
2554 end subroutine
2555#endif
2556
2557#if RK1_ENABLED
2558 PURE module subroutine setDisKolmSSA_WRD_D1_RK1(disKolm, sample1, weight1, weisum1, sample2, order)
2559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2560 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRD_D1_RK1
2561#endif
2562 use pm_kind, only: RKG => RK1
2563 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2564 real(RKG) , intent(in) , contiguous :: weight1(:)
2565 real(RKG) , intent(in) :: weisum1
2566 real(RKG) , intent(out) :: disKolm
2567 type(ascending_type), intent(in) :: order
2568 end subroutine
2569#endif
2570
2571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2572
2573 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2574 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2575 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2576
2577 end interface
2578
2579 ! SS*_WII_D1
2580
2581 interface setDisKolm
2582
2583 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2584 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2585 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2586
2587 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2588
2589#if RK5_ENABLED
2590 PURE module subroutine setDisKolmSSD_WII_D1_RK5(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2592 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WII_D1_RK5
2593#endif
2594 use pm_kind, only: RKG => RK5
2595 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2596 integer(IK) , intent(inout) , contiguous :: weight1(:), weight2(:)
2597 integer(IK) , intent(in) :: weisum1, weisum2
2598 real(RKG) , intent(out) :: disKolm
2599 end subroutine
2600#endif
2601
2602#if RK4_ENABLED
2603 PURE module subroutine setDisKolmSSD_WII_D1_RK4(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2605 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WII_D1_RK4
2606#endif
2607 use pm_kind, only: RKG => RK4
2608 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2609 integer(IK) , intent(inout) , contiguous :: weight1(:), weight2(:)
2610 integer(IK) , intent(in) :: weisum1, weisum2
2611 real(RKG) , intent(out) :: disKolm
2612 end subroutine
2613#endif
2614
2615#if RK3_ENABLED
2616 PURE module subroutine setDisKolmSSD_WII_D1_RK3(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2618 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WII_D1_RK3
2619#endif
2620 use pm_kind, only: RKG => RK3
2621 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2622 integer(IK) , intent(inout) , contiguous :: weight1(:), weight2(:)
2623 integer(IK) , intent(in) :: weisum1, weisum2
2624 real(RKG) , intent(out) :: disKolm
2625 end subroutine
2626#endif
2627
2628#if RK2_ENABLED
2629 PURE module subroutine setDisKolmSSD_WII_D1_RK2(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2631 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WII_D1_RK2
2632#endif
2633 use pm_kind, only: RKG => RK2
2634 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2635 integer(IK) , intent(inout) , contiguous :: weight1(:), weight2(:)
2636 integer(IK) , intent(in) :: weisum1, weisum2
2637 real(RKG) , intent(out) :: disKolm
2638 end subroutine
2639#endif
2640
2641#if RK1_ENABLED
2642 PURE module subroutine setDisKolmSSD_WII_D1_RK1(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2644 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WII_D1_RK1
2645#endif
2646 use pm_kind, only: RKG => RK1
2647 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2648 integer(IK) , intent(inout) , contiguous :: weight1(:), weight2(:)
2649 integer(IK) , intent(in) :: weisum1, weisum2
2650 real(RKG) , intent(out) :: disKolm
2651 end subroutine
2652#endif
2653
2654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2655
2656 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2657 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2659
2660 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2661
2662#if RK5_ENABLED
2663 PURE module subroutine setDisKolmSSA_WII_D1_RK5(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2664#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2665 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WII_D1_RK5
2666#endif
2667 use pm_kind, only: RKG => RK5
2668 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2669 integer(IK) , intent(in) , contiguous :: weight1(:), weight2(:)
2670 integer(IK) , intent(in) :: weisum1, weisum2
2671 real(RKG) , intent(out) :: disKolm
2672 type(ascending_type), intent(in) :: order
2673 end subroutine
2674#endif
2675
2676#if RK4_ENABLED
2677 PURE module subroutine setDisKolmSSA_WII_D1_RK4(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2678#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2679 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WII_D1_RK4
2680#endif
2681 use pm_kind, only: RKG => RK4
2682 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2683 integer(IK) , intent(in) , contiguous :: weight1(:), weight2(:)
2684 integer(IK) , intent(in) :: weisum1, weisum2
2685 real(RKG) , intent(out) :: disKolm
2686 type(ascending_type), intent(in) :: order
2687 end subroutine
2688#endif
2689
2690#if RK3_ENABLED
2691 PURE module subroutine setDisKolmSSA_WII_D1_RK3(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2693 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WII_D1_RK3
2694#endif
2695 use pm_kind, only: RKG => RK3
2696 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2697 integer(IK) , intent(in) , contiguous :: weight1(:), weight2(:)
2698 integer(IK) , intent(in) :: weisum1, weisum2
2699 real(RKG) , intent(out) :: disKolm
2700 type(ascending_type), intent(in) :: order
2701 end subroutine
2702#endif
2703
2704#if RK2_ENABLED
2705 PURE module subroutine setDisKolmSSA_WII_D1_RK2(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2706#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2707 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WII_D1_RK2
2708#endif
2709 use pm_kind, only: RKG => RK2
2710 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2711 integer(IK) , intent(in) , contiguous :: weight1(:), weight2(:)
2712 integer(IK) , intent(in) :: weisum1, weisum2
2713 real(RKG) , intent(out) :: disKolm
2714 type(ascending_type), intent(in) :: order
2715 end subroutine
2716#endif
2717
2718#if RK1_ENABLED
2719 PURE module subroutine setDisKolmSSA_WII_D1_RK1(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2721 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WII_D1_RK1
2722#endif
2723 use pm_kind, only: RKG => RK1
2724 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2725 integer(IK) , intent(in) , contiguous :: weight1(:), weight2(:)
2726 integer(IK) , intent(in) :: weisum1, weisum2
2727 real(RKG) , intent(out) :: disKolm
2728 type(ascending_type), intent(in) :: order
2729 end subroutine
2730#endif
2731
2732 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2733
2734 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2735 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2736 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2737
2738 end interface
2739
2740 ! SS*_WRR_D1
2741
2742 interface setDisKolm
2743
2744 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2745 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2746 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2747
2748 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2749
2750#if RK5_ENABLED
2751 PURE module subroutine setDisKolmSSD_WRR_D1_RK5(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2752#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2753 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRR_D1_RK5
2754#endif
2755 use pm_kind, only: RKG => RK5
2756 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2757 real(RKG) , intent(inout) , contiguous :: weight1(:), weight2(:)
2758 real(RKG) , intent(in) :: weisum1, weisum2
2759 real(RKG) , intent(out) :: disKolm
2760 end subroutine
2761#endif
2762
2763#if RK4_ENABLED
2764 PURE module subroutine setDisKolmSSD_WRR_D1_RK4(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2765#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2766 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRR_D1_RK4
2767#endif
2768 use pm_kind, only: RKG => RK4
2769 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2770 real(RKG) , intent(inout) , contiguous :: weight1(:), weight2(:)
2771 real(RKG) , intent(in) :: weisum1, weisum2
2772 real(RKG) , intent(out) :: disKolm
2773 end subroutine
2774#endif
2775
2776#if RK3_ENABLED
2777 PURE module subroutine setDisKolmSSD_WRR_D1_RK3(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2778#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2779 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRR_D1_RK3
2780#endif
2781 use pm_kind, only: RKG => RK3
2782 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2783 real(RKG) , intent(inout) , contiguous :: weight1(:), weight2(:)
2784 real(RKG) , intent(in) :: weisum1, weisum2
2785 real(RKG) , intent(out) :: disKolm
2786 end subroutine
2787#endif
2788
2789#if RK2_ENABLED
2790 PURE module subroutine setDisKolmSSD_WRR_D1_RK2(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2792 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRR_D1_RK2
2793#endif
2794 use pm_kind, only: RKG => RK2
2795 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2796 real(RKG) , intent(inout) , contiguous :: weight1(:), weight2(:)
2797 real(RKG) , intent(in) :: weisum1, weisum2
2798 real(RKG) , intent(out) :: disKolm
2799 end subroutine
2800#endif
2801
2802#if RK1_ENABLED
2803 PURE module subroutine setDisKolmSSD_WRR_D1_RK1(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2)
2804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2805 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSD_WRR_D1_RK1
2806#endif
2807 use pm_kind, only: RKG => RK1
2808 real(RKG) , intent(inout) , contiguous :: sample1(:), sample2(:)
2809 real(RKG) , intent(inout) , contiguous :: weight1(:), weight2(:)
2810 real(RKG) , intent(in) :: weisum1, weisum2
2811 real(RKG) , intent(out) :: disKolm
2812 end subroutine
2813#endif
2814
2815 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2816
2817 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2818 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2819 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2820
2821 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2822
2823#if RK5_ENABLED
2824 PURE module subroutine setDisKolmSSA_WRR_D1_RK5(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2826 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRR_D1_RK5
2827#endif
2828 use pm_kind, only: RKG => RK5
2829 type(ascending_type), intent(in) :: order
2830 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2831 real(RKG) , intent(in) , contiguous :: weight1(:), weight2(:)
2832 real(RKG) , intent(in) :: weisum1, weisum2
2833 real(RKG) , intent(out) :: disKolm
2834 end subroutine
2835#endif
2836
2837#if RK4_ENABLED
2838 PURE module subroutine setDisKolmSSA_WRR_D1_RK4(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2839#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2840 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRR_D1_RK4
2841#endif
2842 use pm_kind, only: RKG => RK4
2843 type(ascending_type), intent(in) :: order
2844 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2845 real(RKG) , intent(in) , contiguous :: weight1(:), weight2(:)
2846 real(RKG) , intent(in) :: weisum1, weisum2
2847 real(RKG) , intent(out) :: disKolm
2848 end subroutine
2849#endif
2850
2851#if RK3_ENABLED
2852 PURE module subroutine setDisKolmSSA_WRR_D1_RK3(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2853#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2854 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRR_D1_RK3
2855#endif
2856 use pm_kind, only: RKG => RK3
2857 type(ascending_type), intent(in) :: order
2858 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2859 real(RKG) , intent(in) , contiguous :: weight1(:), weight2(:)
2860 real(RKG) , intent(in) :: weisum1, weisum2
2861 real(RKG) , intent(out) :: disKolm
2862 end subroutine
2863#endif
2864
2865#if RK2_ENABLED
2866 PURE module subroutine setDisKolmSSA_WRR_D1_RK2(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2868 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRR_D1_RK2
2869#endif
2870 use pm_kind, only: RKG => RK2
2871 type(ascending_type), intent(in) :: order
2872 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2873 real(RKG) , intent(in) , contiguous :: weight1(:), weight2(:)
2874 real(RKG) , intent(in) :: weisum1, weisum2
2875 real(RKG) , intent(out) :: disKolm
2876 end subroutine
2877#endif
2878
2879#if RK1_ENABLED
2880 PURE module subroutine setDisKolmSSA_WRR_D1_RK1(disKolm, sample1, weight1, weisum1, sample2, weight2, weisum2, order)
2881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2882 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSSA_WRR_D1_RK1
2883#endif
2884 use pm_kind, only: RKG => RK1
2885 type(ascending_type), intent(in) :: order
2886 real(RKG) , intent(in) , contiguous :: sample1(:), sample2(:)
2887 real(RKG) , intent(in) , contiguous :: weight1(:), weight2(:)
2888 real(RKG) , intent(in) :: weisum1, weisum2
2889 real(RKG) , intent(out) :: disKolm
2890 end subroutine
2891#endif
2892
2893 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2894
2895 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2896 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2897 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2898
2899 end interface
2900
2901 ! SX*_WDD_D1
2902
2903 interface setDisKolm
2904
2905 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2906 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2907 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2908
2909 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2910
2911#if RK5_ENABLED
2912 PURE module subroutine setDisKolmSXD_WDD_D1_RK5(disKolm, sample1)
2913#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2914 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WDD_D1_RK5
2915#endif
2916 use pm_kind, only: RKG => RK5
2917 real(RKG) , intent(inout) , contiguous :: sample1(:)
2918 real(RKG) , intent(out) :: disKolm
2919 end subroutine
2920#endif
2921
2922#if RK4_ENABLED
2923 PURE module subroutine setDisKolmSXD_WDD_D1_RK4(disKolm, sample1)
2924#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2925 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WDD_D1_RK4
2926#endif
2927 use pm_kind, only: RKG => RK4
2928 real(RKG) , intent(inout) , contiguous :: sample1(:)
2929 real(RKG) , intent(out) :: disKolm
2930 end subroutine
2931#endif
2932
2933#if RK3_ENABLED
2934 PURE module subroutine setDisKolmSXD_WDD_D1_RK3(disKolm, sample1)
2935#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2936 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WDD_D1_RK3
2937#endif
2938 use pm_kind, only: RKG => RK3
2939 real(RKG) , intent(inout) , contiguous :: sample1(:)
2940 real(RKG) , intent(out) :: disKolm
2941 end subroutine
2942#endif
2943
2944#if RK2_ENABLED
2945 PURE module subroutine setDisKolmSXD_WDD_D1_RK2(disKolm, sample1)
2946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2947 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WDD_D1_RK2
2948#endif
2949 use pm_kind, only: RKG => RK2
2950 real(RKG) , intent(inout) , contiguous :: sample1(:)
2951 real(RKG) , intent(out) :: disKolm
2952 end subroutine
2953#endif
2954
2955#if RK1_ENABLED
2956 PURE module subroutine setDisKolmSXD_WDD_D1_RK1(disKolm, sample1)
2957#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2958 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WDD_D1_RK1
2959#endif
2960 use pm_kind, only: RKG => RK1
2961 real(RKG) , intent(inout) , contiguous :: sample1(:)
2962 real(RKG) , intent(out) :: disKolm
2963 end subroutine
2964#endif
2965
2966 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2967
2968 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2969 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2970 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2971
2972 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2973
2974#if RK5_ENABLED
2975 PURE module subroutine setDisKolmSXA_WDD_D1_RK5(disKolm, sample1, order)
2976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2977 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WDD_D1_RK5
2978#endif
2979 use pm_kind, only: RKG => RK5
2980 type(ascending_type), intent(in) :: order
2981 real(RKG) , intent(in) , contiguous :: sample1(:)
2982 real(RKG) , intent(out) :: disKolm
2983 end subroutine
2984#endif
2985
2986#if RK4_ENABLED
2987 PURE module subroutine setDisKolmSXA_WDD_D1_RK4(disKolm, sample1, order)
2988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2989 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WDD_D1_RK4
2990#endif
2991 use pm_kind, only: RKG => RK4
2992 type(ascending_type), intent(in) :: order
2993 real(RKG) , intent(in) , contiguous :: sample1(:)
2994 real(RKG) , intent(out) :: disKolm
2995 end subroutine
2996#endif
2997
2998#if RK3_ENABLED
2999 PURE module subroutine setDisKolmSXA_WDD_D1_RK3(disKolm, sample1, order)
3000#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3001 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WDD_D1_RK3
3002#endif
3003 use pm_kind, only: RKG => RK3
3004 type(ascending_type), intent(in) :: order
3005 real(RKG) , intent(in) , contiguous :: sample1(:)
3006 real(RKG) , intent(out) :: disKolm
3007 end subroutine
3008#endif
3009
3010#if RK2_ENABLED
3011 PURE module subroutine setDisKolmSXA_WDD_D1_RK2(disKolm, sample1, order)
3012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3013 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WDD_D1_RK2
3014#endif
3015 use pm_kind, only: RKG => RK2
3016 type(ascending_type), intent(in) :: order
3017 real(RKG) , intent(in) , contiguous :: sample1(:)
3018 real(RKG) , intent(out) :: disKolm
3019 end subroutine
3020#endif
3021
3022#if RK1_ENABLED
3023 PURE module subroutine setDisKolmSXA_WDD_D1_RK1(disKolm, sample1, order)
3024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3025 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WDD_D1_RK1
3026#endif
3027 use pm_kind, only: RKG => RK1
3028 type(ascending_type), intent(in) :: order
3029 real(RKG) , intent(in) , contiguous :: sample1(:)
3030 real(RKG) , intent(out) :: disKolm
3031 end subroutine
3032#endif
3033
3034 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3035
3036 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3037 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3038 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3039
3040 end interface
3041
3042 ! SX*_WID_D1
3043
3044 interface setDisKolm
3045
3046 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3047 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3048 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3049
3050 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3051
3052#if RK5_ENABLED
3053 PURE module subroutine setDisKolmSXD_WID_D1_RK5(disKolm, sample1, weight1, weisum1)
3054#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3055 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WID_D1_RK5
3056#endif
3057 use pm_kind, only: RKG => RK5
3058 real(RKG) , intent(inout) , contiguous :: sample1(:)
3059 integer(IK) , intent(inout) , contiguous :: weight1(:)
3060 integer(IK) , intent(in) :: weisum1
3061 real(RKG) , intent(out) :: disKolm
3062 end subroutine
3063#endif
3064
3065#if RK4_ENABLED
3066 PURE module subroutine setDisKolmSXD_WID_D1_RK4(disKolm, sample1, weight1, weisum1)
3067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3068 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WID_D1_RK4
3069#endif
3070 use pm_kind, only: RKG => RK4
3071 real(RKG) , intent(inout) , contiguous :: sample1(:)
3072 integer(IK) , intent(inout) , contiguous :: weight1(:)
3073 integer(IK) , intent(in) :: weisum1
3074 real(RKG) , intent(out) :: disKolm
3075 end subroutine
3076#endif
3077
3078#if RK3_ENABLED
3079 PURE module subroutine setDisKolmSXD_WID_D1_RK3(disKolm, sample1, weight1, weisum1)
3080#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3081 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WID_D1_RK3
3082#endif
3083 use pm_kind, only: RKG => RK3
3084 real(RKG) , intent(inout) , contiguous :: sample1(:)
3085 integer(IK) , intent(inout) , contiguous :: weight1(:)
3086 integer(IK) , intent(in) :: weisum1
3087 real(RKG) , intent(out) :: disKolm
3088 end subroutine
3089#endif
3090
3091#if RK2_ENABLED
3092 PURE module subroutine setDisKolmSXD_WID_D1_RK2(disKolm, sample1, weight1, weisum1)
3093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3094 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WID_D1_RK2
3095#endif
3096 use pm_kind, only: RKG => RK2
3097 real(RKG) , intent(inout) , contiguous :: sample1(:)
3098 integer(IK) , intent(inout) , contiguous :: weight1(:)
3099 integer(IK) , intent(in) :: weisum1
3100 real(RKG) , intent(out) :: disKolm
3101 end subroutine
3102#endif
3103
3104#if RK1_ENABLED
3105 PURE module subroutine setDisKolmSXD_WID_D1_RK1(disKolm, sample1, weight1, weisum1)
3106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3107 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WID_D1_RK1
3108#endif
3109 use pm_kind, only: RKG => RK1
3110 real(RKG) , intent(inout) , contiguous :: sample1(:)
3111 integer(IK) , intent(inout) , contiguous :: weight1(:)
3112 integer(IK) , intent(in) :: weisum1
3113 real(RKG) , intent(out) :: disKolm
3114 end subroutine
3115#endif
3116
3117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3118
3119 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3122
3123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3124
3125#if RK5_ENABLED
3126 PURE module subroutine setDisKolmSXA_WID_D1_RK5(disKolm, sample1, weight1, weisum1, order)
3127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3128 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WID_D1_RK5
3129#endif
3130 use pm_kind, only: RKG => RK5
3131 real(RKG) , intent(in) , contiguous :: sample1(:)
3132 integer(IK) , intent(in) , contiguous :: weight1(:)
3133 integer(IK) , intent(in) :: weisum1
3134 real(RKG) , intent(out) :: disKolm
3135 type(ascending_type), intent(in) :: order
3136 end subroutine
3137#endif
3138
3139#if RK4_ENABLED
3140 PURE module subroutine setDisKolmSXA_WID_D1_RK4(disKolm, sample1, weight1, weisum1, order)
3141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3142 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WID_D1_RK4
3143#endif
3144 use pm_kind, only: RKG => RK4
3145 real(RKG) , intent(in) , contiguous :: sample1(:)
3146 integer(IK) , intent(in) , contiguous :: weight1(:)
3147 integer(IK) , intent(in) :: weisum1
3148 real(RKG) , intent(out) :: disKolm
3149 type(ascending_type), intent(in) :: order
3150 end subroutine
3151#endif
3152
3153#if RK3_ENABLED
3154 PURE module subroutine setDisKolmSXA_WID_D1_RK3(disKolm, sample1, weight1, weisum1, order)
3155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3156 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WID_D1_RK3
3157#endif
3158 use pm_kind, only: RKG => RK3
3159 real(RKG) , intent(in) , contiguous :: sample1(:)
3160 integer(IK) , intent(in) , contiguous :: weight1(:)
3161 integer(IK) , intent(in) :: weisum1
3162 real(RKG) , intent(out) :: disKolm
3163 type(ascending_type), intent(in) :: order
3164 end subroutine
3165#endif
3166
3167#if RK2_ENABLED
3168 PURE module subroutine setDisKolmSXA_WID_D1_RK2(disKolm, sample1, weight1, weisum1, order)
3169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3170 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WID_D1_RK2
3171#endif
3172 use pm_kind, only: RKG => RK2
3173 real(RKG) , intent(in) , contiguous :: sample1(:)
3174 integer(IK) , intent(in) , contiguous :: weight1(:)
3175 integer(IK) , intent(in) :: weisum1
3176 real(RKG) , intent(out) :: disKolm
3177 type(ascending_type), intent(in) :: order
3178 end subroutine
3179#endif
3180
3181#if RK1_ENABLED
3182 PURE module subroutine setDisKolmSXA_WID_D1_RK1(disKolm, sample1, weight1, weisum1, order)
3183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3184 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WID_D1_RK1
3185#endif
3186 use pm_kind, only: RKG => RK1
3187 real(RKG) , intent(in) , contiguous :: sample1(:)
3188 integer(IK) , intent(in) , contiguous :: weight1(:)
3189 integer(IK) , intent(in) :: weisum1
3190 real(RKG) , intent(out) :: disKolm
3191 type(ascending_type), intent(in) :: order
3192 end subroutine
3193#endif
3194
3195 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3196
3197 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3198 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3199 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3200
3201 end interface
3202
3203 ! SX*_WRD_D1
3204
3205 interface setDisKolm
3206
3207 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3208 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3209 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3210
3211 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3212
3213#if RK5_ENABLED
3214 PURE module subroutine setDisKolmSXD_WRD_D1_RK5(disKolm, sample1, weight1, weisum1)
3215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3216 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WRD_D1_RK5
3217#endif
3218 use pm_kind, only: RKG => RK5
3219 real(RKG) , intent(inout) , contiguous :: sample1(:)
3220 real(RKG) , intent(inout) , contiguous :: weight1(:)
3221 real(RKG) , intent(in) :: weisum1
3222 real(RKG) , intent(out) :: disKolm
3223 end subroutine
3224#endif
3225
3226#if RK4_ENABLED
3227 PURE module subroutine setDisKolmSXD_WRD_D1_RK4(disKolm, sample1, weight1, weisum1)
3228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3229 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WRD_D1_RK4
3230#endif
3231 use pm_kind, only: RKG => RK4
3232 real(RKG) , intent(inout) , contiguous :: sample1(:)
3233 real(RKG) , intent(inout) , contiguous :: weight1(:)
3234 real(RKG) , intent(in) :: weisum1
3235 real(RKG) , intent(out) :: disKolm
3236 end subroutine
3237#endif
3238
3239#if RK3_ENABLED
3240 PURE module subroutine setDisKolmSXD_WRD_D1_RK3(disKolm, sample1, weight1, weisum1)
3241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3242 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WRD_D1_RK3
3243#endif
3244 use pm_kind, only: RKG => RK3
3245 real(RKG) , intent(inout) , contiguous :: sample1(:)
3246 real(RKG) , intent(inout) , contiguous :: weight1(:)
3247 real(RKG) , intent(in) :: weisum1
3248 real(RKG) , intent(out) :: disKolm
3249 end subroutine
3250#endif
3251
3252#if RK2_ENABLED
3253 PURE module subroutine setDisKolmSXD_WRD_D1_RK2(disKolm, sample1, weight1, weisum1)
3254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3255 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WRD_D1_RK2
3256#endif
3257 use pm_kind, only: RKG => RK2
3258 real(RKG) , intent(inout) , contiguous :: sample1(:)
3259 real(RKG) , intent(inout) , contiguous :: weight1(:)
3260 real(RKG) , intent(in) :: weisum1
3261 real(RKG) , intent(out) :: disKolm
3262 end subroutine
3263#endif
3264
3265#if RK1_ENABLED
3266 PURE module subroutine setDisKolmSXD_WRD_D1_RK1(disKolm, sample1, weight1, weisum1)
3267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3268 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXD_WRD_D1_RK1
3269#endif
3270 use pm_kind, only: RKG => RK1
3271 real(RKG) , intent(inout) , contiguous :: sample1(:)
3272 real(RKG) , intent(inout) , contiguous :: weight1(:)
3273 real(RKG) , intent(in) :: weisum1
3274 real(RKG) , intent(out) :: disKolm
3275 end subroutine
3276#endif
3277
3278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3279
3280 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3281 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3283
3284 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3285
3286#if RK5_ENABLED
3287 PURE module subroutine setDisKolmSXA_WRD_D1_RK5(disKolm, sample1, weight1, weisum1, order)
3288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3289 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WRD_D1_RK5
3290#endif
3291 use pm_kind, only: RKG => RK5
3292 real(RKG) , intent(in) , contiguous :: sample1(:)
3293 real(RKG) , intent(in) , contiguous :: weight1(:)
3294 real(RKG) , intent(in) :: weisum1
3295 real(RKG) , intent(out) :: disKolm
3296 type(ascending_type), intent(in) :: order
3297 end subroutine
3298#endif
3299
3300#if RK4_ENABLED
3301 PURE module subroutine setDisKolmSXA_WRD_D1_RK4(disKolm, sample1, weight1, weisum1, order)
3302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3303 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WRD_D1_RK4
3304#endif
3305 use pm_kind, only: RKG => RK4
3306 real(RKG) , intent(in) , contiguous :: sample1(:)
3307 real(RKG) , intent(in) , contiguous :: weight1(:)
3308 real(RKG) , intent(in) :: weisum1
3309 real(RKG) , intent(out) :: disKolm
3310 type(ascending_type), intent(in) :: order
3311 end subroutine
3312#endif
3313
3314#if RK3_ENABLED
3315 PURE module subroutine setDisKolmSXA_WRD_D1_RK3(disKolm, sample1, weight1, weisum1, order)
3316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3317 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WRD_D1_RK3
3318#endif
3319 use pm_kind, only: RKG => RK3
3320 real(RKG) , intent(in) , contiguous :: sample1(:)
3321 real(RKG) , intent(in) , contiguous :: weight1(:)
3322 real(RKG) , intent(in) :: weisum1
3323 real(RKG) , intent(out) :: disKolm
3324 type(ascending_type), intent(in) :: order
3325 end subroutine
3326#endif
3327
3328#if RK2_ENABLED
3329 PURE module subroutine setDisKolmSXA_WRD_D1_RK2(disKolm, sample1, weight1, weisum1, order)
3330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3331 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WRD_D1_RK2
3332#endif
3333 use pm_kind, only: RKG => RK2
3334 real(RKG) , intent(in) , contiguous :: sample1(:)
3335 real(RKG) , intent(in) , contiguous :: weight1(:)
3336 real(RKG) , intent(in) :: weisum1
3337 real(RKG) , intent(out) :: disKolm
3338 type(ascending_type), intent(in) :: order
3339 end subroutine
3340#endif
3341
3342#if RK1_ENABLED
3343 PURE module subroutine setDisKolmSXA_WRD_D1_RK1(disKolm, sample1, weight1, weisum1, order)
3344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3345 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSXA_WRD_D1_RK1
3346#endif
3347 use pm_kind, only: RKG => RK1
3348 real(RKG) , intent(in) , contiguous :: sample1(:)
3349 real(RKG) , intent(in) , contiguous :: weight1(:)
3350 real(RKG) , intent(in) :: weisum1
3351 real(RKG) , intent(out) :: disKolm
3352 type(ascending_type), intent(in) :: order
3353 end subroutine
3354#endif
3355
3356 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3357
3358 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3359 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3360 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3361
3362 end interface
3363
3364 ! SC*_WDD_D1
3365
3366 interface setDisKolm
3367
3368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3370 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3371
3372 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3373
3374#if RK5_ENABLED
3375 module subroutine setDisKolmSCD_WDD_D1_RK5(disKolm, sample1, getCDF)
3376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3377 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WDD_D1_RK5
3378#endif
3379 use pm_kind, only: RKG => RK5
3380 real(RKG) , intent(inout) , contiguous :: sample1(:)
3381 real(RKG) , intent(out) :: disKolm
3382 procedure(real(RKG)) :: getCDF
3383 end subroutine
3384#endif
3385
3386#if RK4_ENABLED
3387 module subroutine setDisKolmSCD_WDD_D1_RK4(disKolm, sample1, getCDF)
3388#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3389 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WDD_D1_RK4
3390#endif
3391 use pm_kind, only: RKG => RK4
3392 real(RKG) , intent(inout) , contiguous :: sample1(:)
3393 real(RKG) , intent(out) :: disKolm
3394 procedure(real(RKG)) :: getCDF
3395 end subroutine
3396#endif
3397
3398#if RK3_ENABLED
3399 module subroutine setDisKolmSCD_WDD_D1_RK3(disKolm, sample1, getCDF)
3400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3401 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WDD_D1_RK3
3402#endif
3403 use pm_kind, only: RKG => RK3
3404 real(RKG) , intent(inout) , contiguous :: sample1(:)
3405 real(RKG) , intent(out) :: disKolm
3406 procedure(real(RKG)) :: getCDF
3407 end subroutine
3408#endif
3409
3410#if RK2_ENABLED
3411 module subroutine setDisKolmSCD_WDD_D1_RK2(disKolm, sample1, getCDF)
3412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3413 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WDD_D1_RK2
3414#endif
3415 use pm_kind, only: RKG => RK2
3416 real(RKG) , intent(inout) , contiguous :: sample1(:)
3417 real(RKG) , intent(out) :: disKolm
3418 procedure(real(RKG)) :: getCDF
3419 end subroutine
3420#endif
3421
3422#if RK1_ENABLED
3423 module subroutine setDisKolmSCD_WDD_D1_RK1(disKolm, sample1, getCDF)
3424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3425 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WDD_D1_RK1
3426#endif
3427 use pm_kind, only: RKG => RK1
3428 real(RKG) , intent(inout) , contiguous :: sample1(:)
3429 real(RKG) , intent(out) :: disKolm
3430 procedure(real(RKG)) :: getCDF
3431 end subroutine
3432#endif
3433
3434 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3435
3436 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3437 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3438 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3439
3440 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3441
3442#if RK5_ENABLED
3443 module subroutine setDisKolmSCA_WDD_D1_RK5(disKolm, sample1, getCDF, order)
3444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3445 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WDD_D1_RK5
3446#endif
3447 use pm_kind, only: RKG => RK5
3448 real(RKG) , intent(in) , contiguous :: sample1(:)
3449 real(RKG) , intent(out) :: disKolm
3450 type(ascending_type), intent(in) :: order
3451 procedure(real(RKG)) :: getCDF
3452 end subroutine
3453#endif
3454
3455#if RK4_ENABLED
3456 module subroutine setDisKolmSCA_WDD_D1_RK4(disKolm, sample1, getCDF, order)
3457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3458 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WDD_D1_RK4
3459#endif
3460 use pm_kind, only: RKG => RK4
3461 real(RKG) , intent(in) , contiguous :: sample1(:)
3462 real(RKG) , intent(out) :: disKolm
3463 type(ascending_type), intent(in) :: order
3464 procedure(real(RKG)) :: getCDF
3465 end subroutine
3466#endif
3467
3468#if RK3_ENABLED
3469 module subroutine setDisKolmSCA_WDD_D1_RK3(disKolm, sample1, getCDF, order)
3470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3471 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WDD_D1_RK3
3472#endif
3473 use pm_kind, only: RKG => RK3
3474 real(RKG) , intent(in) , contiguous :: sample1(:)
3475 real(RKG) , intent(out) :: disKolm
3476 type(ascending_type), intent(in) :: order
3477 procedure(real(RKG)) :: getCDF
3478 end subroutine
3479#endif
3480
3481#if RK2_ENABLED
3482 module subroutine setDisKolmSCA_WDD_D1_RK2(disKolm, sample1, getCDF, order)
3483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3484 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WDD_D1_RK2
3485#endif
3486 use pm_kind, only: RKG => RK2
3487 real(RKG) , intent(in) , contiguous :: sample1(:)
3488 real(RKG) , intent(out) :: disKolm
3489 type(ascending_type), intent(in) :: order
3490 procedure(real(RKG)) :: getCDF
3491 end subroutine
3492#endif
3493
3494#if RK1_ENABLED
3495 module subroutine setDisKolmSCA_WDD_D1_RK1(disKolm, sample1, getCDF, order)
3496#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3497 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WDD_D1_RK1
3498#endif
3499 use pm_kind, only: RKG => RK1
3500 real(RKG) , intent(in) , contiguous :: sample1(:)
3501 real(RKG) , intent(out) :: disKolm
3502 type(ascending_type), intent(in) :: order
3503 procedure(real(RKG)) :: getCDF
3504 end subroutine
3505#endif
3506
3507 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3508
3509 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3510 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3511 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3512
3513 end interface
3514
3515 ! SC*_WID_D1
3516
3517 interface setDisKolm
3518
3519 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3522
3523 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3524
3525#if RK5_ENABLED
3526 module subroutine setDisKolmSCD_WID_D1_RK5(disKolm, sample1, weight1, weisum1, getCDF)
3527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3528 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WID_D1_RK5
3529#endif
3530 use pm_kind, only: RKG => RK5
3531 real(RKG) , intent(inout) , contiguous :: sample1(:)
3532 integer(IK) , intent(inout) , contiguous :: weight1(:)
3533 integer(IK) , intent(in) :: weisum1
3534 real(RKG) , intent(out) :: disKolm
3535 procedure(real(RKG)) :: getCDF
3536 end subroutine
3537#endif
3538
3539#if RK4_ENABLED
3540 module subroutine setDisKolmSCD_WID_D1_RK4(disKolm, sample1, weight1, weisum1, getCDF)
3541#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3542 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WID_D1_RK4
3543#endif
3544 use pm_kind, only: RKG => RK4
3545 real(RKG) , intent(inout) , contiguous :: sample1(:)
3546 integer(IK) , intent(inout) , contiguous :: weight1(:)
3547 integer(IK) , intent(in) :: weisum1
3548 real(RKG) , intent(out) :: disKolm
3549 procedure(real(RKG)) :: getCDF
3550 end subroutine
3551#endif
3552
3553#if RK3_ENABLED
3554 module subroutine setDisKolmSCD_WID_D1_RK3(disKolm, sample1, weight1, weisum1, getCDF)
3555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3556 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WID_D1_RK3
3557#endif
3558 use pm_kind, only: RKG => RK3
3559 real(RKG) , intent(inout) , contiguous :: sample1(:)
3560 integer(IK) , intent(inout) , contiguous :: weight1(:)
3561 integer(IK) , intent(in) :: weisum1
3562 real(RKG) , intent(out) :: disKolm
3563 procedure(real(RKG)) :: getCDF
3564 end subroutine
3565#endif
3566
3567#if RK2_ENABLED
3568 module subroutine setDisKolmSCD_WID_D1_RK2(disKolm, sample1, weight1, weisum1, getCDF)
3569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3570 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WID_D1_RK2
3571#endif
3572 use pm_kind, only: RKG => RK2
3573 real(RKG) , intent(inout) , contiguous :: sample1(:)
3574 integer(IK) , intent(inout) , contiguous :: weight1(:)
3575 integer(IK) , intent(in) :: weisum1
3576 real(RKG) , intent(out) :: disKolm
3577 procedure(real(RKG)) :: getCDF
3578 end subroutine
3579#endif
3580
3581#if RK1_ENABLED
3582 module subroutine setDisKolmSCD_WID_D1_RK1(disKolm, sample1, weight1, weisum1, getCDF)
3583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3584 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WID_D1_RK1
3585#endif
3586 use pm_kind, only: RKG => RK1
3587 real(RKG) , intent(inout) , contiguous :: sample1(:)
3588 integer(IK) , intent(inout) , contiguous :: weight1(:)
3589 integer(IK) , intent(in) :: weisum1
3590 real(RKG) , intent(out) :: disKolm
3591 procedure(real(RKG)) :: getCDF
3592 end subroutine
3593#endif
3594
3595 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3596
3597 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3598 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3599 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3600
3601 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3602
3603#if RK5_ENABLED
3604 module subroutine setDisKolmSCA_WID_D1_RK5(disKolm, sample1, weight1, weisum1, getCDF, order)
3605#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3606 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WID_D1_RK5
3607#endif
3608 use pm_kind, only: RKG => RK5
3609 real(RKG) , intent(in) , contiguous :: sample1(:)
3610 integer(IK) , intent(in) , contiguous :: weight1(:)
3611 integer(IK) , intent(in) :: weisum1
3612 real(RKG) , intent(out) :: disKolm
3613 type(ascending_type), intent(in) :: order
3614 procedure(real(RKG)) :: getCDF
3615 end subroutine
3616#endif
3617
3618#if RK4_ENABLED
3619 module subroutine setDisKolmSCA_WID_D1_RK4(disKolm, sample1, weight1, weisum1, getCDF, order)
3620#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3621 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WID_D1_RK4
3622#endif
3623 use pm_kind, only: RKG => RK4
3624 real(RKG) , intent(in) , contiguous :: sample1(:)
3625 integer(IK) , intent(in) , contiguous :: weight1(:)
3626 integer(IK) , intent(in) :: weisum1
3627 real(RKG) , intent(out) :: disKolm
3628 type(ascending_type), intent(in) :: order
3629 procedure(real(RKG)) :: getCDF
3630 end subroutine
3631#endif
3632
3633#if RK3_ENABLED
3634 module subroutine setDisKolmSCA_WID_D1_RK3(disKolm, sample1, weight1, weisum1, getCDF, order)
3635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3636 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WID_D1_RK3
3637#endif
3638 use pm_kind, only: RKG => RK3
3639 real(RKG) , intent(in) , contiguous :: sample1(:)
3640 integer(IK) , intent(in) , contiguous :: weight1(:)
3641 integer(IK) , intent(in) :: weisum1
3642 real(RKG) , intent(out) :: disKolm
3643 type(ascending_type), intent(in) :: order
3644 procedure(real(RKG)) :: getCDF
3645 end subroutine
3646#endif
3647
3648#if RK2_ENABLED
3649 module subroutine setDisKolmSCA_WID_D1_RK2(disKolm, sample1, weight1, weisum1, getCDF, order)
3650#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3651 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WID_D1_RK2
3652#endif
3653 use pm_kind, only: RKG => RK2
3654 real(RKG) , intent(in) , contiguous :: sample1(:)
3655 integer(IK) , intent(in) , contiguous :: weight1(:)
3656 integer(IK) , intent(in) :: weisum1
3657 real(RKG) , intent(out) :: disKolm
3658 type(ascending_type), intent(in) :: order
3659 procedure(real(RKG)) :: getCDF
3660 end subroutine
3661#endif
3662
3663#if RK1_ENABLED
3664 module subroutine setDisKolmSCA_WID_D1_RK1(disKolm, sample1, weight1, weisum1, getCDF, order)
3665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3666 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WID_D1_RK1
3667#endif
3668 use pm_kind, only: RKG => RK1
3669 real(RKG) , intent(in) , contiguous :: sample1(:)
3670 integer(IK) , intent(in) , contiguous :: weight1(:)
3671 integer(IK) , intent(in) :: weisum1
3672 real(RKG) , intent(out) :: disKolm
3673 type(ascending_type), intent(in) :: order
3674 procedure(real(RKG)) :: getCDF
3675 end subroutine
3676#endif
3677
3678 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3679
3680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3681 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3683
3684 end interface
3685
3686 ! SC*_WRD_D1
3687
3688 interface setDisKolm
3689
3690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3691 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3693
3694 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3695
3696#if RK5_ENABLED
3697 module subroutine setDisKolmSCD_WRD_D1_RK5(disKolm, sample1, weight1, weisum1, getCDF)
3698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3699 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WRD_D1_RK5
3700#endif
3701 use pm_kind, only: RKG => RK5
3702 real(RKG) , intent(inout) , contiguous :: sample1(:)
3703 real(RKG) , intent(inout) , contiguous :: weight1(:)
3704 real(RKG) , intent(in) :: weisum1
3705 real(RKG) , intent(out) :: disKolm
3706 procedure(real(RKG)) :: getCDF
3707 end subroutine
3708#endif
3709
3710#if RK4_ENABLED
3711 module subroutine setDisKolmSCD_WRD_D1_RK4(disKolm, sample1, weight1, weisum1, getCDF)
3712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3713 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WRD_D1_RK4
3714#endif
3715 use pm_kind, only: RKG => RK4
3716 real(RKG) , intent(inout) , contiguous :: sample1(:)
3717 real(RKG) , intent(inout) , contiguous :: weight1(:)
3718 real(RKG) , intent(in) :: weisum1
3719 real(RKG) , intent(out) :: disKolm
3720 procedure(real(RKG)) :: getCDF
3721 end subroutine
3722#endif
3723
3724#if RK3_ENABLED
3725 module subroutine setDisKolmSCD_WRD_D1_RK3(disKolm, sample1, weight1, weisum1, getCDF)
3726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3727 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WRD_D1_RK3
3728#endif
3729 use pm_kind, only: RKG => RK3
3730 real(RKG) , intent(inout) , contiguous :: sample1(:)
3731 real(RKG) , intent(inout) , contiguous :: weight1(:)
3732 real(RKG) , intent(in) :: weisum1
3733 real(RKG) , intent(out) :: disKolm
3734 procedure(real(RKG)) :: getCDF
3735 end subroutine
3736#endif
3737
3738#if RK2_ENABLED
3739 module subroutine setDisKolmSCD_WRD_D1_RK2(disKolm, sample1, weight1, weisum1, getCDF)
3740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3741 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WRD_D1_RK2
3742#endif
3743 use pm_kind, only: RKG => RK2
3744 real(RKG) , intent(inout) , contiguous :: sample1(:)
3745 real(RKG) , intent(inout) , contiguous :: weight1(:)
3746 real(RKG) , intent(in) :: weisum1
3747 real(RKG) , intent(out) :: disKolm
3748 procedure(real(RKG)) :: getCDF
3749 end subroutine
3750#endif
3751
3752#if RK1_ENABLED
3753 module subroutine setDisKolmSCD_WRD_D1_RK1(disKolm, sample1, weight1, weisum1, getCDF)
3754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3755 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCD_WRD_D1_RK1
3756#endif
3757 use pm_kind, only: RKG => RK1
3758 real(RKG) , intent(inout) , contiguous :: sample1(:)
3759 real(RKG) , intent(inout) , contiguous :: weight1(:)
3760 real(RKG) , intent(in) :: weisum1
3761 real(RKG) , intent(out) :: disKolm
3762 procedure(real(RKG)) :: getCDF
3763 end subroutine
3764#endif
3765
3766 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3767
3768 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3771
3772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3773
3774#if RK5_ENABLED
3775 module subroutine setDisKolmSCA_WRD_D1_RK5(disKolm, sample1, weight1, weisum1, getCDF, order)
3776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3777 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WRD_D1_RK5
3778#endif
3779 use pm_kind, only: RKG => RK5
3780 real(RKG) , intent(in) , contiguous :: sample1(:)
3781 real(RKG) , intent(in) , contiguous :: weight1(:)
3782 real(RKG) , intent(in) :: weisum1
3783 real(RKG) , intent(out) :: disKolm
3784 type(ascending_type), intent(in) :: order
3785 procedure(real(RKG)) :: getCDF
3786 end subroutine
3787#endif
3788
3789#if RK4_ENABLED
3790 module subroutine setDisKolmSCA_WRD_D1_RK4(disKolm, sample1, weight1, weisum1, getCDF, order)
3791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3792 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WRD_D1_RK4
3793#endif
3794 use pm_kind, only: RKG => RK4
3795 real(RKG) , intent(in) , contiguous :: sample1(:)
3796 real(RKG) , intent(in) , contiguous :: weight1(:)
3797 real(RKG) , intent(in) :: weisum1
3798 real(RKG) , intent(out) :: disKolm
3799 type(ascending_type), intent(in) :: order
3800 procedure(real(RKG)) :: getCDF
3801 end subroutine
3802#endif
3803
3804#if RK3_ENABLED
3805 module subroutine setDisKolmSCA_WRD_D1_RK3(disKolm, sample1, weight1, weisum1, getCDF, order)
3806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3807 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WRD_D1_RK3
3808#endif
3809 use pm_kind, only: RKG => RK3
3810 real(RKG) , intent(in) , contiguous :: sample1(:)
3811 real(RKG) , intent(in) , contiguous :: weight1(:)
3812 real(RKG) , intent(in) :: weisum1
3813 real(RKG) , intent(out) :: disKolm
3814 type(ascending_type), intent(in) :: order
3815 procedure(real(RKG)) :: getCDF
3816 end subroutine
3817#endif
3818
3819#if RK2_ENABLED
3820 module subroutine setDisKolmSCA_WRD_D1_RK2(disKolm, sample1, weight1, weisum1, getCDF, order)
3821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3822 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WRD_D1_RK2
3823#endif
3824 use pm_kind, only: RKG => RK2
3825 real(RKG) , intent(in) , contiguous :: sample1(:)
3826 real(RKG) , intent(in) , contiguous :: weight1(:)
3827 real(RKG) , intent(in) :: weisum1
3828 real(RKG) , intent(out) :: disKolm
3829 type(ascending_type), intent(in) :: order
3830 procedure(real(RKG)) :: getCDF
3831 end subroutine
3832#endif
3833
3834#if RK1_ENABLED
3835 module subroutine setDisKolmSCA_WRD_D1_RK1(disKolm, sample1, weight1, weisum1, getCDF, order)
3836#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3837 !DEC$ ATTRIBUTES DLLEXPORT :: setDisKolmSCA_WRD_D1_RK1
3838#endif
3839 use pm_kind, only: RKG => RK1
3840 real(RKG) , intent(in) , contiguous :: sample1(:)
3841 real(RKG) , intent(in) , contiguous :: weight1(:)
3842 real(RKG) , intent(in) :: weisum1
3843 real(RKG) , intent(out) :: disKolm
3844 type(ascending_type), intent(in) :: order
3845 procedure(real(RKG)) :: getCDF
3846 end subroutine
3847#endif
3848
3849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3850
3851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3852 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3853 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3854
3855 end interface
3856
3857!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3858
3859end module pm_distanceKolm ! LCOV_EXCL_LINE
Generate and return the Kolmogorov distance of a sample1 of size nsam1 from another sample sample2 of...
Return the Kolmogorov distance of a sample1 of size nsam1 from another sample sample2 of size nsam2 o...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_array.F90:44
type(ascending_type), parameter ascending
This is a scalar parameter object of type ascending_type that is exclusively used to signify the asce...
Definition: pm_array.F90:1155
character(*, SK), parameter MODULE_NAME
Definition: pm_array.F90:50
This module contains classes and procedures for computing the Kolmogorov statistical distance.
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter RK3
Definition: pm_kind.F90:500
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 is a concrete derived type whose instances are exclusively used to signify the ascending sequenc...
Definition: pm_array.F90:1130