ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleNorm.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
120
121!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
122
124
125 use pm_kind, only: SK, IK, LK
129
130 implicit none
131
132 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleNorm"
133
134!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
135
153 type :: zscore_type; end type
154 type(zscore_type), parameter :: zscore = zscore_type()
155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
156 !DIR$ ATTRIBUTES DLLEXPORT :: zscore
157#endif
158
159!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
278
279 ! CK ACK
280
281 interface getNormed
282
283 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
284
285#if CK5_ENABLED
286 PURE module function getNormed_ACK_ONO_D1_CK5(sample, shift, scale) result(sampleNormed)
287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
288 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D1_CK5
289#endif
290 use pm_kind, only: CKG => CK5
291 complex(CKG) , intent(in), contiguous :: sample(:)
292 complex(CKG) , intent(in) :: shift
293 complex(CKG) , intent(in) :: scale
294 complex(CKG) :: sampleNormed(size(sample, 1, IK))
295 end function
296#endif
297
298#if CK4_ENABLED
299 PURE module function getNormed_ACK_ONO_D1_CK4(sample, shift, scale) result(sampleNormed)
300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
301 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D1_CK4
302#endif
303 use pm_kind, only: CKG => CK4
304 complex(CKG) , intent(in), contiguous :: sample(:)
305 complex(CKG) , intent(in) :: shift
306 complex(CKG) , intent(in) :: scale
307 complex(CKG) :: sampleNormed(size(sample, 1, IK))
308 end function
309#endif
310
311#if CK3_ENABLED
312 PURE module function getNormed_ACK_ONO_D1_CK3(sample, shift, scale) result(sampleNormed)
313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
314 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D1_CK3
315#endif
316 use pm_kind, only: CKG => CK3
317 complex(CKG) , intent(in), contiguous :: sample(:)
318 complex(CKG) , intent(in) :: shift
319 complex(CKG) , intent(in) :: scale
320 complex(CKG) :: sampleNormed(size(sample, 1, IK))
321 end function
322#endif
323
324#if CK2_ENABLED
325 PURE module function getNormed_ACK_ONO_D1_CK2(sample, shift, scale) result(sampleNormed)
326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
327 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D1_CK2
328#endif
329 use pm_kind, only: CKG => CK2
330 complex(CKG) , intent(in), contiguous :: sample(:)
331 complex(CKG) , intent(in) :: shift
332 complex(CKG) , intent(in) :: scale
333 complex(CKG) :: sampleNormed(size(sample, 1, IK))
334 end function
335#endif
336
337#if CK1_ENABLED
338 PURE module function getNormed_ACK_ONO_D1_CK1(sample, shift, scale) result(sampleNormed)
339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
340 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D1_CK1
341#endif
342 use pm_kind, only: CKG => CK1
343 complex(CKG) , intent(in), contiguous :: sample(:)
344 complex(CKG) , intent(in) :: shift
345 complex(CKG) , intent(in) :: scale
346 complex(CKG) :: sampleNormed(size(sample, 1, IK))
347 end function
348#endif
349
350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351
352#if CK5_ENABLED
353 PURE module function getNormed_ACK_ONO_D2_CK5(sample, dim, shift, scale) result(sampleNormed)
354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
355 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D2_CK5
356#endif
357 use pm_kind, only: CKG => CK5
358 complex(CKG) , intent(in), contiguous :: sample(:,:)
359 complex(CKG) , intent(in), contiguous :: shift(:)
360 complex(CKG) , intent(in), contiguous :: scale(:)
361 integer(IK) , intent(in) :: dim
362 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
363 end function
364#endif
365
366#if CK4_ENABLED
367 PURE module function getNormed_ACK_ONO_D2_CK4(sample, dim, shift, scale) result(sampleNormed)
368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
369 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D2_CK4
370#endif
371 use pm_kind, only: CKG => CK4
372 complex(CKG) , intent(in), contiguous :: sample(:,:)
373 complex(CKG) , intent(in), contiguous :: shift(:)
374 complex(CKG) , intent(in), contiguous :: scale(:)
375 integer(IK) , intent(in) :: dim
376 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
377 end function
378#endif
379
380#if CK3_ENABLED
381 PURE module function getNormed_ACK_ONO_D2_CK3(sample, dim, shift, scale) result(sampleNormed)
382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
383 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D2_CK3
384#endif
385 use pm_kind, only: CKG => CK3
386 complex(CKG) , intent(in), contiguous :: sample(:,:)
387 complex(CKG) , intent(in), contiguous :: shift(:)
388 complex(CKG) , intent(in), contiguous :: scale(:)
389 integer(IK) , intent(in) :: dim
390 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
391 end function
392#endif
393
394#if CK2_ENABLED
395 PURE module function getNormed_ACK_ONO_D2_CK2(sample, dim, shift, scale) result(sampleNormed)
396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
397 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D2_CK2
398#endif
399 use pm_kind, only: CKG => CK2
400 complex(CKG) , intent(in), contiguous :: sample(:,:)
401 complex(CKG) , intent(in), contiguous :: shift(:)
402 complex(CKG) , intent(in), contiguous :: scale(:)
403 integer(IK) , intent(in) :: dim
404 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
405 end function
406#endif
407
408#if CK1_ENABLED
409 PURE module function getNormed_ACK_ONO_D2_CK1(sample, dim, shift, scale) result(sampleNormed)
410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
411 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_ONO_D2_CK1
412#endif
413 use pm_kind, only: CKG => CK1
414 complex(CKG) , intent(in), contiguous :: sample(:,:)
415 complex(CKG) , intent(in), contiguous :: shift(:)
416 complex(CKG) , intent(in), contiguous :: scale(:)
417 integer(IK) , intent(in) :: dim
418 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
419 end function
420#endif
421
422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
423
424#if CK5_ENABLED
425 PURE module function getNormed_ACK_OTH_D2_CK5(sample, dim, shift, scale, operation) result(sampleNormed)
426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
427 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_OTH_D2_CK5
428#endif
429 use pm_kind, only: CKG => CK5
430 complex(CKG) , intent(in), contiguous :: sample(:,:)
431 complex(CKG) , intent(in), contiguous :: shift(:)
432 complex(CKG) , intent(in), contiguous :: scale(:)
433 integer(IK) , intent(in) :: dim
434 type(transHerm_type), intent(in) :: operation
435 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
436 end function
437#endif
438
439#if CK4_ENABLED
440 PURE module function getNormed_ACK_OTH_D2_CK4(sample, dim, shift, scale, operation) result(sampleNormed)
441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
442 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_OTH_D2_CK4
443#endif
444 use pm_kind, only: CKG => CK4
445 complex(CKG) , intent(in), contiguous :: sample(:,:)
446 complex(CKG) , intent(in), contiguous :: shift(:)
447 complex(CKG) , intent(in), contiguous :: scale(:)
448 integer(IK) , intent(in) :: dim
449 type(transHerm_type), intent(in) :: operation
450 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
451 end function
452#endif
453
454#if CK3_ENABLED
455 PURE module function getNormed_ACK_OTH_D2_CK3(sample, dim, shift, scale, operation) result(sampleNormed)
456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
457 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_OTH_D2_CK3
458#endif
459 use pm_kind, only: CKG => CK3
460 complex(CKG) , intent(in), contiguous :: sample(:,:)
461 complex(CKG) , intent(in), contiguous :: shift(:)
462 complex(CKG) , intent(in), contiguous :: scale(:)
463 integer(IK) , intent(in) :: dim
464 type(transHerm_type), intent(in) :: operation
465 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
466 end function
467#endif
468
469#if CK2_ENABLED
470 PURE module function getNormed_ACK_OTH_D2_CK2(sample, dim, shift, scale, operation) result(sampleNormed)
471#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
472 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_OTH_D2_CK2
473#endif
474 use pm_kind, only: CKG => CK2
475 complex(CKG) , intent(in), contiguous :: sample(:,:)
476 complex(CKG) , intent(in), contiguous :: shift(:)
477 complex(CKG) , intent(in), contiguous :: scale(:)
478 integer(IK) , intent(in) :: dim
479 type(transHerm_type), intent(in) :: operation
480 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
481 end function
482#endif
483
484#if CK1_ENABLED
485 PURE module function getNormed_ACK_OTH_D2_CK1(sample, dim, shift, scale, operation) result(sampleNormed)
486#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
487 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ACK_OTH_D2_CK1
488#endif
489 use pm_kind, only: CKG => CK1
490 complex(CKG) , intent(in), contiguous :: sample(:,:)
491 complex(CKG) , intent(in), contiguous :: shift(:)
492 complex(CKG) , intent(in), contiguous :: scale(:)
493 integer(IK) , intent(in) :: dim
494 type(transHerm_type), intent(in) :: operation
495 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
496 end function
497#endif
498
499 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
500
501 end interface getNormed
502
503 ! CK ARK
504
505 interface getNormed
506
507 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
508
509#if CK5_ENABLED
510 PURE module function getNormed_ARK_ONO_D1_CK5(sample, shift, scale) result(sampleNormed)
511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
512 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_CK5
513#endif
514 use pm_kind, only: CKG => CK5
515 complex(CKG) , intent(in), contiguous :: sample(:)
516 complex(CKG) , intent(in) :: shift
517 real(CKG) , intent(in) :: scale
518 complex(CKG) :: sampleNormed(size(sample, 1, IK))
519 end function
520#endif
521
522#if CK4_ENABLED
523 PURE module function getNormed_ARK_ONO_D1_CK4(sample, shift, scale) result(sampleNormed)
524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
525 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_CK4
526#endif
527 use pm_kind, only: CKG => CK4
528 complex(CKG) , intent(in), contiguous :: sample(:)
529 complex(CKG) , intent(in) :: shift
530 real(CKG) , intent(in) :: scale
531 complex(CKG) :: sampleNormed(size(sample, 1, IK))
532 end function
533#endif
534
535#if CK3_ENABLED
536 PURE module function getNormed_ARK_ONO_D1_CK3(sample, shift, scale) result(sampleNormed)
537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_CK3
539#endif
540 use pm_kind, only: CKG => CK3
541 complex(CKG) , intent(in), contiguous :: sample(:)
542 complex(CKG) , intent(in) :: shift
543 real(CKG) , intent(in) :: scale
544 complex(CKG) :: sampleNormed(size(sample, 1, IK))
545 end function
546#endif
547
548#if CK2_ENABLED
549 PURE module function getNormed_ARK_ONO_D1_CK2(sample, shift, scale) result(sampleNormed)
550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
551 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_CK2
552#endif
553 use pm_kind, only: CKG => CK2
554 complex(CKG) , intent(in), contiguous :: sample(:)
555 complex(CKG) , intent(in) :: shift
556 real(CKG) , intent(in) :: scale
557 complex(CKG) :: sampleNormed(size(sample, 1, IK))
558 end function
559#endif
560
561#if CK1_ENABLED
562 PURE module function getNormed_ARK_ONO_D1_CK1(sample, shift, scale) result(sampleNormed)
563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
564 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_CK1
565#endif
566 use pm_kind, only: CKG => CK1
567 complex(CKG) , intent(in), contiguous :: sample(:)
568 complex(CKG) , intent(in) :: shift
569 real(CKG) , intent(in) :: scale
570 complex(CKG) :: sampleNormed(size(sample, 1, IK))
571 end function
572#endif
573
574 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
575
576#if CK5_ENABLED
577 PURE module function getNormed_ARK_ONO_D2_CK5(sample, dim, shift, scale) result(sampleNormed)
578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
579 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_CK5
580#endif
581 use pm_kind, only: CKG => CK5
582 complex(CKG) , intent(in), contiguous :: sample(:,:)
583 complex(CKG) , intent(in), contiguous :: shift(:)
584 real(CKG) , intent(in), contiguous :: scale(:)
585 integer(IK) , intent(in) :: dim
586 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
587 end function
588#endif
589
590#if CK4_ENABLED
591 PURE module function getNormed_ARK_ONO_D2_CK4(sample, dim, shift, scale) result(sampleNormed)
592#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
593 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_CK4
594#endif
595 use pm_kind, only: CKG => CK4
596 complex(CKG) , intent(in), contiguous :: sample(:,:)
597 complex(CKG) , intent(in), contiguous :: shift(:)
598 real(CKG) , intent(in), contiguous :: scale(:)
599 integer(IK) , intent(in) :: dim
600 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
601 end function
602#endif
603
604#if CK3_ENABLED
605 PURE module function getNormed_ARK_ONO_D2_CK3(sample, dim, shift, scale) result(sampleNormed)
606#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
607 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_CK3
608#endif
609 use pm_kind, only: CKG => CK3
610 complex(CKG) , intent(in), contiguous :: sample(:,:)
611 complex(CKG) , intent(in), contiguous :: shift(:)
612 real(CKG) , intent(in), contiguous :: scale(:)
613 integer(IK) , intent(in) :: dim
614 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
615 end function
616#endif
617
618#if CK2_ENABLED
619 PURE module function getNormed_ARK_ONO_D2_CK2(sample, dim, shift, scale) result(sampleNormed)
620#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
621 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_CK2
622#endif
623 use pm_kind, only: CKG => CK2
624 complex(CKG) , intent(in), contiguous :: sample(:,:)
625 complex(CKG) , intent(in), contiguous :: shift(:)
626 real(CKG) , intent(in), contiguous :: scale(:)
627 integer(IK) , intent(in) :: dim
628 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
629 end function
630#endif
631
632#if CK1_ENABLED
633 PURE module function getNormed_ARK_ONO_D2_CK1(sample, dim, shift, scale) result(sampleNormed)
634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
635 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_CK1
636#endif
637 use pm_kind, only: CKG => CK1
638 complex(CKG) , intent(in), contiguous :: sample(:,:)
639 complex(CKG) , intent(in), contiguous :: shift(:)
640 real(CKG) , intent(in), contiguous :: scale(:)
641 integer(IK) , intent(in) :: dim
642 complex(CKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
643 end function
644#endif
645
646 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
647
648#if CK5_ENABLED
649 PURE module function getNormed_ARK_OTH_D2_CK5(sample, dim, shift, scale, operation) result(sampleNormed)
650#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
651 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_CK5
652#endif
653 use pm_kind, only: CKG => CK5
654 complex(CKG) , intent(in), contiguous :: sample(:,:)
655 complex(CKG) , intent(in), contiguous :: shift(:)
656 real(CKG) , intent(in), contiguous :: scale(:)
657 integer(IK) , intent(in) :: dim
658 type(transHerm_type), intent(in) :: operation
659 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
660 end function
661#endif
662
663#if CK4_ENABLED
664 PURE module function getNormed_ARK_OTH_D2_CK4(sample, dim, shift, scale, operation) result(sampleNormed)
665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
666 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_CK4
667#endif
668 use pm_kind, only: CKG => CK4
669 complex(CKG) , intent(in), contiguous :: sample(:,:)
670 complex(CKG) , intent(in), contiguous :: shift(:)
671 real(CKG) , intent(in), contiguous :: scale(:)
672 integer(IK) , intent(in) :: dim
673 type(transHerm_type), intent(in) :: operation
674 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
675 end function
676#endif
677
678#if CK3_ENABLED
679 PURE module function getNormed_ARK_OTH_D2_CK3(sample, dim, shift, scale, operation) result(sampleNormed)
680#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
681 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_CK3
682#endif
683 use pm_kind, only: CKG => CK3
684 complex(CKG) , intent(in), contiguous :: sample(:,:)
685 complex(CKG) , intent(in), contiguous :: shift(:)
686 real(CKG) , intent(in), contiguous :: scale(:)
687 integer(IK) , intent(in) :: dim
688 type(transHerm_type), intent(in) :: operation
689 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
690 end function
691#endif
692
693#if CK2_ENABLED
694 PURE module function getNormed_ARK_OTH_D2_CK2(sample, dim, shift, scale, operation) result(sampleNormed)
695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
696 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_CK2
697#endif
698 use pm_kind, only: CKG => CK2
699 complex(CKG) , intent(in), contiguous :: sample(:,:)
700 complex(CKG) , intent(in), contiguous :: shift(:)
701 real(CKG) , intent(in), contiguous :: scale(:)
702 integer(IK) , intent(in) :: dim
703 type(transHerm_type), intent(in) :: operation
704 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
705 end function
706#endif
707
708#if CK1_ENABLED
709 PURE module function getNormed_ARK_OTH_D2_CK1(sample, dim, shift, scale, operation) result(sampleNormed)
710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
711 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_CK1
712#endif
713 use pm_kind, only: CKG => CK1
714 complex(CKG) , intent(in), contiguous :: sample(:,:)
715 complex(CKG) , intent(in), contiguous :: shift(:)
716 real(CKG) , intent(in), contiguous :: scale(:)
717 integer(IK) , intent(in) :: dim
718 type(transHerm_type), intent(in) :: operation
719 complex(CKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
720 end function
721#endif
722
723 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
724
725 end interface getNormed
726
727 ! RK ARK
728
729 interface getNormed
730
731 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
732
733#if RK5_ENABLED
734 PURE module function getNormed_ARK_ONO_D1_RK5(sample, shift, scale) result(sampleNormed)
735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
736 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_RK5
737#endif
738 use pm_kind, only: RKG => RK5
739 real(RKG) , intent(in), contiguous :: sample(:)
740 real(RKG) , intent(in) :: shift
741 real(RKG) , intent(in) :: scale
742 real(RKG) :: sampleNormed(size(sample, 1, IK))
743 end function
744#endif
745
746#if RK4_ENABLED
747 PURE module function getNormed_ARK_ONO_D1_RK4(sample, shift, scale) result(sampleNormed)
748#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
749 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_RK4
750#endif
751 use pm_kind, only: RKG => RK4
752 real(RKG) , intent(in), contiguous :: sample(:)
753 real(RKG) , intent(in) :: shift
754 real(RKG) , intent(in) :: scale
755 real(RKG) :: sampleNormed(size(sample, 1, IK))
756 end function
757#endif
758
759#if RK3_ENABLED
760 PURE module function getNormed_ARK_ONO_D1_RK3(sample, shift, scale) result(sampleNormed)
761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
762 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_RK3
763#endif
764 use pm_kind, only: RKG => RK3
765 real(RKG) , intent(in), contiguous :: sample(:)
766 real(RKG) , intent(in) :: shift
767 real(RKG) , intent(in) :: scale
768 real(RKG) :: sampleNormed(size(sample, 1, IK))
769 end function
770#endif
771
772#if RK2_ENABLED
773 PURE module function getNormed_ARK_ONO_D1_RK2(sample, shift, scale) result(sampleNormed)
774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
775 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_RK2
776#endif
777 use pm_kind, only: RKG => RK2
778 real(RKG) , intent(in), contiguous :: sample(:)
779 real(RKG) , intent(in) :: shift
780 real(RKG) , intent(in) :: scale
781 real(RKG) :: sampleNormed(size(sample, 1, IK))
782 end function
783#endif
784
785#if RK1_ENABLED
786 PURE module function getNormed_ARK_ONO_D1_RK1(sample, shift, scale) result(sampleNormed)
787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
788 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D1_RK1
789#endif
790 use pm_kind, only: RKG => RK1
791 real(RKG) , intent(in), contiguous :: sample(:)
792 real(RKG) , intent(in) :: shift
793 real(RKG) , intent(in) :: scale
794 real(RKG) :: sampleNormed(size(sample, 1, IK))
795 end function
796#endif
797
798 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
799
800#if RK5_ENABLED
801 PURE module function getNormed_ARK_ONO_D2_RK5(sample, dim, shift, scale) result(sampleNormed)
802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
803 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_RK5
804#endif
805 use pm_kind, only: RKG => RK5
806 real(RKG) , intent(in), contiguous :: sample(:,:)
807 real(RKG) , intent(in), contiguous :: shift(:)
808 real(RKG) , intent(in), contiguous :: scale(:)
809 integer(IK) , intent(in) :: dim
810 real(RKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
811 end function
812#endif
813
814#if RK4_ENABLED
815 PURE module function getNormed_ARK_ONO_D2_RK4(sample, dim, shift, scale) result(sampleNormed)
816#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
817 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_RK4
818#endif
819 use pm_kind, only: RKG => RK4
820 real(RKG) , intent(in), contiguous :: sample(:,:)
821 real(RKG) , intent(in), contiguous :: shift(:)
822 real(RKG) , intent(in), contiguous :: scale(:)
823 integer(IK) , intent(in) :: dim
824 real(RKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
825 end function
826#endif
827
828#if RK3_ENABLED
829 PURE module function getNormed_ARK_ONO_D2_RK3(sample, dim, shift, scale) result(sampleNormed)
830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
831 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_RK3
832#endif
833 use pm_kind, only: RKG => RK3
834 real(RKG) , intent(in), contiguous :: sample(:,:)
835 real(RKG) , intent(in), contiguous :: shift(:)
836 real(RKG) , intent(in), contiguous :: scale(:)
837 integer(IK) , intent(in) :: dim
838 real(RKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
839 end function
840#endif
841
842#if RK2_ENABLED
843 PURE module function getNormed_ARK_ONO_D2_RK2(sample, dim, shift, scale) result(sampleNormed)
844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
845 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_RK2
846#endif
847 use pm_kind, only: RKG => RK2
848 real(RKG) , intent(in), contiguous :: sample(:,:)
849 real(RKG) , intent(in), contiguous :: shift(:)
850 real(RKG) , intent(in), contiguous :: scale(:)
851 integer(IK) , intent(in) :: dim
852 real(RKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
853 end function
854#endif
855
856#if RK1_ENABLED
857 PURE module function getNormed_ARK_ONO_D2_RK1(sample, dim, shift, scale) result(sampleNormed)
858#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
859 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_ONO_D2_RK1
860#endif
861 use pm_kind, only: RKG => RK1
862 real(RKG) , intent(in), contiguous :: sample(:,:)
863 real(RKG) , intent(in), contiguous :: shift(:)
864 real(RKG) , intent(in), contiguous :: scale(:)
865 integer(IK) , intent(in) :: dim
866 real(RKG) :: sampleNormed(size(sample, 1, IK), size(sample, 2, IK))
867 end function
868#endif
869
870 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
871
872#if RK5_ENABLED
873 PURE module function getNormed_ARK_OTH_D2_RK5(sample, dim, shift, scale, operation) result(sampleNormed)
874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
875 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_RK5
876#endif
877 use pm_kind, only: RKG => RK5
878 real(RKG) , intent(in), contiguous :: sample(:,:)
879 real(RKG) , intent(in), contiguous :: shift(:)
880 real(RKG) , intent(in), contiguous :: scale(:)
881 integer(IK) , intent(in) :: dim
882 type(transHerm_type), intent(in) :: operation
883 real(RKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
884 end function
885#endif
886
887#if RK4_ENABLED
888 PURE module function getNormed_ARK_OTH_D2_RK4(sample, dim, shift, scale, operation) result(sampleNormed)
889#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
890 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_RK4
891#endif
892 use pm_kind, only: RKG => RK4
893 real(RKG) , intent(in), contiguous :: sample(:,:)
894 real(RKG) , intent(in), contiguous :: shift(:)
895 real(RKG) , intent(in), contiguous :: scale(:)
896 integer(IK) , intent(in) :: dim
897 type(transHerm_type), intent(in) :: operation
898 real(RKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
899 end function
900#endif
901
902#if RK3_ENABLED
903 PURE module function getNormed_ARK_OTH_D2_RK3(sample, dim, shift, scale, operation) result(sampleNormed)
904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
905 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_RK3
906#endif
907 use pm_kind, only: RKG => RK3
908 real(RKG) , intent(in), contiguous :: sample(:,:)
909 real(RKG) , intent(in), contiguous :: shift(:)
910 real(RKG) , intent(in), contiguous :: scale(:)
911 integer(IK) , intent(in) :: dim
912 type(transHerm_type), intent(in) :: operation
913 real(RKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
914 end function
915#endif
916
917#if RK2_ENABLED
918 PURE module function getNormed_ARK_OTH_D2_RK2(sample, dim, shift, scale, operation) result(sampleNormed)
919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
920 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_RK2
921#endif
922 use pm_kind, only: RKG => RK2
923 real(RKG) , intent(in), contiguous :: sample(:,:)
924 real(RKG) , intent(in), contiguous :: shift(:)
925 real(RKG) , intent(in), contiguous :: scale(:)
926 integer(IK) , intent(in) :: dim
927 type(transHerm_type), intent(in) :: operation
928 real(RKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
929 end function
930#endif
931
932#if RK1_ENABLED
933 PURE module function getNormed_ARK_OTH_D2_RK1(sample, dim, shift, scale, operation) result(sampleNormed)
934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
935 !DEC$ ATTRIBUTES DLLEXPORT :: getNormed_ARK_OTH_D2_RK1
936#endif
937 use pm_kind, only: RKG => RK1
938 real(RKG) , intent(in), contiguous :: sample(:,:)
939 real(RKG) , intent(in), contiguous :: shift(:)
940 real(RKG) , intent(in), contiguous :: scale(:)
941 integer(IK) , intent(in) :: dim
942 type(transHerm_type), intent(in) :: operation
943 real(RKG) :: sampleNormed(size(sample, 2, IK), size(sample, 1, IK))
944 end function
945#endif
946
947 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
948
949 end interface getNormed
950
951!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
952
1056
1057 ! CK ACK
1058
1059 interface setNormed
1060
1061 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1062
1063#if CK5_ENABLED
1064 PURE module subroutine setNormed_ACK_D1_CK5(sample, shift, scale)
1065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1066 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D1_CK5
1067#endif
1068 use pm_kind, only: CKG => CK4
1069 complex(CKG) , intent(inout) , contiguous :: sample(:)
1070 complex(CKG) , intent(in) :: shift
1071 complex(CKG) , intent(in) :: scale
1072 end subroutine
1073#endif
1074
1075#if CK4_ENABLED
1076 PURE module subroutine setNormed_ACK_D1_CK4(sample, shift, scale)
1077#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1078 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D1_CK4
1079#endif
1080 use pm_kind, only: CKG => CK4
1081 complex(CKG) , intent(inout) , contiguous :: sample(:)
1082 complex(CKG) , intent(in) :: shift
1083 complex(CKG) , intent(in) :: scale
1084 end subroutine
1085#endif
1086
1087#if CK3_ENABLED
1088 PURE module subroutine setNormed_ACK_D1_CK3(sample, shift, scale)
1089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1090 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D1_CK3
1091#endif
1092 use pm_kind, only: CKG => CK3
1093 complex(CKG) , intent(inout) , contiguous :: sample(:)
1094 complex(CKG) , intent(in) :: shift
1095 complex(CKG) , intent(in) :: scale
1096 end subroutine
1097#endif
1098
1099#if CK2_ENABLED
1100 PURE module subroutine setNormed_ACK_D1_CK2(sample, shift, scale)
1101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1102 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D1_CK2
1103#endif
1104 use pm_kind, only: CKG => CK2
1105 complex(CKG) , intent(inout) , contiguous :: sample(:)
1106 complex(CKG) , intent(in) :: shift
1107 complex(CKG) , intent(in) :: scale
1108 end subroutine
1109#endif
1110
1111#if CK1_ENABLED
1112 PURE module subroutine setNormed_ACK_D1_CK1(sample, shift, scale)
1113#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1114 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D1_CK1
1115#endif
1116 use pm_kind, only: CKG => CK1
1117 complex(CKG) , intent(inout) , contiguous :: sample(:)
1118 complex(CKG) , intent(in) :: shift
1119 complex(CKG) , intent(in) :: scale
1120 end subroutine
1121#endif
1122
1123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1124
1125#if CK5_ENABLED
1126 PURE module subroutine setNormed_ACK_D2_CK5(sample, dim, shift, scale)
1127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1128 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D2_CK5
1129#endif
1130 use pm_kind, only: CKG => CK5
1131 integer(IK) , intent(in) :: dim
1132 complex(CKG) , intent(in) , contiguous :: scale(:)
1133 complex(CKG) , intent(in) , contiguous :: shift(:)
1134 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1135 end subroutine
1136#endif
1137
1138#if CK4_ENABLED
1139 PURE module subroutine setNormed_ACK_D2_CK4(sample, dim, shift, scale)
1140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1141 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D2_CK4
1142#endif
1143 use pm_kind, only: CKG => CK4
1144 integer(IK) , intent(in) :: dim
1145 complex(CKG) , intent(in) , contiguous :: scale(:)
1146 complex(CKG) , intent(in) , contiguous :: shift(:)
1147 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1148 end subroutine
1149#endif
1150
1151#if CK3_ENABLED
1152 PURE module subroutine setNormed_ACK_D2_CK3(sample, dim, shift, scale)
1153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1154 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D2_CK3
1155#endif
1156 use pm_kind, only: CKG => CK3
1157 integer(IK) , intent(in) :: dim
1158 complex(CKG) , intent(in) , contiguous :: scale(:)
1159 complex(CKG) , intent(in) , contiguous :: shift(:)
1160 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1161 end subroutine
1162#endif
1163
1164#if CK2_ENABLED
1165 PURE module subroutine setNormed_ACK_D2_CK2(sample, dim, shift, scale)
1166#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1167 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D2_CK2
1168#endif
1169 use pm_kind, only: CKG => CK2
1170 integer(IK) , intent(in) :: dim
1171 complex(CKG) , intent(in) , contiguous :: scale(:)
1172 complex(CKG) , intent(in) , contiguous :: shift(:)
1173 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1174 end subroutine
1175#endif
1176
1177#if CK1_ENABLED
1178 PURE module subroutine setNormed_ACK_D2_CK1(sample, dim, shift, scale)
1179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1180 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ACK_D2_CK1
1181#endif
1182 use pm_kind, only: CKG => CK1
1183 integer(IK) , intent(in) :: dim
1184 complex(CKG) , intent(in) , contiguous :: scale(:)
1185 complex(CKG) , intent(in) , contiguous :: shift(:)
1186 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1187 end subroutine
1188#endif
1189
1190 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1191
1192 end interface setNormed
1193
1194 ! CK ARK
1195
1196 interface setNormed
1197
1198 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1199
1200#if CK5_ENABLED
1201 PURE module subroutine setNormed_ARK_D1_CK5(sample, shift, scale)
1202#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1203 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_CK5
1204#endif
1205 use pm_kind, only: CKG => CK4
1206 complex(CKG) , intent(inout) , contiguous :: sample(:)
1207 complex(CKG) , intent(in) :: shift
1208 real(CKG) , intent(in) :: scale
1209 end subroutine
1210#endif
1211
1212#if CK4_ENABLED
1213 PURE module subroutine setNormed_ARK_D1_CK4(sample, shift, scale)
1214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1215 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_CK4
1216#endif
1217 use pm_kind, only: CKG => CK4
1218 complex(CKG) , intent(inout) , contiguous :: sample(:)
1219 complex(CKG) , intent(in) :: shift
1220 real(CKG) , intent(in) :: scale
1221 end subroutine
1222#endif
1223
1224#if CK3_ENABLED
1225 PURE module subroutine setNormed_ARK_D1_CK3(sample, shift, scale)
1226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1227 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_CK3
1228#endif
1229 use pm_kind, only: CKG => CK3
1230 complex(CKG) , intent(inout) , contiguous :: sample(:)
1231 complex(CKG) , intent(in) :: shift
1232 real(CKG) , intent(in) :: scale
1233 end subroutine
1234#endif
1235
1236#if CK2_ENABLED
1237 PURE module subroutine setNormed_ARK_D1_CK2(sample, shift, scale)
1238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1239 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_CK2
1240#endif
1241 use pm_kind, only: CKG => CK2
1242 complex(CKG) , intent(inout) , contiguous :: sample(:)
1243 complex(CKG) , intent(in) :: shift
1244 real(CKG) , intent(in) :: scale
1245 end subroutine
1246#endif
1247
1248#if CK1_ENABLED
1249 PURE module subroutine setNormed_ARK_D1_CK1(sample, shift, scale)
1250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1251 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_CK1
1252#endif
1253 use pm_kind, only: CKG => CK1
1254 complex(CKG) , intent(inout) , contiguous :: sample(:)
1255 complex(CKG) , intent(in) :: shift
1256 real(CKG) , intent(in) :: scale
1257 end subroutine
1258#endif
1259
1260 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1261
1262#if CK5_ENABLED
1263 PURE module subroutine setNormed_ARK_D2_CK5(sample, dim, shift, scale)
1264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1265 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_CK5
1266#endif
1267 use pm_kind, only: CKG => CK5
1268 integer(IK) , intent(in) :: dim
1269 real(CKG) , intent(in) , contiguous :: scale(:)
1270 complex(CKG) , intent(in) , contiguous :: shift(:)
1271 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1272 end subroutine
1273#endif
1274
1275#if CK4_ENABLED
1276 PURE module subroutine setNormed_ARK_D2_CK4(sample, dim, shift, scale)
1277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1278 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_CK4
1279#endif
1280 use pm_kind, only: CKG => CK4
1281 integer(IK) , intent(in) :: dim
1282 real(CKG) , intent(in) , contiguous :: scale(:)
1283 complex(CKG) , intent(in) , contiguous :: shift(:)
1284 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1285 end subroutine
1286#endif
1287
1288#if CK3_ENABLED
1289 PURE module subroutine setNormed_ARK_D2_CK3(sample, dim, shift, scale)
1290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1291 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_CK3
1292#endif
1293 use pm_kind, only: CKG => CK3
1294 integer(IK) , intent(in) :: dim
1295 real(CKG) , intent(in) , contiguous :: scale(:)
1296 complex(CKG) , intent(in) , contiguous :: shift(:)
1297 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1298 end subroutine
1299#endif
1300
1301#if CK2_ENABLED
1302 PURE module subroutine setNormed_ARK_D2_CK2(sample, dim, shift, scale)
1303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1304 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_CK2
1305#endif
1306 use pm_kind, only: CKG => CK2
1307 integer(IK) , intent(in) :: dim
1308 real(CKG) , intent(in) , contiguous :: scale(:)
1309 complex(CKG) , intent(in) , contiguous :: shift(:)
1310 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1311 end subroutine
1312#endif
1313
1314#if CK1_ENABLED
1315 PURE module subroutine setNormed_ARK_D2_CK1(sample, dim, shift, scale)
1316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1317 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_CK1
1318#endif
1319 use pm_kind, only: CKG => CK1
1320 integer(IK) , intent(in) :: dim
1321 real(CKG) , intent(in) , contiguous :: scale(:)
1322 complex(CKG) , intent(in) , contiguous :: shift(:)
1323 complex(CKG) , intent(inout) , contiguous :: sample(:,:)
1324 end subroutine
1325#endif
1326
1327 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1328
1329 end interface setNormed
1330
1331 ! RK ARK
1332
1333 interface setNormed
1334
1335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1336
1337#if RK5_ENABLED
1338 PURE module subroutine setNormed_ARK_D1_RK5(sample, shift, scale)
1339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1340 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_RK5
1341#endif
1342 use pm_kind, only: RKG => RK4
1343 real(RKG) , intent(inout) , contiguous :: sample(:)
1344 real(RKG) , intent(in) :: shift
1345 real(RKG) , intent(in) :: scale
1346 end subroutine
1347#endif
1348
1349#if RK4_ENABLED
1350 PURE module subroutine setNormed_ARK_D1_RK4(sample, shift, scale)
1351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1352 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_RK4
1353#endif
1354 use pm_kind, only: RKG => RK4
1355 real(RKG) , intent(inout) , contiguous :: sample(:)
1356 real(RKG) , intent(in) :: shift
1357 real(RKG) , intent(in) :: scale
1358 end subroutine
1359#endif
1360
1361#if RK3_ENABLED
1362 PURE module subroutine setNormed_ARK_D1_RK3(sample, shift, scale)
1363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1364 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_RK3
1365#endif
1366 use pm_kind, only: RKG => RK3
1367 real(RKG) , intent(inout) , contiguous :: sample(:)
1368 real(RKG) , intent(in) :: shift
1369 real(RKG) , intent(in) :: scale
1370 end subroutine
1371#endif
1372
1373#if RK2_ENABLED
1374 PURE module subroutine setNormed_ARK_D1_RK2(sample, shift, scale)
1375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1376 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_RK2
1377#endif
1378 use pm_kind, only: RKG => RK2
1379 real(RKG) , intent(inout) , contiguous :: sample(:)
1380 real(RKG) , intent(in) :: shift
1381 real(RKG) , intent(in) :: scale
1382 end subroutine
1383#endif
1384
1385#if RK1_ENABLED
1386 PURE module subroutine setNormed_ARK_D1_RK1(sample, shift, scale)
1387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1388 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D1_RK1
1389#endif
1390 use pm_kind, only: RKG => RK1
1391 real(RKG) , intent(inout) , contiguous :: sample(:)
1392 real(RKG) , intent(in) :: shift
1393 real(RKG) , intent(in) :: scale
1394 end subroutine
1395#endif
1396
1397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1398
1399#if RK5_ENABLED
1400 PURE module subroutine setNormed_ARK_D2_RK5(sample, dim, shift, scale)
1401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1402 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_RK5
1403#endif
1404 use pm_kind, only: RKG => RK5
1405 integer(IK) , intent(in) :: dim
1406 real(RKG) , intent(in) , contiguous :: shift(:)
1407 real(RKG) , intent(in) , contiguous :: scale(:)
1408 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1409 end subroutine
1410#endif
1411
1412#if RK4_ENABLED
1413 PURE module subroutine setNormed_ARK_D2_RK4(sample, dim, shift, scale)
1414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1415 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_RK4
1416#endif
1417 use pm_kind, only: RKG => RK4
1418 integer(IK) , intent(in) :: dim
1419 real(RKG) , intent(in) , contiguous :: shift(:)
1420 real(RKG) , intent(in) , contiguous :: scale(:)
1421 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1422 end subroutine
1423#endif
1424
1425#if RK3_ENABLED
1426 PURE module subroutine setNormed_ARK_D2_RK3(sample, dim, shift, scale)
1427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1428 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_RK3
1429#endif
1430 use pm_kind, only: RKG => RK3
1431 integer(IK) , intent(in) :: dim
1432 real(RKG) , intent(in) , contiguous :: shift(:)
1433 real(RKG) , intent(in) , contiguous :: scale(:)
1434 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1435 end subroutine
1436#endif
1437
1438#if RK2_ENABLED
1439 PURE module subroutine setNormed_ARK_D2_RK2(sample, dim, shift, scale)
1440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1441 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_RK2
1442#endif
1443 use pm_kind, only: RKG => RK2
1444 integer(IK) , intent(in) :: dim
1445 real(RKG) , intent(in) , contiguous :: shift(:)
1446 real(RKG) , intent(in) , contiguous :: scale(:)
1447 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1448 end subroutine
1449#endif
1450
1451#if RK1_ENABLED
1452 PURE module subroutine setNormed_ARK_D2_RK1(sample, dim, shift, scale)
1453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1454 !DEC$ ATTRIBUTES DLLEXPORT :: setNormed_ARK_D2_RK1
1455#endif
1456 use pm_kind, only: RKG => RK1
1457 integer(IK) , intent(in) :: dim
1458 real(RKG) , intent(in) , contiguous :: shift(:)
1459 real(RKG) , intent(in) , contiguous :: scale(:)
1460 real(RKG) , intent(inout) , contiguous :: sample(:,:)
1461 end subroutine
1462#endif
1463
1464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465
1466 end interface setNormed
1467
1468!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1469
1470end module pm_sampleNorm ! LCOV_EXCL_LINE
Generate a sample of shape (nsam), or (ndim, nsam) or (nsam, ndim) that is normalized by the specifie...
Return a sample of shape (nsam), or (ndim, nsam) or (nsam, ndim) that is normalized by the specified ...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains abstract and concrete derived types and procedures related to various common mat...
character(*, SK), parameter MODULE_NAME
type(transHerm_type), parameter transHerm
This is a scalar parameter object of type transHerm_type that is exclusively used to request Hermitia...
This module contains classes and procedures for normalizing univariate or multivariate samples by arb...
type(zscore_type), parameter zscore
This module contains classes and procedures for scaling (i.e., multiplying) univariate or multivariat...
type(stdscale_type), parameter stdscale
This module contains classes and procedures for shifting univariate or multivariate samples by arbitr...
type(meanshift_type), parameter meanshift
This is a concrete derived type whose instances are exclusively used to request Hermitian (conjugate)...
This is the derived type whose instances are meant to signify a sample shifting by an amount equal to...
This is the derived type whose instances are meant to signify a sample scaling by an amount equal to ...
This is the derived type whose instances are meant to signify a sample shifting by an amount equal to...