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