ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_polation.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
139
140!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
141
143
144 use pm_kind, only: SK, IK, LK, RK
145
146 implicit none
147
148 character(*, SK), parameter :: MODULE_NAME = "@pm_polation"
149
180 type :: neimean_type; end type
181 type(neimean_type), parameter :: neimean = neimean_type()
182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
183 !DIR$ ATTRIBUTES DLLEXPORT :: neimean
184#endif
185
216 type :: neinear_type; end type
217 type(neinear_type), parameter :: neinear = neinear_type()
218#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
219 !DIR$ ATTRIBUTES DLLEXPORT :: neinear
220#endif
221
252 type :: neinext_type; end type
253 type(neinext_type), parameter :: neinext = neinext_type()
254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
255 !DIR$ ATTRIBUTES DLLEXPORT :: neinext
256#endif
257
288 type :: neiprev_type; end type
289 type(neiprev_type), parameter :: neiprev = neiprev_type()
290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
291 !DIR$ ATTRIBUTES DLLEXPORT :: neiprev
292#endif
293
323 type :: piwilin_type; end type
324 type(piwilin_type), parameter :: piwilin = piwilin_type()
325#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
326 !DIR$ ATTRIBUTES DLLEXPORT :: piwilin
327#endif
328
358 type :: monopol_type; end type
359 type(monopol_type), parameter :: monopol = monopol_type()
360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
361 !DIR$ ATTRIBUTES DLLEXPORT :: monopol
362#endif
363
389 integer(IK) :: degree
390 end type
391
392!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393
489
490 ! monopol MNPLD
491
492 interface getInterp
493
494 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
495
496#if RK5_ENABLED
497 PURE module function getInterpMNPLD_ND1_QD0_RK5(method, crdx, func, queryx) result(interp)
498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
499 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD0_RK5
500#endif
501 use pm_kind, only: RKG => RK5
502 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
503 real(RKG) , intent(in) :: queryx
504 real(RKG) :: interp
505 type(monopol_type) , intent(in) :: method
506 end function
507#endif
508
509#if RK4_ENABLED
510 PURE module function getInterpMNPLD_ND1_QD0_RK4(method, crdx, func, queryx) result(interp)
511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
512 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD0_RK4
513#endif
514 use pm_kind, only: RKG => RK4
515 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
516 real(RKG) , intent(in) :: queryx
517 real(RKG) :: interp
518 type(monopol_type) , intent(in) :: method
519 end function
520#endif
521
522#if RK3_ENABLED
523 PURE module function getInterpMNPLD_ND1_QD0_RK3(method, crdx, func, queryx) result(interp)
524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
525 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD0_RK3
526#endif
527 use pm_kind, only: RKG => RK3
528 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
529 real(RKG) , intent(in) :: queryx
530 real(RKG) :: interp
531 type(monopol_type) , intent(in) :: method
532 end function
533#endif
534
535#if RK2_ENABLED
536 PURE module function getInterpMNPLD_ND1_QD0_RK2(method, crdx, func, queryx) result(interp)
537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
538 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD0_RK2
539#endif
540 use pm_kind, only: RKG => RK2
541 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
542 real(RKG) , intent(in) :: queryx
543 real(RKG) :: interp
544 type(monopol_type) , intent(in) :: method
545 end function
546#endif
547
548#if RK1_ENABLED
549 PURE module function getInterpMNPLD_ND1_QD0_RK1(method, crdx, func, queryx) result(interp)
550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
551 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD0_RK1
552#endif
553 use pm_kind, only: RKG => RK1
554 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
555 real(RKG) , intent(in) :: queryx
556 real(RKG) :: interp
557 type(monopol_type) , intent(in) :: method
558 end function
559#endif
560
561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
562
563#if RK5_ENABLED
564 PURE module function getInterpMNPLD_ND1_QD1_RK5(method, crdx, func, queryx) result(interp)
565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
566 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD1_RK5
567#endif
568 use pm_kind, only: RKG => RK5
569 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
570 real(RKG) , intent(in) , contiguous :: queryx(:)
571 real(RKG) :: interp(size(queryx, 1, IK))
572 type(monopol_type) , intent(in) :: method
573 end function
574#endif
575
576#if RK4_ENABLED
577 PURE module function getInterpMNPLD_ND1_QD1_RK4(method, crdx, func, queryx) result(interp)
578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
579 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD1_RK4
580#endif
581 use pm_kind, only: RKG => RK4
582 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
583 real(RKG) , intent(in) , contiguous :: queryx(:)
584 real(RKG) :: interp(size(queryx, 1, IK))
585 type(monopol_type) , intent(in) :: method
586 end function
587#endif
588
589#if RK3_ENABLED
590 PURE module function getInterpMNPLD_ND1_QD1_RK3(method, crdx, func, queryx) result(interp)
591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
592 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD1_RK3
593#endif
594 use pm_kind, only: RKG => RK3
595 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
596 real(RKG) , intent(in) , contiguous :: queryx(:)
597 real(RKG) :: interp(size(queryx, 1, IK))
598 type(monopol_type) , intent(in) :: method
599 end function
600#endif
601
602#if RK2_ENABLED
603 PURE module function getInterpMNPLD_ND1_QD1_RK2(method, crdx, func, queryx) result(interp)
604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
605 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD1_RK2
606#endif
607 use pm_kind, only: RKG => RK2
608 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
609 real(RKG) , intent(in) , contiguous :: queryx(:)
610 real(RKG) :: interp(size(queryx, 1, IK))
611 type(monopol_type) , intent(in) :: method
612 end function
613#endif
614
615#if RK1_ENABLED
616 PURE module function getInterpMNPLD_ND1_QD1_RK1(method, crdx, func, queryx) result(interp)
617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
618 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMNPLD_ND1_QD1_RK1
619#endif
620 use pm_kind, only: RKG => RK1
621 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
622 real(RKG) , intent(in) , contiguous :: queryx(:)
623 real(RKG) :: interp(size(queryx, 1, IK))
624 type(monopol_type) , intent(in) :: method
625 end function
626#endif
627
628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
629
630 end interface
631
632 ! piwilin
633
634 interface getInterp
635
636 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
637
638#if RK5_ENABLED
639 PURE module function getInterpPWLN_ND1_QD0_RK5(method, crdx, func, queryx) result(interp)
640#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
641 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD0_RK5
642#endif
643 use pm_kind, only: RKG => RK5
644 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
645 real(RKG) , intent(in) :: queryx
646 real(RKG) :: interp
647 type(piwilin_type) , intent(in) :: method
648 end function
649#endif
650
651#if RK4_ENABLED
652 PURE module function getInterpPWLN_ND1_QD0_RK4(method, crdx, func, queryx) result(interp)
653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
654 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD0_RK4
655#endif
656 use pm_kind, only: RKG => RK4
657 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
658 real(RKG) , intent(in) :: queryx
659 real(RKG) :: interp
660 type(piwilin_type) , intent(in) :: method
661 end function
662#endif
663
664#if RK3_ENABLED
665 PURE module function getInterpPWLN_ND1_QD0_RK3(method, crdx, func, queryx) result(interp)
666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
667 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD0_RK3
668#endif
669 use pm_kind, only: RKG => RK3
670 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
671 real(RKG) , intent(in) :: queryx
672 real(RKG) :: interp
673 type(piwilin_type) , intent(in) :: method
674 end function
675#endif
676
677#if RK2_ENABLED
678 PURE module function getInterpPWLN_ND1_QD0_RK2(method, crdx, func, queryx) result(interp)
679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
680 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD0_RK2
681#endif
682 use pm_kind, only: RKG => RK2
683 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
684 real(RKG) , intent(in) :: queryx
685 real(RKG) :: interp
686 type(piwilin_type) , intent(in) :: method
687 end function
688#endif
689
690#if RK1_ENABLED
691 PURE module function getInterpPWLN_ND1_QD0_RK1(method, crdx, func, queryx) result(interp)
692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
693 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD0_RK1
694#endif
695 use pm_kind, only: RKG => RK1
696 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
697 real(RKG) , intent(in) :: queryx
698 real(RKG) :: interp
699 type(piwilin_type) , intent(in) :: method
700 end function
701#endif
702
703 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
704
705#if RK5_ENABLED
706 PURE module function getInterpPWLN_ND1_QD1_RK5(method, crdx, func, queryx) result(interp)
707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
708 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD1_RK5
709#endif
710 use pm_kind, only: RKG => RK5
711 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
712 real(RKG) , intent(in) , contiguous :: queryx(:)
713 real(RKG) :: interp(size(queryx, 1, IK))
714 type(piwilin_type) , intent(in) :: method
715 end function
716#endif
717
718#if RK4_ENABLED
719 PURE module function getInterpPWLN_ND1_QD1_RK4(method, crdx, func, queryx) result(interp)
720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
721 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD1_RK4
722#endif
723 use pm_kind, only: RKG => RK4
724 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
725 real(RKG) , intent(in) , contiguous :: queryx(:)
726 real(RKG) :: interp(size(queryx, 1, IK))
727 type(piwilin_type) , intent(in) :: method
728 end function
729#endif
730
731#if RK3_ENABLED
732 PURE module function getInterpPWLN_ND1_QD1_RK3(method, crdx, func, queryx) result(interp)
733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
734 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD1_RK3
735#endif
736 use pm_kind, only: RKG => RK3
737 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
738 real(RKG) , intent(in) , contiguous :: queryx(:)
739 real(RKG) :: interp(size(queryx, 1, IK))
740 type(piwilin_type) , intent(in) :: method
741 end function
742#endif
743
744#if RK2_ENABLED
745 PURE module function getInterpPWLN_ND1_QD1_RK2(method, crdx, func, queryx) result(interp)
746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
747 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD1_RK2
748#endif
749 use pm_kind, only: RKG => RK2
750 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
751 real(RKG) , intent(in) , contiguous :: queryx(:)
752 real(RKG) :: interp(size(queryx, 1, IK))
753 type(piwilin_type) , intent(in) :: method
754 end function
755#endif
756
757#if RK1_ENABLED
758 PURE module function getInterpPWLN_ND1_QD1_RK1(method, crdx, func, queryx) result(interp)
759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
760 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPWLN_ND1_QD1_RK1
761#endif
762 use pm_kind, only: RKG => RK1
763 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
764 real(RKG) , intent(in) , contiguous :: queryx(:)
765 real(RKG) :: interp(size(queryx, 1, IK))
766 type(piwilin_type) , intent(in) :: method
767 end function
768#endif
769
770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
771
772 end interface
773
774 ! neimean
775
776 interface getInterp
777
778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
779
780#if RK5_ENABLED
781 PURE module function getInterpMEAN_ND1_QD0_RK5(method, crdx, func, queryx) result(interp)
782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
783 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD0_RK5
784#endif
785 use pm_kind, only: RKG => RK5
786 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
787 real(RKG) , intent(in) :: queryx
788 real(RKG) :: interp
789 type(neimean_type) , intent(in) :: method
790 end function
791#endif
792
793#if RK4_ENABLED
794 PURE module function getInterpMEAN_ND1_QD0_RK4(method, crdx, func, queryx) result(interp)
795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
796 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD0_RK4
797#endif
798 use pm_kind, only: RKG => RK4
799 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
800 real(RKG) , intent(in) :: queryx
801 real(RKG) :: interp
802 type(neimean_type) , intent(in) :: method
803 end function
804#endif
805
806#if RK3_ENABLED
807 PURE module function getInterpMEAN_ND1_QD0_RK3(method, crdx, func, queryx) result(interp)
808#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
809 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD0_RK3
810#endif
811 use pm_kind, only: RKG => RK3
812 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
813 real(RKG) , intent(in) :: queryx
814 real(RKG) :: interp
815 type(neimean_type) , intent(in) :: method
816 end function
817#endif
818
819#if RK2_ENABLED
820 PURE module function getInterpMEAN_ND1_QD0_RK2(method, crdx, func, queryx) result(interp)
821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
822 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD0_RK2
823#endif
824 use pm_kind, only: RKG => RK2
825 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
826 real(RKG) , intent(in) :: queryx
827 real(RKG) :: interp
828 type(neimean_type) , intent(in) :: method
829 end function
830#endif
831
832#if RK1_ENABLED
833 PURE module function getInterpMEAN_ND1_QD0_RK1(method, crdx, func, queryx) result(interp)
834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
835 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD0_RK1
836#endif
837 use pm_kind, only: RKG => RK1
838 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
839 real(RKG) , intent(in) :: queryx
840 real(RKG) :: interp
841 type(neimean_type) , intent(in) :: method
842 end function
843#endif
844
845 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
846
847#if RK5_ENABLED
848 PURE module function getInterpMEAN_ND1_QD1_RK5(method, crdx, func, queryx) result(interp)
849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
850 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD1_RK5
851#endif
852 use pm_kind, only: RKG => RK5
853 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
854 real(RKG) , intent(in) , contiguous :: queryx(:)
855 real(RKG) :: interp(size(queryx, 1, IK))
856 type(neimean_type) , intent(in) :: method
857 end function
858#endif
859
860#if RK4_ENABLED
861 PURE module function getInterpMEAN_ND1_QD1_RK4(method, crdx, func, queryx) result(interp)
862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
863 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD1_RK4
864#endif
865 use pm_kind, only: RKG => RK4
866 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
867 real(RKG) , intent(in) , contiguous :: queryx(:)
868 real(RKG) :: interp(size(queryx, 1, IK))
869 type(neimean_type) , intent(in) :: method
870 end function
871#endif
872
873#if RK3_ENABLED
874 PURE module function getInterpMEAN_ND1_QD1_RK3(method, crdx, func, queryx) result(interp)
875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
876 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD1_RK3
877#endif
878 use pm_kind, only: RKG => RK3
879 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
880 real(RKG) , intent(in) , contiguous :: queryx(:)
881 real(RKG) :: interp(size(queryx, 1, IK))
882 type(neimean_type) , intent(in) :: method
883 end function
884#endif
885
886#if RK2_ENABLED
887 PURE module function getInterpMEAN_ND1_QD1_RK2(method, crdx, func, queryx) result(interp)
888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
889 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD1_RK2
890#endif
891 use pm_kind, only: RKG => RK2
892 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
893 real(RKG) , intent(in) , contiguous :: queryx(:)
894 real(RKG) :: interp(size(queryx, 1, IK))
895 type(neimean_type) , intent(in) :: method
896 end function
897#endif
898
899#if RK1_ENABLED
900 PURE module function getInterpMEAN_ND1_QD1_RK1(method, crdx, func, queryx) result(interp)
901#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
902 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpMEAN_ND1_QD1_RK1
903#endif
904 use pm_kind, only: RKG => RK1
905 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
906 real(RKG) , intent(in) , contiguous :: queryx(:)
907 real(RKG) :: interp(size(queryx, 1, IK))
908 type(neimean_type) , intent(in) :: method
909 end function
910#endif
911
912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
913
914 end interface
915
916 ! neinear
917
918 interface getInterp
919
920 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
921
922#if RK5_ENABLED
923 PURE module function getInterpNEAR_ND1_QD0_RK5(method, crdx, func, queryx) result(interp)
924#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
925 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD0_RK5
926#endif
927 use pm_kind, only: RKG => RK5
928 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
929 real(RKG) , intent(in) :: queryx
930 real(RKG) :: interp
931 type(neinear_type) , intent(in) :: method
932 end function
933#endif
934
935#if RK4_ENABLED
936 PURE module function getInterpNEAR_ND1_QD0_RK4(method, crdx, func, queryx) result(interp)
937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
938 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD0_RK4
939#endif
940 use pm_kind, only: RKG => RK4
941 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
942 real(RKG) , intent(in) :: queryx
943 real(RKG) :: interp
944 type(neinear_type) , intent(in) :: method
945 end function
946#endif
947
948#if RK3_ENABLED
949 PURE module function getInterpNEAR_ND1_QD0_RK3(method, crdx, func, queryx) result(interp)
950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
951 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD0_RK3
952#endif
953 use pm_kind, only: RKG => RK3
954 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
955 real(RKG) , intent(in) :: queryx
956 real(RKG) :: interp
957 type(neinear_type) , intent(in) :: method
958 end function
959#endif
960
961#if RK2_ENABLED
962 PURE module function getInterpNEAR_ND1_QD0_RK2(method, crdx, func, queryx) result(interp)
963#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
964 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD0_RK2
965#endif
966 use pm_kind, only: RKG => RK2
967 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
968 real(RKG) , intent(in) :: queryx
969 real(RKG) :: interp
970 type(neinear_type) , intent(in) :: method
971 end function
972#endif
973
974#if RK1_ENABLED
975 PURE module function getInterpNEAR_ND1_QD0_RK1(method, crdx, func, queryx) result(interp)
976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
977 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD0_RK1
978#endif
979 use pm_kind, only: RKG => RK1
980 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
981 real(RKG) , intent(in) :: queryx
982 real(RKG) :: interp
983 type(neinear_type) , intent(in) :: method
984 end function
985#endif
986
987 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
988
989#if RK5_ENABLED
990 PURE module function getInterpNEAR_ND1_QD1_RK5(method, crdx, func, queryx) result(interp)
991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
992 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD1_RK5
993#endif
994 use pm_kind, only: RKG => RK5
995 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
996 real(RKG) , intent(in) , contiguous :: queryx(:)
997 real(RKG) :: interp(size(queryx, 1, IK))
998 type(neinear_type) , intent(in) :: method
999 end function
1000#endif
1001
1002#if RK4_ENABLED
1003 PURE module function getInterpNEAR_ND1_QD1_RK4(method, crdx, func, queryx) result(interp)
1004#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1005 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD1_RK4
1006#endif
1007 use pm_kind, only: RKG => RK4
1008 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1009 real(RKG) , intent(in) , contiguous :: queryx(:)
1010 real(RKG) :: interp(size(queryx, 1, IK))
1011 type(neinear_type) , intent(in) :: method
1012 end function
1013#endif
1014
1015#if RK3_ENABLED
1016 PURE module function getInterpNEAR_ND1_QD1_RK3(method, crdx, func, queryx) result(interp)
1017#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1018 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD1_RK3
1019#endif
1020 use pm_kind, only: RKG => RK3
1021 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1022 real(RKG) , intent(in) , contiguous :: queryx(:)
1023 real(RKG) :: interp(size(queryx, 1, IK))
1024 type(neinear_type) , intent(in) :: method
1025 end function
1026#endif
1027
1028#if RK2_ENABLED
1029 PURE module function getInterpNEAR_ND1_QD1_RK2(method, crdx, func, queryx) result(interp)
1030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1031 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD1_RK2
1032#endif
1033 use pm_kind, only: RKG => RK2
1034 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1035 real(RKG) , intent(in) , contiguous :: queryx(:)
1036 real(RKG) :: interp(size(queryx, 1, IK))
1037 type(neinear_type) , intent(in) :: method
1038 end function
1039#endif
1040
1041#if RK1_ENABLED
1042 PURE module function getInterpNEAR_ND1_QD1_RK1(method, crdx, func, queryx) result(interp)
1043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1044 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEAR_ND1_QD1_RK1
1045#endif
1046 use pm_kind, only: RKG => RK1
1047 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1048 real(RKG) , intent(in) , contiguous :: queryx(:)
1049 real(RKG) :: interp(size(queryx, 1, IK))
1050 type(neinear_type) , intent(in) :: method
1051 end function
1052#endif
1053
1054 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1055
1056 end interface
1057
1058 ! neinext
1059
1060 interface getInterp
1061
1062 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1063
1064#if RK5_ENABLED
1065 PURE module function getInterpNEXT_ND1_QD0_RK5(method, crdx, func, queryx) result(interp)
1066#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1067 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD0_RK5
1068#endif
1069 use pm_kind, only: RKG => RK5
1070 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1071 real(RKG) , intent(in) :: queryx
1072 real(RKG) :: interp
1073 type(neinext_type) , intent(in) :: method
1074 end function
1075#endif
1076
1077#if RK4_ENABLED
1078 PURE module function getInterpNEXT_ND1_QD0_RK4(method, crdx, func, queryx) result(interp)
1079#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1080 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD0_RK4
1081#endif
1082 use pm_kind, only: RKG => RK4
1083 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1084 real(RKG) , intent(in) :: queryx
1085 real(RKG) :: interp
1086 type(neinext_type) , intent(in) :: method
1087 end function
1088#endif
1089
1090#if RK3_ENABLED
1091 PURE module function getInterpNEXT_ND1_QD0_RK3(method, crdx, func, queryx) result(interp)
1092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1093 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD0_RK3
1094#endif
1095 use pm_kind, only: RKG => RK3
1096 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1097 real(RKG) , intent(in) :: queryx
1098 real(RKG) :: interp
1099 type(neinext_type) , intent(in) :: method
1100 end function
1101#endif
1102
1103#if RK2_ENABLED
1104 PURE module function getInterpNEXT_ND1_QD0_RK2(method, crdx, func, queryx) result(interp)
1105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1106 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD0_RK2
1107#endif
1108 use pm_kind, only: RKG => RK2
1109 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1110 real(RKG) , intent(in) :: queryx
1111 real(RKG) :: interp
1112 type(neinext_type) , intent(in) :: method
1113 end function
1114#endif
1115
1116#if RK1_ENABLED
1117 PURE module function getInterpNEXT_ND1_QD0_RK1(method, crdx, func, queryx) result(interp)
1118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1119 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD0_RK1
1120#endif
1121 use pm_kind, only: RKG => RK1
1122 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1123 real(RKG) , intent(in) :: queryx
1124 real(RKG) :: interp
1125 type(neinext_type) , intent(in) :: method
1126 end function
1127#endif
1128
1129 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1130
1131#if RK5_ENABLED
1132 PURE module function getInterpNEXT_ND1_QD1_RK5(method, crdx, func, queryx) result(interp)
1133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1134 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD1_RK5
1135#endif
1136 use pm_kind, only: RKG => RK5
1137 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1138 real(RKG) , intent(in) , contiguous :: queryx(:)
1139 real(RKG) :: interp(size(queryx, 1, IK))
1140 type(neinext_type) , intent(in) :: method
1141 end function
1142#endif
1143
1144#if RK4_ENABLED
1145 PURE module function getInterpNEXT_ND1_QD1_RK4(method, crdx, func, queryx) result(interp)
1146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1147 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD1_RK4
1148#endif
1149 use pm_kind, only: RKG => RK4
1150 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1151 real(RKG) , intent(in) , contiguous :: queryx(:)
1152 real(RKG) :: interp(size(queryx, 1, IK))
1153 type(neinext_type) , intent(in) :: method
1154 end function
1155#endif
1156
1157#if RK3_ENABLED
1158 PURE module function getInterpNEXT_ND1_QD1_RK3(method, crdx, func, queryx) result(interp)
1159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1160 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD1_RK3
1161#endif
1162 use pm_kind, only: RKG => RK3
1163 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1164 real(RKG) , intent(in) , contiguous :: queryx(:)
1165 real(RKG) :: interp(size(queryx, 1, IK))
1166 type(neinext_type) , intent(in) :: method
1167 end function
1168#endif
1169
1170#if RK2_ENABLED
1171 PURE module function getInterpNEXT_ND1_QD1_RK2(method, crdx, func, queryx) result(interp)
1172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1173 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD1_RK2
1174#endif
1175 use pm_kind, only: RKG => RK2
1176 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1177 real(RKG) , intent(in) , contiguous :: queryx(:)
1178 real(RKG) :: interp(size(queryx, 1, IK))
1179 type(neinext_type) , intent(in) :: method
1180 end function
1181#endif
1182
1183#if RK1_ENABLED
1184 PURE module function getInterpNEXT_ND1_QD1_RK1(method, crdx, func, queryx) result(interp)
1185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1186 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpNEXT_ND1_QD1_RK1
1187#endif
1188 use pm_kind, only: RKG => RK1
1189 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1190 real(RKG) , intent(in) , contiguous :: queryx(:)
1191 real(RKG) :: interp(size(queryx, 1, IK))
1192 type(neinext_type) , intent(in) :: method
1193 end function
1194#endif
1195
1196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1197
1198 end interface
1199
1200 ! neiprev
1201
1202 interface getInterp
1203
1204 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1205
1206#if RK5_ENABLED
1207 PURE module function getInterpPREV_ND1_QD0_RK5(method, crdx, func, queryx) result(interp)
1208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1209 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD0_RK5
1210#endif
1211 use pm_kind, only: RKG => RK5
1212 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1213 real(RKG) , intent(in) :: queryx
1214 real(RKG) :: interp
1215 type(neiprev_type) , intent(in) :: method
1216 end function
1217#endif
1218
1219#if RK4_ENABLED
1220 PURE module function getInterpPREV_ND1_QD0_RK4(method, crdx, func, queryx) result(interp)
1221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1222 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD0_RK4
1223#endif
1224 use pm_kind, only: RKG => RK4
1225 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1226 real(RKG) , intent(in) :: queryx
1227 real(RKG) :: interp
1228 type(neiprev_type) , intent(in) :: method
1229 end function
1230#endif
1231
1232#if RK3_ENABLED
1233 PURE module function getInterpPREV_ND1_QD0_RK3(method, crdx, func, queryx) result(interp)
1234#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1235 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD0_RK3
1236#endif
1237 use pm_kind, only: RKG => RK3
1238 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1239 real(RKG) , intent(in) :: queryx
1240 real(RKG) :: interp
1241 type(neiprev_type) , intent(in) :: method
1242 end function
1243#endif
1244
1245#if RK2_ENABLED
1246 PURE module function getInterpPREV_ND1_QD0_RK2(method, crdx, func, queryx) result(interp)
1247#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1248 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD0_RK2
1249#endif
1250 use pm_kind, only: RKG => RK2
1251 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1252 real(RKG) , intent(in) :: queryx
1253 real(RKG) :: interp
1254 type(neiprev_type) , intent(in) :: method
1255 end function
1256#endif
1257
1258#if RK1_ENABLED
1259 PURE module function getInterpPREV_ND1_QD0_RK1(method, crdx, func, queryx) result(interp)
1260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1261 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD0_RK1
1262#endif
1263 use pm_kind, only: RKG => RK1
1264 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1265 real(RKG) , intent(in) :: queryx
1266 real(RKG) :: interp
1267 type(neiprev_type) , intent(in) :: method
1268 end function
1269#endif
1270
1271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1272
1273#if RK5_ENABLED
1274 PURE module function getInterpPREV_ND1_QD1_RK5(method, crdx, func, queryx) result(interp)
1275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1276 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD1_RK5
1277#endif
1278 use pm_kind, only: RKG => RK5
1279 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1280 real(RKG) , intent(in) , contiguous :: queryx(:)
1281 real(RKG) :: interp(size(queryx, 1, IK))
1282 type(neiprev_type) , intent(in) :: method
1283 end function
1284#endif
1285
1286#if RK4_ENABLED
1287 PURE module function getInterpPREV_ND1_QD1_RK4(method, crdx, func, queryx) result(interp)
1288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1289 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD1_RK4
1290#endif
1291 use pm_kind, only: RKG => RK4
1292 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1293 real(RKG) , intent(in) , contiguous :: queryx(:)
1294 real(RKG) :: interp(size(queryx, 1, IK))
1295 type(neiprev_type) , intent(in) :: method
1296 end function
1297#endif
1298
1299#if RK3_ENABLED
1300 PURE module function getInterpPREV_ND1_QD1_RK3(method, crdx, func, queryx) result(interp)
1301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1302 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD1_RK3
1303#endif
1304 use pm_kind, only: RKG => RK3
1305 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1306 real(RKG) , intent(in) , contiguous :: queryx(:)
1307 real(RKG) :: interp(size(queryx, 1, IK))
1308 type(neiprev_type) , intent(in) :: method
1309 end function
1310#endif
1311
1312#if RK2_ENABLED
1313 PURE module function getInterpPREV_ND1_QD1_RK2(method, crdx, func, queryx) result(interp)
1314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1315 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD1_RK2
1316#endif
1317 use pm_kind, only: RKG => RK2
1318 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1319 real(RKG) , intent(in) , contiguous :: queryx(:)
1320 real(RKG) :: interp(size(queryx, 1, IK))
1321 type(neiprev_type) , intent(in) :: method
1322 end function
1323#endif
1324
1325#if RK1_ENABLED
1326 PURE module function getInterpPREV_ND1_QD1_RK1(method, crdx, func, queryx) result(interp)
1327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1328 !DEC$ ATTRIBUTES DLLEXPORT :: getInterpPREV_ND1_QD1_RK1
1329#endif
1330 use pm_kind, only: RKG => RK1
1331 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1332 real(RKG) , intent(in) , contiguous :: queryx(:)
1333 real(RKG) :: interp(size(queryx, 1, IK))
1334 type(neiprev_type) , intent(in) :: method
1335 end function
1336#endif
1337
1338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1339
1340 end interface
1341
1342!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1343
1444
1445 ! monopol MNPLD
1446
1447 interface setInterp
1448
1449 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1450
1451#if RK5_ENABLED
1452 PURE module subroutine setInterpMNPLD_ND1_QD0_RK5(method, crdx, func, queryx, interp)
1453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1454 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD0_RK5
1455#endif
1456 use pm_kind, only: RKG => RK5
1457 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1458 real(RKG) , intent(in) :: queryx
1459 real(RKG) , intent(out) :: interp
1460 type(monopol_type) , intent(in) :: method
1461 end subroutine
1462#endif
1463
1464#if RK4_ENABLED
1465 PURE module subroutine setInterpMNPLD_ND1_QD0_RK4(method, crdx, func, queryx, interp)
1466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1467 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD0_RK4
1468#endif
1469 use pm_kind, only: RKG => RK4
1470 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1471 real(RKG) , intent(in) :: queryx
1472 real(RKG) , intent(out) :: interp
1473 type(monopol_type) , intent(in) :: method
1474 end subroutine
1475#endif
1476
1477#if RK3_ENABLED
1478 PURE module subroutine setInterpMNPLD_ND1_QD0_RK3(method, crdx, func, queryx, interp)
1479#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1480 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD0_RK3
1481#endif
1482 use pm_kind, only: RKG => RK3
1483 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1484 real(RKG) , intent(in) :: queryx
1485 real(RKG) , intent(out) :: interp
1486 type(monopol_type) , intent(in) :: method
1487 end subroutine
1488#endif
1489
1490#if RK2_ENABLED
1491 PURE module subroutine setInterpMNPLD_ND1_QD0_RK2(method, crdx, func, queryx, interp)
1492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1493 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD0_RK2
1494#endif
1495 use pm_kind, only: RKG => RK2
1496 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1497 real(RKG) , intent(in) :: queryx
1498 real(RKG) , intent(out) :: interp
1499 type(monopol_type) , intent(in) :: method
1500 end subroutine
1501#endif
1502
1503#if RK1_ENABLED
1504 PURE module subroutine setInterpMNPLD_ND1_QD0_RK1(method, crdx, func, queryx, interp)
1505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1506 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD0_RK1
1507#endif
1508 use pm_kind, only: RKG => RK1
1509 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1510 real(RKG) , intent(in) :: queryx
1511 real(RKG) , intent(out) :: interp
1512 type(monopol_type) , intent(in) :: method
1513 end subroutine
1514#endif
1515
1516 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1517
1518#if RK5_ENABLED
1519 PURE module subroutine setInterpMNPLD_ND1_QD1_RK5(method, crdx, func, queryx, interp)
1520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1521 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD1_RK5
1522#endif
1523 use pm_kind, only: RKG => RK5
1524 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1525 real(RKG) , intent(in) , contiguous :: queryx(:)
1526 real(RKG) , intent(out) , contiguous :: interp(:)
1527 type(monopol_type) , intent(in) :: method
1528 end subroutine
1529#endif
1530
1531#if RK4_ENABLED
1532 PURE module subroutine setInterpMNPLD_ND1_QD1_RK4(method, crdx, func, queryx, interp)
1533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1534 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD1_RK4
1535#endif
1536 use pm_kind, only: RKG => RK4
1537 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1538 real(RKG) , intent(in) , contiguous :: queryx(:)
1539 real(RKG) , intent(out) , contiguous :: interp(:)
1540 type(monopol_type) , intent(in) :: method
1541 end subroutine
1542#endif
1543
1544#if RK3_ENABLED
1545 PURE module subroutine setInterpMNPLD_ND1_QD1_RK3(method, crdx, func, queryx, interp)
1546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1547 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD1_RK3
1548#endif
1549 use pm_kind, only: RKG => RK3
1550 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1551 real(RKG) , intent(in) , contiguous :: queryx(:)
1552 real(RKG) , intent(out) , contiguous :: interp(:)
1553 type(monopol_type) , intent(in) :: method
1554 end subroutine
1555#endif
1556
1557#if RK2_ENABLED
1558 PURE module subroutine setInterpMNPLD_ND1_QD1_RK2(method, crdx, func, queryx, interp)
1559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1560 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD1_RK2
1561#endif
1562 use pm_kind, only: RKG => RK2
1563 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1564 real(RKG) , intent(in) , contiguous :: queryx(:)
1565 real(RKG) , intent(out) , contiguous :: interp(:)
1566 type(monopol_type) , intent(in) :: method
1567 end subroutine
1568#endif
1569
1570#if RK1_ENABLED
1571 PURE module subroutine setInterpMNPLD_ND1_QD1_RK1(method, crdx, func, queryx, interp)
1572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1573 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLD_ND1_QD1_RK1
1574#endif
1575 use pm_kind, only: RKG => RK1
1576 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1577 real(RKG) , intent(in) , contiguous :: queryx(:)
1578 real(RKG) , intent(out) , contiguous :: interp(:)
1579 type(monopol_type) , intent(in) :: method
1580 end subroutine
1581#endif
1582
1583 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1584
1585 end interface
1586
1587 ! monopol MNPLE
1588
1589 interface setInterp
1590
1591 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1592
1593#if RK5_ENABLED
1594 PURE module subroutine setInterpMNPLE_ND1_QD0_RK5(method, crdx, func, queryx, interp, relerr)
1595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1596 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD0_RK5
1597#endif
1598 use pm_kind, only: RKG => RK5
1599 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1600 real(RKG) , intent(in) :: queryx
1601 real(RKG) , intent(out) :: interp, relerr
1602 type(monopol_type) , intent(in) :: method
1603 end subroutine
1604#endif
1605
1606#if RK4_ENABLED
1607 PURE module subroutine setInterpMNPLE_ND1_QD0_RK4(method, crdx, func, queryx, interp, relerr)
1608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1609 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD0_RK4
1610#endif
1611 use pm_kind, only: RKG => RK4
1612 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1613 real(RKG) , intent(in) :: queryx
1614 real(RKG) , intent(out) :: interp, relerr
1615 type(monopol_type) , intent(in) :: method
1616 end subroutine
1617#endif
1618
1619#if RK3_ENABLED
1620 PURE module subroutine setInterpMNPLE_ND1_QD0_RK3(method, crdx, func, queryx, interp, relerr)
1621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1622 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD0_RK3
1623#endif
1624 use pm_kind, only: RKG => RK3
1625 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1626 real(RKG) , intent(in) :: queryx
1627 real(RKG) , intent(out) :: interp, relerr
1628 type(monopol_type) , intent(in) :: method
1629 end subroutine
1630#endif
1631
1632#if RK2_ENABLED
1633 PURE module subroutine setInterpMNPLE_ND1_QD0_RK2(method, crdx, func, queryx, interp, relerr)
1634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1635 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD0_RK2
1636#endif
1637 use pm_kind, only: RKG => RK2
1638 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1639 real(RKG) , intent(in) :: queryx
1640 real(RKG) , intent(out) :: interp, relerr
1641 type(monopol_type) , intent(in) :: method
1642 end subroutine
1643#endif
1644
1645#if RK1_ENABLED
1646 PURE module subroutine setInterpMNPLE_ND1_QD0_RK1(method, crdx, func, queryx, interp, relerr)
1647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1648 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD0_RK1
1649#endif
1650 use pm_kind, only: RKG => RK1
1651 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1652 real(RKG) , intent(in) :: queryx
1653 real(RKG) , intent(out) :: interp, relerr
1654 type(monopol_type) , intent(in) :: method
1655 end subroutine
1656#endif
1657
1658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1659
1660#if RK5_ENABLED
1661 PURE module subroutine setInterpMNPLE_ND1_QD1_RK5(method, crdx, func, queryx, interp, relerr)
1662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1663 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD1_RK5
1664#endif
1665 use pm_kind, only: RKG => RK5
1666 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1667 real(RKG) , intent(in) , contiguous :: queryx(:)
1668 real(RKG) , intent(out) , contiguous :: interp(:), relerr(:)
1669 type(monopol_type) , intent(in) :: method
1670 end subroutine
1671#endif
1672
1673#if RK4_ENABLED
1674 PURE module subroutine setInterpMNPLE_ND1_QD1_RK4(method, crdx, func, queryx, interp, relerr)
1675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1676 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD1_RK4
1677#endif
1678 use pm_kind, only: RKG => RK4
1679 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1680 real(RKG) , intent(in) , contiguous :: queryx(:)
1681 real(RKG) , intent(out) , contiguous :: interp(:), relerr(:)
1682 type(monopol_type) , intent(in) :: method
1683 end subroutine
1684#endif
1685
1686#if RK3_ENABLED
1687 PURE module subroutine setInterpMNPLE_ND1_QD1_RK3(method, crdx, func, queryx, interp, relerr)
1688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1689 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD1_RK3
1690#endif
1691 use pm_kind, only: RKG => RK3
1692 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1693 real(RKG) , intent(in) , contiguous :: queryx(:)
1694 real(RKG) , intent(out) , contiguous :: interp(:), relerr(:)
1695 type(monopol_type) , intent(in) :: method
1696 end subroutine
1697#endif
1698
1699#if RK2_ENABLED
1700 PURE module subroutine setInterpMNPLE_ND1_QD1_RK2(method, crdx, func, queryx, interp, relerr)
1701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1702 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD1_RK2
1703#endif
1704 use pm_kind, only: RKG => RK2
1705 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1706 real(RKG) , intent(in) , contiguous :: queryx(:)
1707 real(RKG) , intent(out) , contiguous :: interp(:), relerr(:)
1708 type(monopol_type) , intent(in) :: method
1709 end subroutine
1710#endif
1711
1712#if RK1_ENABLED
1713 PURE module subroutine setInterpMNPLE_ND1_QD1_RK1(method, crdx, func, queryx, interp, relerr)
1714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1715 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMNPLE_ND1_QD1_RK1
1716#endif
1717 use pm_kind, only: RKG => RK1
1718 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1719 real(RKG) , intent(in) , contiguous :: queryx(:)
1720 real(RKG) , intent(out) , contiguous :: interp(:), relerr(:)
1721 type(monopol_type) , intent(in) :: method
1722 end subroutine
1723#endif
1724
1725 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1726
1727 end interface
1728
1729 ! piwilin
1730
1731 interface setInterp
1732
1733 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1734
1735#if RK5_ENABLED
1736 PURE module subroutine setInterpPWLN_ND1_QD0_RK5(method, crdx, func, queryx, interp)
1737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1738 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD0_RK5
1739#endif
1740 use pm_kind, only: RKG => RK5
1741 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1742 real(RKG) , intent(in) :: queryx
1743 real(RKG) , intent(out) :: interp
1744 type(piwilin_type) , intent(in) :: method
1745 end subroutine
1746#endif
1747
1748#if RK4_ENABLED
1749 PURE module subroutine setInterpPWLN_ND1_QD0_RK4(method, crdx, func, queryx, interp)
1750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1751 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD0_RK4
1752#endif
1753 use pm_kind, only: RKG => RK4
1754 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1755 real(RKG) , intent(in) :: queryx
1756 real(RKG) , intent(out) :: interp
1757 type(piwilin_type) , intent(in) :: method
1758 end subroutine
1759#endif
1760
1761#if RK3_ENABLED
1762 PURE module subroutine setInterpPWLN_ND1_QD0_RK3(method, crdx, func, queryx, interp)
1763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1764 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD0_RK3
1765#endif
1766 use pm_kind, only: RKG => RK3
1767 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1768 real(RKG) , intent(in) :: queryx
1769 real(RKG) , intent(out) :: interp
1770 type(piwilin_type) , intent(in) :: method
1771 end subroutine
1772#endif
1773
1774#if RK2_ENABLED
1775 PURE module subroutine setInterpPWLN_ND1_QD0_RK2(method, crdx, func, queryx, interp)
1776#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1777 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD0_RK2
1778#endif
1779 use pm_kind, only: RKG => RK2
1780 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1781 real(RKG) , intent(in) :: queryx
1782 real(RKG) , intent(out) :: interp
1783 type(piwilin_type) , intent(in) :: method
1784 end subroutine
1785#endif
1786
1787#if RK1_ENABLED
1788 PURE module subroutine setInterpPWLN_ND1_QD0_RK1(method, crdx, func, queryx, interp)
1789#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1790 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD0_RK1
1791#endif
1792 use pm_kind, only: RKG => RK1
1793 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1794 real(RKG) , intent(in) :: queryx
1795 real(RKG) , intent(out) :: interp
1796 type(piwilin_type) , intent(in) :: method
1797 end subroutine
1798#endif
1799
1800 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1801
1802#if RK5_ENABLED
1803 PURE module subroutine setInterpPWLN_ND1_QD1_RK5(method, crdx, func, queryx, interp)
1804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1805 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD1_RK5
1806#endif
1807 use pm_kind, only: RKG => RK5
1808 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1809 real(RKG) , intent(in) , contiguous :: queryx(:)
1810 real(RKG) , intent(out) , contiguous :: interp(:)
1811 type(piwilin_type) , intent(in) :: method
1812 end subroutine
1813#endif
1814
1815#if RK4_ENABLED
1816 PURE module subroutine setInterpPWLN_ND1_QD1_RK4(method, crdx, func, queryx, interp)
1817#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1818 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD1_RK4
1819#endif
1820 use pm_kind, only: RKG => RK4
1821 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1822 real(RKG) , intent(in) , contiguous :: queryx(:)
1823 real(RKG) , intent(out) , contiguous :: interp(:)
1824 type(piwilin_type) , intent(in) :: method
1825 end subroutine
1826#endif
1827
1828#if RK3_ENABLED
1829 PURE module subroutine setInterpPWLN_ND1_QD1_RK3(method, crdx, func, queryx, interp)
1830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1831 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD1_RK3
1832#endif
1833 use pm_kind, only: RKG => RK3
1834 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1835 real(RKG) , intent(in) , contiguous :: queryx(:)
1836 real(RKG) , intent(out) , contiguous :: interp(:)
1837 type(piwilin_type) , intent(in) :: method
1838 end subroutine
1839#endif
1840
1841#if RK2_ENABLED
1842 PURE module subroutine setInterpPWLN_ND1_QD1_RK2(method, crdx, func, queryx, interp)
1843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1844 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD1_RK2
1845#endif
1846 use pm_kind, only: RKG => RK2
1847 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1848 real(RKG) , intent(in) , contiguous :: queryx(:)
1849 real(RKG) , intent(out) , contiguous :: interp(:)
1850 type(piwilin_type) , intent(in) :: method
1851 end subroutine
1852#endif
1853
1854#if RK1_ENABLED
1855 PURE module subroutine setInterpPWLN_ND1_QD1_RK1(method, crdx, func, queryx, interp)
1856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1857 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPWLN_ND1_QD1_RK1
1858#endif
1859 use pm_kind, only: RKG => RK1
1860 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1861 real(RKG) , intent(in) , contiguous :: queryx(:)
1862 real(RKG) , intent(out) , contiguous :: interp(:)
1863 type(piwilin_type) , intent(in) :: method
1864 end subroutine
1865#endif
1866
1867 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1868
1869 end interface
1870
1871 ! neimean
1872
1873 interface setInterp
1874
1875 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1876
1877#if RK5_ENABLED
1878 PURE module subroutine setInterpMEAN_ND1_QD0_RK5(method, crdx, func, queryx, interp)
1879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1880 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD0_RK5
1881#endif
1882 use pm_kind, only: RKG => RK5
1883 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1884 real(RKG) , intent(in) :: queryx
1885 real(RKG) , intent(out) :: interp
1886 type(neimean_type) , intent(in) :: method
1887 end subroutine
1888#endif
1889
1890#if RK4_ENABLED
1891 PURE module subroutine setInterpMEAN_ND1_QD0_RK4(method, crdx, func, queryx, interp)
1892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1893 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD0_RK4
1894#endif
1895 use pm_kind, only: RKG => RK4
1896 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1897 real(RKG) , intent(in) :: queryx
1898 real(RKG) , intent(out) :: interp
1899 type(neimean_type) , intent(in) :: method
1900 end subroutine
1901#endif
1902
1903#if RK3_ENABLED
1904 PURE module subroutine setInterpMEAN_ND1_QD0_RK3(method, crdx, func, queryx, interp)
1905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1906 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD0_RK3
1907#endif
1908 use pm_kind, only: RKG => RK3
1909 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1910 real(RKG) , intent(in) :: queryx
1911 real(RKG) , intent(out) :: interp
1912 type(neimean_type) , intent(in) :: method
1913 end subroutine
1914#endif
1915
1916#if RK2_ENABLED
1917 PURE module subroutine setInterpMEAN_ND1_QD0_RK2(method, crdx, func, queryx, interp)
1918#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1919 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD0_RK2
1920#endif
1921 use pm_kind, only: RKG => RK2
1922 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1923 real(RKG) , intent(in) :: queryx
1924 real(RKG) , intent(out) :: interp
1925 type(neimean_type) , intent(in) :: method
1926 end subroutine
1927#endif
1928
1929#if RK1_ENABLED
1930 PURE module subroutine setInterpMEAN_ND1_QD0_RK1(method, crdx, func, queryx, interp)
1931#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1932 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD0_RK1
1933#endif
1934 use pm_kind, only: RKG => RK1
1935 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1936 real(RKG) , intent(in) :: queryx
1937 real(RKG) , intent(out) :: interp
1938 type(neimean_type) , intent(in) :: method
1939 end subroutine
1940#endif
1941
1942 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1943
1944#if RK5_ENABLED
1945 PURE module subroutine setInterpMEAN_ND1_QD1_RK5(method, crdx, func, queryx, interp)
1946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1947 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD1_RK5
1948#endif
1949 use pm_kind, only: RKG => RK5
1950 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1951 real(RKG) , intent(in) , contiguous :: queryx(:)
1952 real(RKG) , intent(out) , contiguous :: interp(:)
1953 type(neimean_type) , intent(in) :: method
1954 end subroutine
1955#endif
1956
1957#if RK4_ENABLED
1958 PURE module subroutine setInterpMEAN_ND1_QD1_RK4(method, crdx, func, queryx, interp)
1959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1960 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD1_RK4
1961#endif
1962 use pm_kind, only: RKG => RK4
1963 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1964 real(RKG) , intent(in) , contiguous :: queryx(:)
1965 real(RKG) , intent(out) , contiguous :: interp(:)
1966 type(neimean_type) , intent(in) :: method
1967 end subroutine
1968#endif
1969
1970#if RK3_ENABLED
1971 PURE module subroutine setInterpMEAN_ND1_QD1_RK3(method, crdx, func, queryx, interp)
1972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1973 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD1_RK3
1974#endif
1975 use pm_kind, only: RKG => RK3
1976 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1977 real(RKG) , intent(in) , contiguous :: queryx(:)
1978 real(RKG) , intent(out) , contiguous :: interp(:)
1979 type(neimean_type) , intent(in) :: method
1980 end subroutine
1981#endif
1982
1983#if RK2_ENABLED
1984 PURE module subroutine setInterpMEAN_ND1_QD1_RK2(method, crdx, func, queryx, interp)
1985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1986 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD1_RK2
1987#endif
1988 use pm_kind, only: RKG => RK2
1989 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
1990 real(RKG) , intent(in) , contiguous :: queryx(:)
1991 real(RKG) , intent(out) , contiguous :: interp(:)
1992 type(neimean_type) , intent(in) :: method
1993 end subroutine
1994#endif
1995
1996#if RK1_ENABLED
1997 PURE module subroutine setInterpMEAN_ND1_QD1_RK1(method, crdx, func, queryx, interp)
1998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1999 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpMEAN_ND1_QD1_RK1
2000#endif
2001 use pm_kind, only: RKG => RK1
2002 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2003 real(RKG) , intent(in) , contiguous :: queryx(:)
2004 real(RKG) , intent(out) , contiguous :: interp(:)
2005 type(neimean_type) , intent(in) :: method
2006 end subroutine
2007#endif
2008
2009 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2010
2011 end interface
2012
2013 ! neinear
2014
2015 interface setInterp
2016
2017 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2018
2019#if RK5_ENABLED
2020 PURE module subroutine setInterpNEAR_ND1_QD0_RK5(method, crdx, func, queryx, interp)
2021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2022 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD0_RK5
2023#endif
2024 use pm_kind, only: RKG => RK5
2025 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2026 real(RKG) , intent(in) :: queryx
2027 real(RKG) , intent(out) :: interp
2028 type(neinear_type) , intent(in) :: method
2029 end subroutine
2030#endif
2031
2032#if RK4_ENABLED
2033 PURE module subroutine setInterpNEAR_ND1_QD0_RK4(method, crdx, func, queryx, interp)
2034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2035 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD0_RK4
2036#endif
2037 use pm_kind, only: RKG => RK4
2038 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2039 real(RKG) , intent(in) :: queryx
2040 real(RKG) , intent(out) :: interp
2041 type(neinear_type) , intent(in) :: method
2042 end subroutine
2043#endif
2044
2045#if RK3_ENABLED
2046 PURE module subroutine setInterpNEAR_ND1_QD0_RK3(method, crdx, func, queryx, interp)
2047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2048 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD0_RK3
2049#endif
2050 use pm_kind, only: RKG => RK3
2051 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2052 real(RKG) , intent(in) :: queryx
2053 real(RKG) , intent(out) :: interp
2054 type(neinear_type) , intent(in) :: method
2055 end subroutine
2056#endif
2057
2058#if RK2_ENABLED
2059 PURE module subroutine setInterpNEAR_ND1_QD0_RK2(method, crdx, func, queryx, interp)
2060#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2061 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD0_RK2
2062#endif
2063 use pm_kind, only: RKG => RK2
2064 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2065 real(RKG) , intent(in) :: queryx
2066 real(RKG) , intent(out) :: interp
2067 type(neinear_type) , intent(in) :: method
2068 end subroutine
2069#endif
2070
2071#if RK1_ENABLED
2072 PURE module subroutine setInterpNEAR_ND1_QD0_RK1(method, crdx, func, queryx, interp)
2073#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2074 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD0_RK1
2075#endif
2076 use pm_kind, only: RKG => RK1
2077 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2078 real(RKG) , intent(in) :: queryx
2079 real(RKG) , intent(out) :: interp
2080 type(neinear_type) , intent(in) :: method
2081 end subroutine
2082#endif
2083
2084 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2085
2086#if RK5_ENABLED
2087 PURE module subroutine setInterpNEAR_ND1_QD1_RK5(method, crdx, func, queryx, interp)
2088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2089 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD1_RK5
2090#endif
2091 use pm_kind, only: RKG => RK5
2092 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2093 real(RKG) , intent(in) , contiguous :: queryx(:)
2094 real(RKG) , intent(out) , contiguous :: interp(:)
2095 type(neinear_type) , intent(in) :: method
2096 end subroutine
2097#endif
2098
2099#if RK4_ENABLED
2100 PURE module subroutine setInterpNEAR_ND1_QD1_RK4(method, crdx, func, queryx, interp)
2101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2102 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD1_RK4
2103#endif
2104 use pm_kind, only: RKG => RK4
2105 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2106 real(RKG) , intent(in) , contiguous :: queryx(:)
2107 real(RKG) , intent(out) , contiguous :: interp(:)
2108 type(neinear_type) , intent(in) :: method
2109 end subroutine
2110#endif
2111
2112#if RK3_ENABLED
2113 PURE module subroutine setInterpNEAR_ND1_QD1_RK3(method, crdx, func, queryx, interp)
2114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2115 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD1_RK3
2116#endif
2117 use pm_kind, only: RKG => RK3
2118 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2119 real(RKG) , intent(in) , contiguous :: queryx(:)
2120 real(RKG) , intent(out) , contiguous :: interp(:)
2121 type(neinear_type) , intent(in) :: method
2122 end subroutine
2123#endif
2124
2125#if RK2_ENABLED
2126 PURE module subroutine setInterpNEAR_ND1_QD1_RK2(method, crdx, func, queryx, interp)
2127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2128 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD1_RK2
2129#endif
2130 use pm_kind, only: RKG => RK2
2131 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2132 real(RKG) , intent(in) , contiguous :: queryx(:)
2133 real(RKG) , intent(out) , contiguous :: interp(:)
2134 type(neinear_type) , intent(in) :: method
2135 end subroutine
2136#endif
2137
2138#if RK1_ENABLED
2139 PURE module subroutine setInterpNEAR_ND1_QD1_RK1(method, crdx, func, queryx, interp)
2140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2141 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEAR_ND1_QD1_RK1
2142#endif
2143 use pm_kind, only: RKG => RK1
2144 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2145 real(RKG) , intent(in) , contiguous :: queryx(:)
2146 real(RKG) , intent(out) , contiguous :: interp(:)
2147 type(neinear_type) , intent(in) :: method
2148 end subroutine
2149#endif
2150
2151 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2152
2153 end interface
2154
2155 ! neinext
2156
2157 interface setInterp
2158
2159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2160
2161#if RK5_ENABLED
2162 PURE module subroutine setInterpNEXT_ND1_QD0_RK5(method, crdx, func, queryx, interp)
2163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2164 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD0_RK5
2165#endif
2166 use pm_kind, only: RKG => RK5
2167 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2168 real(RKG) , intent(in) :: queryx
2169 real(RKG) , intent(out) :: interp
2170 type(neinext_type) , intent(in) :: method
2171 end subroutine
2172#endif
2173
2174#if RK4_ENABLED
2175 PURE module subroutine setInterpNEXT_ND1_QD0_RK4(method, crdx, func, queryx, interp)
2176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2177 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD0_RK4
2178#endif
2179 use pm_kind, only: RKG => RK4
2180 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2181 real(RKG) , intent(in) :: queryx
2182 real(RKG) , intent(out) :: interp
2183 type(neinext_type) , intent(in) :: method
2184 end subroutine
2185#endif
2186
2187#if RK3_ENABLED
2188 PURE module subroutine setInterpNEXT_ND1_QD0_RK3(method, crdx, func, queryx, interp)
2189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2190 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD0_RK3
2191#endif
2192 use pm_kind, only: RKG => RK3
2193 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2194 real(RKG) , intent(in) :: queryx
2195 real(RKG) , intent(out) :: interp
2196 type(neinext_type) , intent(in) :: method
2197 end subroutine
2198#endif
2199
2200#if RK2_ENABLED
2201 PURE module subroutine setInterpNEXT_ND1_QD0_RK2(method, crdx, func, queryx, interp)
2202#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2203 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD0_RK2
2204#endif
2205 use pm_kind, only: RKG => RK2
2206 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2207 real(RKG) , intent(in) :: queryx
2208 real(RKG) , intent(out) :: interp
2209 type(neinext_type) , intent(in) :: method
2210 end subroutine
2211#endif
2212
2213#if RK1_ENABLED
2214 PURE module subroutine setInterpNEXT_ND1_QD0_RK1(method, crdx, func, queryx, interp)
2215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2216 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD0_RK1
2217#endif
2218 use pm_kind, only: RKG => RK1
2219 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2220 real(RKG) , intent(in) :: queryx
2221 real(RKG) , intent(out) :: interp
2222 type(neinext_type) , intent(in) :: method
2223 end subroutine
2224#endif
2225
2226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2227
2228#if RK5_ENABLED
2229 PURE module subroutine setInterpNEXT_ND1_QD1_RK5(method, crdx, func, queryx, interp)
2230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2231 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD1_RK5
2232#endif
2233 use pm_kind, only: RKG => RK5
2234 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2235 real(RKG) , intent(in) , contiguous :: queryx(:)
2236 real(RKG) , intent(out) , contiguous :: interp(:)
2237 type(neinext_type) , intent(in) :: method
2238 end subroutine
2239#endif
2240
2241#if RK4_ENABLED
2242 PURE module subroutine setInterpNEXT_ND1_QD1_RK4(method, crdx, func, queryx, interp)
2243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2244 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD1_RK4
2245#endif
2246 use pm_kind, only: RKG => RK4
2247 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2248 real(RKG) , intent(in) , contiguous :: queryx(:)
2249 real(RKG) , intent(out) , contiguous :: interp(:)
2250 type(neinext_type) , intent(in) :: method
2251 end subroutine
2252#endif
2253
2254#if RK3_ENABLED
2255 PURE module subroutine setInterpNEXT_ND1_QD1_RK3(method, crdx, func, queryx, interp)
2256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2257 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD1_RK3
2258#endif
2259 use pm_kind, only: RKG => RK3
2260 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2261 real(RKG) , intent(in) , contiguous :: queryx(:)
2262 real(RKG) , intent(out) , contiguous :: interp(:)
2263 type(neinext_type) , intent(in) :: method
2264 end subroutine
2265#endif
2266
2267#if RK2_ENABLED
2268 PURE module subroutine setInterpNEXT_ND1_QD1_RK2(method, crdx, func, queryx, interp)
2269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2270 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD1_RK2
2271#endif
2272 use pm_kind, only: RKG => RK2
2273 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2274 real(RKG) , intent(in) , contiguous :: queryx(:)
2275 real(RKG) , intent(out) , contiguous :: interp(:)
2276 type(neinext_type) , intent(in) :: method
2277 end subroutine
2278#endif
2279
2280#if RK1_ENABLED
2281 PURE module subroutine setInterpNEXT_ND1_QD1_RK1(method, crdx, func, queryx, interp)
2282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2283 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpNEXT_ND1_QD1_RK1
2284#endif
2285 use pm_kind, only: RKG => RK1
2286 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2287 real(RKG) , intent(in) , contiguous :: queryx(:)
2288 real(RKG) , intent(out) , contiguous :: interp(:)
2289 type(neinext_type) , intent(in) :: method
2290 end subroutine
2291#endif
2292
2293 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2294
2295 end interface
2296
2297 ! neiprev
2298
2299 interface setInterp
2300
2301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2302
2303#if RK5_ENABLED
2304 PURE module subroutine setInterpPREV_ND1_QD0_RK5(method, crdx, func, queryx, interp)
2305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2306 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD0_RK5
2307#endif
2308 use pm_kind, only: RKG => RK5
2309 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2310 real(RKG) , intent(in) :: queryx
2311 real(RKG) , intent(out) :: interp
2312 type(neiprev_type) , intent(in) :: method
2313 end subroutine
2314#endif
2315
2316#if RK4_ENABLED
2317 PURE module subroutine setInterpPREV_ND1_QD0_RK4(method, crdx, func, queryx, interp)
2318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2319 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD0_RK4
2320#endif
2321 use pm_kind, only: RKG => RK4
2322 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2323 real(RKG) , intent(in) :: queryx
2324 real(RKG) , intent(out) :: interp
2325 type(neiprev_type) , intent(in) :: method
2326 end subroutine
2327#endif
2328
2329#if RK3_ENABLED
2330 PURE module subroutine setInterpPREV_ND1_QD0_RK3(method, crdx, func, queryx, interp)
2331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2332 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD0_RK3
2333#endif
2334 use pm_kind, only: RKG => RK3
2335 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2336 real(RKG) , intent(in) :: queryx
2337 real(RKG) , intent(out) :: interp
2338 type(neiprev_type) , intent(in) :: method
2339 end subroutine
2340#endif
2341
2342#if RK2_ENABLED
2343 PURE module subroutine setInterpPREV_ND1_QD0_RK2(method, crdx, func, queryx, interp)
2344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2345 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD0_RK2
2346#endif
2347 use pm_kind, only: RKG => RK2
2348 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2349 real(RKG) , intent(in) :: queryx
2350 real(RKG) , intent(out) :: interp
2351 type(neiprev_type) , intent(in) :: method
2352 end subroutine
2353#endif
2354
2355#if RK1_ENABLED
2356 PURE module subroutine setInterpPREV_ND1_QD0_RK1(method, crdx, func, queryx, interp)
2357#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2358 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD0_RK1
2359#endif
2360 use pm_kind, only: RKG => RK1
2361 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2362 real(RKG) , intent(in) :: queryx
2363 real(RKG) , intent(out) :: interp
2364 type(neiprev_type) , intent(in) :: method
2365 end subroutine
2366#endif
2367
2368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2369
2370#if RK5_ENABLED
2371 PURE module subroutine setInterpPREV_ND1_QD1_RK5(method, crdx, func, queryx, interp)
2372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2373 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD1_RK5
2374#endif
2375 use pm_kind, only: RKG => RK5
2376 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2377 real(RKG) , intent(in) , contiguous :: queryx(:)
2378 real(RKG) , intent(out) , contiguous :: interp(:)
2379 type(neiprev_type) , intent(in) :: method
2380 end subroutine
2381#endif
2382
2383#if RK4_ENABLED
2384 PURE module subroutine setInterpPREV_ND1_QD1_RK4(method, crdx, func, queryx, interp)
2385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2386 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD1_RK4
2387#endif
2388 use pm_kind, only: RKG => RK4
2389 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2390 real(RKG) , intent(in) , contiguous :: queryx(:)
2391 real(RKG) , intent(out) , contiguous :: interp(:)
2392 type(neiprev_type) , intent(in) :: method
2393 end subroutine
2394#endif
2395
2396#if RK3_ENABLED
2397 PURE module subroutine setInterpPREV_ND1_QD1_RK3(method, crdx, func, queryx, interp)
2398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2399 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD1_RK3
2400#endif
2401 use pm_kind, only: RKG => RK3
2402 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2403 real(RKG) , intent(in) , contiguous :: queryx(:)
2404 real(RKG) , intent(out) , contiguous :: interp(:)
2405 type(neiprev_type) , intent(in) :: method
2406 end subroutine
2407#endif
2408
2409#if RK2_ENABLED
2410 PURE module subroutine setInterpPREV_ND1_QD1_RK2(method, crdx, func, queryx, interp)
2411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2412 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD1_RK2
2413#endif
2414 use pm_kind, only: RKG => RK2
2415 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2416 real(RKG) , intent(in) , contiguous :: queryx(:)
2417 real(RKG) , intent(out) , contiguous :: interp(:)
2418 type(neiprev_type) , intent(in) :: method
2419 end subroutine
2420#endif
2421
2422#if RK1_ENABLED
2423 PURE module subroutine setInterpPREV_ND1_QD1_RK1(method, crdx, func, queryx, interp)
2424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2425 !DEC$ ATTRIBUTES DLLEXPORT :: setInterpPREV_ND1_QD1_RK1
2426#endif
2427 use pm_kind, only: RKG => RK1
2428 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2429 real(RKG) , intent(in) , contiguous :: queryx(:)
2430 real(RKG) , intent(out) , contiguous :: interp(:)
2431 type(neiprev_type) , intent(in) :: method
2432 end subroutine
2433#endif
2434
2435 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2436
2437 end interface
2438
2439!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2440
2537
2538 ! monopol MNPLD
2539
2540 interface getExtrap
2541
2542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2543
2544#if RK5_ENABLED
2545 PURE module function getExtrapMNPLD_ND1_QD0_RK5(method, crdx, func, queryx) result(extrap)
2546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2547 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD0_RK5
2548#endif
2549 use pm_kind, only: RKG => RK5
2550 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2551 real(RKG) , intent(in) :: queryx
2552 real(RKG) :: extrap
2553 type(monopol_type) , intent(in) :: method
2554 end function
2555#endif
2556
2557#if RK4_ENABLED
2558 PURE module function getExtrapMNPLD_ND1_QD0_RK4(method, crdx, func, queryx) result(extrap)
2559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2560 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD0_RK4
2561#endif
2562 use pm_kind, only: RKG => RK4
2563 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2564 real(RKG) , intent(in) :: queryx
2565 real(RKG) :: extrap
2566 type(monopol_type) , intent(in) :: method
2567 end function
2568#endif
2569
2570#if RK3_ENABLED
2571 PURE module function getExtrapMNPLD_ND1_QD0_RK3(method, crdx, func, queryx) result(extrap)
2572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2573 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD0_RK3
2574#endif
2575 use pm_kind, only: RKG => RK3
2576 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2577 real(RKG) , intent(in) :: queryx
2578 real(RKG) :: extrap
2579 type(monopol_type) , intent(in) :: method
2580 end function
2581#endif
2582
2583#if RK2_ENABLED
2584 PURE module function getExtrapMNPLD_ND1_QD0_RK2(method, crdx, func, queryx) result(extrap)
2585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2586 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD0_RK2
2587#endif
2588 use pm_kind, only: RKG => RK2
2589 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2590 real(RKG) , intent(in) :: queryx
2591 real(RKG) :: extrap
2592 type(monopol_type) , intent(in) :: method
2593 end function
2594#endif
2595
2596#if RK1_ENABLED
2597 PURE module function getExtrapMNPLD_ND1_QD0_RK1(method, crdx, func, queryx) result(extrap)
2598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2599 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD0_RK1
2600#endif
2601 use pm_kind, only: RKG => RK1
2602 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2603 real(RKG) , intent(in) :: queryx
2604 real(RKG) :: extrap
2605 type(monopol_type) , intent(in) :: method
2606 end function
2607#endif
2608
2609 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2610
2611#if RK5_ENABLED
2612 PURE module function getExtrapMNPLD_ND1_QD1_RK5(method, crdx, func, queryx) result(extrap)
2613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2614 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD1_RK5
2615#endif
2616 use pm_kind, only: RKG => RK5
2617 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2618 real(RKG) , intent(in) , contiguous :: queryx(:)
2619 real(RKG) :: extrap(size(queryx, 1, IK))
2620 type(monopol_type) , intent(in) :: method
2621 end function
2622#endif
2623
2624#if RK4_ENABLED
2625 PURE module function getExtrapMNPLD_ND1_QD1_RK4(method, crdx, func, queryx) result(extrap)
2626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2627 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD1_RK4
2628#endif
2629 use pm_kind, only: RKG => RK4
2630 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2631 real(RKG) , intent(in) , contiguous :: queryx(:)
2632 real(RKG) :: extrap(size(queryx, 1, IK))
2633 type(monopol_type) , intent(in) :: method
2634 end function
2635#endif
2636
2637#if RK3_ENABLED
2638 PURE module function getExtrapMNPLD_ND1_QD1_RK3(method, crdx, func, queryx) result(extrap)
2639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2640 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD1_RK3
2641#endif
2642 use pm_kind, only: RKG => RK3
2643 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2644 real(RKG) , intent(in) , contiguous :: queryx(:)
2645 real(RKG) :: extrap(size(queryx, 1, IK))
2646 type(monopol_type) , intent(in) :: method
2647 end function
2648#endif
2649
2650#if RK2_ENABLED
2651 PURE module function getExtrapMNPLD_ND1_QD1_RK2(method, crdx, func, queryx) result(extrap)
2652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2653 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD1_RK2
2654#endif
2655 use pm_kind, only: RKG => RK2
2656 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2657 real(RKG) , intent(in) , contiguous :: queryx(:)
2658 real(RKG) :: extrap(size(queryx, 1, IK))
2659 type(monopol_type) , intent(in) :: method
2660 end function
2661#endif
2662
2663#if RK1_ENABLED
2664 PURE module function getExtrapMNPLD_ND1_QD1_RK1(method, crdx, func, queryx) result(extrap)
2665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2666 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMNPLD_ND1_QD1_RK1
2667#endif
2668 use pm_kind, only: RKG => RK1
2669 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2670 real(RKG) , intent(in) , contiguous :: queryx(:)
2671 real(RKG) :: extrap(size(queryx, 1, IK))
2672 type(monopol_type) , intent(in) :: method
2673 end function
2674#endif
2675
2676 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2677
2678 end interface
2679
2680 ! piwilin
2681
2682 interface getExtrap
2683
2684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2685
2686#if RK5_ENABLED
2687 PURE module function getExtrapPWLN_ND1_QD0_RK5(method, crdx, func, queryx) result(extrap)
2688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2689 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD0_RK5
2690#endif
2691 use pm_kind, only: RKG => RK5
2692 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2693 real(RKG) , intent(in) :: queryx
2694 real(RKG) :: extrap
2695 type(piwilin_type) , intent(in) :: method
2696 end function
2697#endif
2698
2699#if RK4_ENABLED
2700 PURE module function getExtrapPWLN_ND1_QD0_RK4(method, crdx, func, queryx) result(extrap)
2701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2702 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD0_RK4
2703#endif
2704 use pm_kind, only: RKG => RK4
2705 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2706 real(RKG) , intent(in) :: queryx
2707 real(RKG) :: extrap
2708 type(piwilin_type) , intent(in) :: method
2709 end function
2710#endif
2711
2712#if RK3_ENABLED
2713 PURE module function getExtrapPWLN_ND1_QD0_RK3(method, crdx, func, queryx) result(extrap)
2714#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2715 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD0_RK3
2716#endif
2717 use pm_kind, only: RKG => RK3
2718 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2719 real(RKG) , intent(in) :: queryx
2720 real(RKG) :: extrap
2721 type(piwilin_type) , intent(in) :: method
2722 end function
2723#endif
2724
2725#if RK2_ENABLED
2726 PURE module function getExtrapPWLN_ND1_QD0_RK2(method, crdx, func, queryx) result(extrap)
2727#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2728 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD0_RK2
2729#endif
2730 use pm_kind, only: RKG => RK2
2731 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2732 real(RKG) , intent(in) :: queryx
2733 real(RKG) :: extrap
2734 type(piwilin_type) , intent(in) :: method
2735 end function
2736#endif
2737
2738#if RK1_ENABLED
2739 PURE module function getExtrapPWLN_ND1_QD0_RK1(method, crdx, func, queryx) result(extrap)
2740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2741 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD0_RK1
2742#endif
2743 use pm_kind, only: RKG => RK1
2744 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2745 real(RKG) , intent(in) :: queryx
2746 real(RKG) :: extrap
2747 type(piwilin_type) , intent(in) :: method
2748 end function
2749#endif
2750
2751 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2752
2753#if RK5_ENABLED
2754 PURE module function getExtrapPWLN_ND1_QD1_RK5(method, crdx, func, queryx) result(extrap)
2755#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2756 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD1_RK5
2757#endif
2758 use pm_kind, only: RKG => RK5
2759 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2760 real(RKG) , intent(in) , contiguous :: queryx(:)
2761 real(RKG) :: extrap(size(queryx, 1, IK))
2762 type(piwilin_type) , intent(in) :: method
2763 end function
2764#endif
2765
2766#if RK4_ENABLED
2767 PURE module function getExtrapPWLN_ND1_QD1_RK4(method, crdx, func, queryx) result(extrap)
2768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2769 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD1_RK4
2770#endif
2771 use pm_kind, only: RKG => RK4
2772 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2773 real(RKG) , intent(in) , contiguous :: queryx(:)
2774 real(RKG) :: extrap(size(queryx, 1, IK))
2775 type(piwilin_type) , intent(in) :: method
2776 end function
2777#endif
2778
2779#if RK3_ENABLED
2780 PURE module function getExtrapPWLN_ND1_QD1_RK3(method, crdx, func, queryx) result(extrap)
2781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2782 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD1_RK3
2783#endif
2784 use pm_kind, only: RKG => RK3
2785 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2786 real(RKG) , intent(in) , contiguous :: queryx(:)
2787 real(RKG) :: extrap(size(queryx, 1, IK))
2788 type(piwilin_type) , intent(in) :: method
2789 end function
2790#endif
2791
2792#if RK2_ENABLED
2793 PURE module function getExtrapPWLN_ND1_QD1_RK2(method, crdx, func, queryx) result(extrap)
2794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2795 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD1_RK2
2796#endif
2797 use pm_kind, only: RKG => RK2
2798 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2799 real(RKG) , intent(in) , contiguous :: queryx(:)
2800 real(RKG) :: extrap(size(queryx, 1, IK))
2801 type(piwilin_type) , intent(in) :: method
2802 end function
2803#endif
2804
2805#if RK1_ENABLED
2806 PURE module function getExtrapPWLN_ND1_QD1_RK1(method, crdx, func, queryx) result(extrap)
2807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2808 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPWLN_ND1_QD1_RK1
2809#endif
2810 use pm_kind, only: RKG => RK1
2811 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2812 real(RKG) , intent(in) , contiguous :: queryx(:)
2813 real(RKG) :: extrap(size(queryx, 1, IK))
2814 type(piwilin_type) , intent(in) :: method
2815 end function
2816#endif
2817
2818 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2819
2820 end interface
2821
2822 ! neimean
2823
2824 interface getExtrap
2825
2826 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2827
2828#if RK5_ENABLED
2829 PURE module function getExtrapMEAN_ND1_QD0_RK5(method, crdx, func, queryx) result(extrap)
2830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2831 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD0_RK5
2832#endif
2833 use pm_kind, only: RKG => RK5
2834 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2835 real(RKG) , intent(in) :: queryx
2836 real(RKG) :: extrap
2837 type(neimean_type) , intent(in) :: method
2838 end function
2839#endif
2840
2841#if RK4_ENABLED
2842 PURE module function getExtrapMEAN_ND1_QD0_RK4(method, crdx, func, queryx) result(extrap)
2843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2844 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD0_RK4
2845#endif
2846 use pm_kind, only: RKG => RK4
2847 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2848 real(RKG) , intent(in) :: queryx
2849 real(RKG) :: extrap
2850 type(neimean_type) , intent(in) :: method
2851 end function
2852#endif
2853
2854#if RK3_ENABLED
2855 PURE module function getExtrapMEAN_ND1_QD0_RK3(method, crdx, func, queryx) result(extrap)
2856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2857 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD0_RK3
2858#endif
2859 use pm_kind, only: RKG => RK3
2860 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2861 real(RKG) , intent(in) :: queryx
2862 real(RKG) :: extrap
2863 type(neimean_type) , intent(in) :: method
2864 end function
2865#endif
2866
2867#if RK2_ENABLED
2868 PURE module function getExtrapMEAN_ND1_QD0_RK2(method, crdx, func, queryx) result(extrap)
2869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2870 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD0_RK2
2871#endif
2872 use pm_kind, only: RKG => RK2
2873 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2874 real(RKG) , intent(in) :: queryx
2875 real(RKG) :: extrap
2876 type(neimean_type) , intent(in) :: method
2877 end function
2878#endif
2879
2880#if RK1_ENABLED
2881 PURE module function getExtrapMEAN_ND1_QD0_RK1(method, crdx, func, queryx) result(extrap)
2882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2883 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD0_RK1
2884#endif
2885 use pm_kind, only: RKG => RK1
2886 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2887 real(RKG) , intent(in) :: queryx
2888 real(RKG) :: extrap
2889 type(neimean_type) , intent(in) :: method
2890 end function
2891#endif
2892
2893 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2894
2895#if RK5_ENABLED
2896 PURE module function getExtrapMEAN_ND1_QD1_RK5(method, crdx, func, queryx) result(extrap)
2897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2898 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD1_RK5
2899#endif
2900 use pm_kind, only: RKG => RK5
2901 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2902 real(RKG) , intent(in) , contiguous :: queryx(:)
2903 real(RKG) :: extrap(size(queryx, 1, IK))
2904 type(neimean_type) , intent(in) :: method
2905 end function
2906#endif
2907
2908#if RK4_ENABLED
2909 PURE module function getExtrapMEAN_ND1_QD1_RK4(method, crdx, func, queryx) result(extrap)
2910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2911 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD1_RK4
2912#endif
2913 use pm_kind, only: RKG => RK4
2914 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2915 real(RKG) , intent(in) , contiguous :: queryx(:)
2916 real(RKG) :: extrap(size(queryx, 1, IK))
2917 type(neimean_type) , intent(in) :: method
2918 end function
2919#endif
2920
2921#if RK3_ENABLED
2922 PURE module function getExtrapMEAN_ND1_QD1_RK3(method, crdx, func, queryx) result(extrap)
2923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2924 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD1_RK3
2925#endif
2926 use pm_kind, only: RKG => RK3
2927 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2928 real(RKG) , intent(in) , contiguous :: queryx(:)
2929 real(RKG) :: extrap(size(queryx, 1, IK))
2930 type(neimean_type) , intent(in) :: method
2931 end function
2932#endif
2933
2934#if RK2_ENABLED
2935 PURE module function getExtrapMEAN_ND1_QD1_RK2(method, crdx, func, queryx) result(extrap)
2936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2937 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD1_RK2
2938#endif
2939 use pm_kind, only: RKG => RK2
2940 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2941 real(RKG) , intent(in) , contiguous :: queryx(:)
2942 real(RKG) :: extrap(size(queryx, 1, IK))
2943 type(neimean_type) , intent(in) :: method
2944 end function
2945#endif
2946
2947#if RK1_ENABLED
2948 PURE module function getExtrapMEAN_ND1_QD1_RK1(method, crdx, func, queryx) result(extrap)
2949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2950 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapMEAN_ND1_QD1_RK1
2951#endif
2952 use pm_kind, only: RKG => RK1
2953 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2954 real(RKG) , intent(in) , contiguous :: queryx(:)
2955 real(RKG) :: extrap(size(queryx, 1, IK))
2956 type(neimean_type) , intent(in) :: method
2957 end function
2958#endif
2959
2960 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2961
2962 end interface
2963
2964 ! neinear
2965
2966 interface getExtrap
2967
2968 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2969
2970#if RK5_ENABLED
2971 PURE module function getExtrapNEAR_ND1_QD0_RK5(method, crdx, func, queryx) result(extrap)
2972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2973 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD0_RK5
2974#endif
2975 use pm_kind, only: RKG => RK5
2976 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2977 real(RKG) , intent(in) :: queryx
2978 real(RKG) :: extrap
2979 type(neinear_type) , intent(in) :: method
2980 end function
2981#endif
2982
2983#if RK4_ENABLED
2984 PURE module function getExtrapNEAR_ND1_QD0_RK4(method, crdx, func, queryx) result(extrap)
2985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2986 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD0_RK4
2987#endif
2988 use pm_kind, only: RKG => RK4
2989 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
2990 real(RKG) , intent(in) :: queryx
2991 real(RKG) :: extrap
2992 type(neinear_type) , intent(in) :: method
2993 end function
2994#endif
2995
2996#if RK3_ENABLED
2997 PURE module function getExtrapNEAR_ND1_QD0_RK3(method, crdx, func, queryx) result(extrap)
2998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2999 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD0_RK3
3000#endif
3001 use pm_kind, only: RKG => RK3
3002 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3003 real(RKG) , intent(in) :: queryx
3004 real(RKG) :: extrap
3005 type(neinear_type) , intent(in) :: method
3006 end function
3007#endif
3008
3009#if RK2_ENABLED
3010 PURE module function getExtrapNEAR_ND1_QD0_RK2(method, crdx, func, queryx) result(extrap)
3011#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3012 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD0_RK2
3013#endif
3014 use pm_kind, only: RKG => RK2
3015 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3016 real(RKG) , intent(in) :: queryx
3017 real(RKG) :: extrap
3018 type(neinear_type) , intent(in) :: method
3019 end function
3020#endif
3021
3022#if RK1_ENABLED
3023 PURE module function getExtrapNEAR_ND1_QD0_RK1(method, crdx, func, queryx) result(extrap)
3024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3025 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD0_RK1
3026#endif
3027 use pm_kind, only: RKG => RK1
3028 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3029 real(RKG) , intent(in) :: queryx
3030 real(RKG) :: extrap
3031 type(neinear_type) , intent(in) :: method
3032 end function
3033#endif
3034
3035 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3036
3037#if RK5_ENABLED
3038 PURE module function getExtrapNEAR_ND1_QD1_RK5(method, crdx, func, queryx) result(extrap)
3039#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3040 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD1_RK5
3041#endif
3042 use pm_kind, only: RKG => RK5
3043 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3044 real(RKG) , intent(in) , contiguous :: queryx(:)
3045 real(RKG) :: extrap(size(queryx, 1, IK))
3046 type(neinear_type) , intent(in) :: method
3047 end function
3048#endif
3049
3050#if RK4_ENABLED
3051 PURE module function getExtrapNEAR_ND1_QD1_RK4(method, crdx, func, queryx) result(extrap)
3052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3053 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD1_RK4
3054#endif
3055 use pm_kind, only: RKG => RK4
3056 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3057 real(RKG) , intent(in) , contiguous :: queryx(:)
3058 real(RKG) :: extrap(size(queryx, 1, IK))
3059 type(neinear_type) , intent(in) :: method
3060 end function
3061#endif
3062
3063#if RK3_ENABLED
3064 PURE module function getExtrapNEAR_ND1_QD1_RK3(method, crdx, func, queryx) result(extrap)
3065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3066 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD1_RK3
3067#endif
3068 use pm_kind, only: RKG => RK3
3069 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3070 real(RKG) , intent(in) , contiguous :: queryx(:)
3071 real(RKG) :: extrap(size(queryx, 1, IK))
3072 type(neinear_type) , intent(in) :: method
3073 end function
3074#endif
3075
3076#if RK2_ENABLED
3077 PURE module function getExtrapNEAR_ND1_QD1_RK2(method, crdx, func, queryx) result(extrap)
3078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3079 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD1_RK2
3080#endif
3081 use pm_kind, only: RKG => RK2
3082 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3083 real(RKG) , intent(in) , contiguous :: queryx(:)
3084 real(RKG) :: extrap(size(queryx, 1, IK))
3085 type(neinear_type) , intent(in) :: method
3086 end function
3087#endif
3088
3089#if RK1_ENABLED
3090 PURE module function getExtrapNEAR_ND1_QD1_RK1(method, crdx, func, queryx) result(extrap)
3091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3092 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEAR_ND1_QD1_RK1
3093#endif
3094 use pm_kind, only: RKG => RK1
3095 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3096 real(RKG) , intent(in) , contiguous :: queryx(:)
3097 real(RKG) :: extrap(size(queryx, 1, IK))
3098 type(neinear_type) , intent(in) :: method
3099 end function
3100#endif
3101
3102 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3103
3104 end interface
3105
3106 ! neinext
3107
3108 interface getExtrap
3109
3110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3111
3112#if RK5_ENABLED
3113 PURE module function getExtrapNEXT_ND1_QD0_RK5(method, crdx, func, queryx) result(extrap)
3114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3115 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD0_RK5
3116#endif
3117 use pm_kind, only: RKG => RK5
3118 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3119 real(RKG) , intent(in) :: queryx
3120 real(RKG) :: extrap
3121 type(neinext_type) , intent(in) :: method
3122 end function
3123#endif
3124
3125#if RK4_ENABLED
3126 PURE module function getExtrapNEXT_ND1_QD0_RK4(method, crdx, func, queryx) result(extrap)
3127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3128 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD0_RK4
3129#endif
3130 use pm_kind, only: RKG => RK4
3131 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3132 real(RKG) , intent(in) :: queryx
3133 real(RKG) :: extrap
3134 type(neinext_type) , intent(in) :: method
3135 end function
3136#endif
3137
3138#if RK3_ENABLED
3139 PURE module function getExtrapNEXT_ND1_QD0_RK3(method, crdx, func, queryx) result(extrap)
3140#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3141 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD0_RK3
3142#endif
3143 use pm_kind, only: RKG => RK3
3144 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3145 real(RKG) , intent(in) :: queryx
3146 real(RKG) :: extrap
3147 type(neinext_type) , intent(in) :: method
3148 end function
3149#endif
3150
3151#if RK2_ENABLED
3152 PURE module function getExtrapNEXT_ND1_QD0_RK2(method, crdx, func, queryx) result(extrap)
3153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3154 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD0_RK2
3155#endif
3156 use pm_kind, only: RKG => RK2
3157 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3158 real(RKG) , intent(in) :: queryx
3159 real(RKG) :: extrap
3160 type(neinext_type) , intent(in) :: method
3161 end function
3162#endif
3163
3164#if RK1_ENABLED
3165 PURE module function getExtrapNEXT_ND1_QD0_RK1(method, crdx, func, queryx) result(extrap)
3166#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3167 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD0_RK1
3168#endif
3169 use pm_kind, only: RKG => RK1
3170 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3171 real(RKG) , intent(in) :: queryx
3172 real(RKG) :: extrap
3173 type(neinext_type) , intent(in) :: method
3174 end function
3175#endif
3176
3177 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3178
3179#if RK5_ENABLED
3180 PURE module function getExtrapNEXT_ND1_QD1_RK5(method, crdx, func, queryx) result(extrap)
3181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3182 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD1_RK5
3183#endif
3184 use pm_kind, only: RKG => RK5
3185 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3186 real(RKG) , intent(in) , contiguous :: queryx(:)
3187 real(RKG) :: extrap(size(queryx, 1, IK))
3188 type(neinext_type) , intent(in) :: method
3189 end function
3190#endif
3191
3192#if RK4_ENABLED
3193 PURE module function getExtrapNEXT_ND1_QD1_RK4(method, crdx, func, queryx) result(extrap)
3194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3195 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD1_RK4
3196#endif
3197 use pm_kind, only: RKG => RK4
3198 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3199 real(RKG) , intent(in) , contiguous :: queryx(:)
3200 real(RKG) :: extrap(size(queryx, 1, IK))
3201 type(neinext_type) , intent(in) :: method
3202 end function
3203#endif
3204
3205#if RK3_ENABLED
3206 PURE module function getExtrapNEXT_ND1_QD1_RK3(method, crdx, func, queryx) result(extrap)
3207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3208 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD1_RK3
3209#endif
3210 use pm_kind, only: RKG => RK3
3211 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3212 real(RKG) , intent(in) , contiguous :: queryx(:)
3213 real(RKG) :: extrap(size(queryx, 1, IK))
3214 type(neinext_type) , intent(in) :: method
3215 end function
3216#endif
3217
3218#if RK2_ENABLED
3219 PURE module function getExtrapNEXT_ND1_QD1_RK2(method, crdx, func, queryx) result(extrap)
3220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3221 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD1_RK2
3222#endif
3223 use pm_kind, only: RKG => RK2
3224 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3225 real(RKG) , intent(in) , contiguous :: queryx(:)
3226 real(RKG) :: extrap(size(queryx, 1, IK))
3227 type(neinext_type) , intent(in) :: method
3228 end function
3229#endif
3230
3231#if RK1_ENABLED
3232 PURE module function getExtrapNEXT_ND1_QD1_RK1(method, crdx, func, queryx) result(extrap)
3233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3234 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapNEXT_ND1_QD1_RK1
3235#endif
3236 use pm_kind, only: RKG => RK1
3237 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3238 real(RKG) , intent(in) , contiguous :: queryx(:)
3239 real(RKG) :: extrap(size(queryx, 1, IK))
3240 type(neinext_type) , intent(in) :: method
3241 end function
3242#endif
3243
3244 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3245
3246 end interface
3247
3248 ! neiprev
3249
3250 interface getExtrap
3251
3252 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3253
3254#if RK5_ENABLED
3255 PURE module function getExtrapPREV_ND1_QD0_RK5(method, crdx, func, queryx) result(extrap)
3256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3257 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD0_RK5
3258#endif
3259 use pm_kind, only: RKG => RK5
3260 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3261 real(RKG) , intent(in) :: queryx
3262 real(RKG) :: extrap
3263 type(neiprev_type) , intent(in) :: method
3264 end function
3265#endif
3266
3267#if RK4_ENABLED
3268 PURE module function getExtrapPREV_ND1_QD0_RK4(method, crdx, func, queryx) result(extrap)
3269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3270 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD0_RK4
3271#endif
3272 use pm_kind, only: RKG => RK4
3273 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3274 real(RKG) , intent(in) :: queryx
3275 real(RKG) :: extrap
3276 type(neiprev_type) , intent(in) :: method
3277 end function
3278#endif
3279
3280#if RK3_ENABLED
3281 PURE module function getExtrapPREV_ND1_QD0_RK3(method, crdx, func, queryx) result(extrap)
3282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3283 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD0_RK3
3284#endif
3285 use pm_kind, only: RKG => RK3
3286 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3287 real(RKG) , intent(in) :: queryx
3288 real(RKG) :: extrap
3289 type(neiprev_type) , intent(in) :: method
3290 end function
3291#endif
3292
3293#if RK2_ENABLED
3294 PURE module function getExtrapPREV_ND1_QD0_RK2(method, crdx, func, queryx) result(extrap)
3295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3296 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD0_RK2
3297#endif
3298 use pm_kind, only: RKG => RK2
3299 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3300 real(RKG) , intent(in) :: queryx
3301 real(RKG) :: extrap
3302 type(neiprev_type) , intent(in) :: method
3303 end function
3304#endif
3305
3306#if RK1_ENABLED
3307 PURE module function getExtrapPREV_ND1_QD0_RK1(method, crdx, func, queryx) result(extrap)
3308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3309 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD0_RK1
3310#endif
3311 use pm_kind, only: RKG => RK1
3312 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3313 real(RKG) , intent(in) :: queryx
3314 real(RKG) :: extrap
3315 type(neiprev_type) , intent(in) :: method
3316 end function
3317#endif
3318
3319 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3320
3321#if RK5_ENABLED
3322 PURE module function getExtrapPREV_ND1_QD1_RK5(method, crdx, func, queryx) result(extrap)
3323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3324 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD1_RK5
3325#endif
3326 use pm_kind, only: RKG => RK5
3327 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3328 real(RKG) , intent(in) , contiguous :: queryx(:)
3329 real(RKG) :: extrap(size(queryx, 1, IK))
3330 type(neiprev_type) , intent(in) :: method
3331 end function
3332#endif
3333
3334#if RK4_ENABLED
3335 PURE module function getExtrapPREV_ND1_QD1_RK4(method, crdx, func, queryx) result(extrap)
3336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3337 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD1_RK4
3338#endif
3339 use pm_kind, only: RKG => RK4
3340 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3341 real(RKG) , intent(in) , contiguous :: queryx(:)
3342 real(RKG) :: extrap(size(queryx, 1, IK))
3343 type(neiprev_type) , intent(in) :: method
3344 end function
3345#endif
3346
3347#if RK3_ENABLED
3348 PURE module function getExtrapPREV_ND1_QD1_RK3(method, crdx, func, queryx) result(extrap)
3349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3350 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD1_RK3
3351#endif
3352 use pm_kind, only: RKG => RK3
3353 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3354 real(RKG) , intent(in) , contiguous :: queryx(:)
3355 real(RKG) :: extrap(size(queryx, 1, IK))
3356 type(neiprev_type) , intent(in) :: method
3357 end function
3358#endif
3359
3360#if RK2_ENABLED
3361 PURE module function getExtrapPREV_ND1_QD1_RK2(method, crdx, func, queryx) result(extrap)
3362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3363 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD1_RK2
3364#endif
3365 use pm_kind, only: RKG => RK2
3366 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3367 real(RKG) , intent(in) , contiguous :: queryx(:)
3368 real(RKG) :: extrap(size(queryx, 1, IK))
3369 type(neiprev_type) , intent(in) :: method
3370 end function
3371#endif
3372
3373#if RK1_ENABLED
3374 PURE module function getExtrapPREV_ND1_QD1_RK1(method, crdx, func, queryx) result(extrap)
3375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3376 !DEC$ ATTRIBUTES DLLEXPORT :: getExtrapPREV_ND1_QD1_RK1
3377#endif
3378 use pm_kind, only: RKG => RK1
3379 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3380 real(RKG) , intent(in) , contiguous :: queryx(:)
3381 real(RKG) :: extrap(size(queryx, 1, IK))
3382 type(neiprev_type) , intent(in) :: method
3383 end function
3384#endif
3385
3386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3387
3388 end interface
3389
3390!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3391
3493
3494 ! monopol MNPLD
3495
3496 interface setExtrap
3497
3498 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3499
3500#if RK5_ENABLED
3501 PURE module subroutine setExtrapMNPLD_ND1_QD0_RK5(method, crdx, func, queryx, extrap)
3502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3503 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD0_RK5
3504#endif
3505 use pm_kind, only: RKG => RK5
3506 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3507 real(RKG) , intent(in) :: queryx
3508 real(RKG) , intent(out) :: extrap
3509 type(monopol_type) , intent(in) :: method
3510 end subroutine
3511#endif
3512
3513#if RK4_ENABLED
3514 PURE module subroutine setExtrapMNPLD_ND1_QD0_RK4(method, crdx, func, queryx, extrap)
3515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3516 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD0_RK4
3517#endif
3518 use pm_kind, only: RKG => RK4
3519 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3520 real(RKG) , intent(in) :: queryx
3521 real(RKG) , intent(out) :: extrap
3522 type(monopol_type) , intent(in) :: method
3523 end subroutine
3524#endif
3525
3526#if RK3_ENABLED
3527 PURE module subroutine setExtrapMNPLD_ND1_QD0_RK3(method, crdx, func, queryx, extrap)
3528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3529 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD0_RK3
3530#endif
3531 use pm_kind, only: RKG => RK3
3532 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3533 real(RKG) , intent(in) :: queryx
3534 real(RKG) , intent(out) :: extrap
3535 type(monopol_type) , intent(in) :: method
3536 end subroutine
3537#endif
3538
3539#if RK2_ENABLED
3540 PURE module subroutine setExtrapMNPLD_ND1_QD0_RK2(method, crdx, func, queryx, extrap)
3541#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3542 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD0_RK2
3543#endif
3544 use pm_kind, only: RKG => RK2
3545 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3546 real(RKG) , intent(in) :: queryx
3547 real(RKG) , intent(out) :: extrap
3548 type(monopol_type) , intent(in) :: method
3549 end subroutine
3550#endif
3551
3552#if RK1_ENABLED
3553 PURE module subroutine setExtrapMNPLD_ND1_QD0_RK1(method, crdx, func, queryx, extrap)
3554#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3555 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD0_RK1
3556#endif
3557 use pm_kind, only: RKG => RK1
3558 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3559 real(RKG) , intent(in) :: queryx
3560 real(RKG) , intent(out) :: extrap
3561 type(monopol_type) , intent(in) :: method
3562 end subroutine
3563#endif
3564
3565 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3566
3567#if RK5_ENABLED
3568 PURE module subroutine setExtrapMNPLD_ND1_QD1_RK5(method, crdx, func, queryx, extrap)
3569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3570 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD1_RK5
3571#endif
3572 use pm_kind, only: RKG => RK5
3573 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3574 real(RKG) , intent(in) , contiguous :: queryx(:)
3575 real(RKG) , intent(out) , contiguous :: extrap(:)
3576 type(monopol_type) , intent(in) :: method
3577 end subroutine
3578#endif
3579
3580#if RK4_ENABLED
3581 PURE module subroutine setExtrapMNPLD_ND1_QD1_RK4(method, crdx, func, queryx, extrap)
3582#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3583 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD1_RK4
3584#endif
3585 use pm_kind, only: RKG => RK4
3586 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3587 real(RKG) , intent(in) , contiguous :: queryx(:)
3588 real(RKG) , intent(out) , contiguous :: extrap(:)
3589 type(monopol_type) , intent(in) :: method
3590 end subroutine
3591#endif
3592
3593#if RK3_ENABLED
3594 PURE module subroutine setExtrapMNPLD_ND1_QD1_RK3(method, crdx, func, queryx, extrap)
3595#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3596 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD1_RK3
3597#endif
3598 use pm_kind, only: RKG => RK3
3599 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3600 real(RKG) , intent(in) , contiguous :: queryx(:)
3601 real(RKG) , intent(out) , contiguous :: extrap(:)
3602 type(monopol_type) , intent(in) :: method
3603 end subroutine
3604#endif
3605
3606#if RK2_ENABLED
3607 PURE module subroutine setExtrapMNPLD_ND1_QD1_RK2(method, crdx, func, queryx, extrap)
3608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3609 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD1_RK2
3610#endif
3611 use pm_kind, only: RKG => RK2
3612 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3613 real(RKG) , intent(in) , contiguous :: queryx(:)
3614 real(RKG) , intent(out) , contiguous :: extrap(:)
3615 type(monopol_type) , intent(in) :: method
3616 end subroutine
3617#endif
3618
3619#if RK1_ENABLED
3620 PURE module subroutine setExtrapMNPLD_ND1_QD1_RK1(method, crdx, func, queryx, extrap)
3621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3622 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLD_ND1_QD1_RK1
3623#endif
3624 use pm_kind, only: RKG => RK1
3625 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3626 real(RKG) , intent(in) , contiguous :: queryx(:)
3627 real(RKG) , intent(out) , contiguous :: extrap(:)
3628 type(monopol_type) , intent(in) :: method
3629 end subroutine
3630#endif
3631
3632 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3633
3634 end interface
3635
3636 ! monopol MNPLE
3637
3638 interface setExtrap
3639
3640 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3641
3642#if RK5_ENABLED
3643 PURE module subroutine setExtrapMNPLE_ND1_QD0_RK5(method, crdx, func, queryx, extrap, relerr)
3644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3645 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD0_RK5
3646#endif
3647 use pm_kind, only: RKG => RK5
3648 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3649 real(RKG) , intent(in) :: queryx
3650 real(RKG) , intent(out) :: extrap, relerr
3651 type(monopol_type) , intent(in) :: method
3652 end subroutine
3653#endif
3654
3655#if RK4_ENABLED
3656 PURE module subroutine setExtrapMNPLE_ND1_QD0_RK4(method, crdx, func, queryx, extrap, relerr)
3657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3658 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD0_RK4
3659#endif
3660 use pm_kind, only: RKG => RK4
3661 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3662 real(RKG) , intent(in) :: queryx
3663 real(RKG) , intent(out) :: extrap, relerr
3664 type(monopol_type) , intent(in) :: method
3665 end subroutine
3666#endif
3667
3668#if RK3_ENABLED
3669 PURE module subroutine setExtrapMNPLE_ND1_QD0_RK3(method, crdx, func, queryx, extrap, relerr)
3670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3671 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD0_RK3
3672#endif
3673 use pm_kind, only: RKG => RK3
3674 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3675 real(RKG) , intent(in) :: queryx
3676 real(RKG) , intent(out) :: extrap, relerr
3677 type(monopol_type) , intent(in) :: method
3678 end subroutine
3679#endif
3680
3681#if RK2_ENABLED
3682 PURE module subroutine setExtrapMNPLE_ND1_QD0_RK2(method, crdx, func, queryx, extrap, relerr)
3683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3684 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD0_RK2
3685#endif
3686 use pm_kind, only: RKG => RK2
3687 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3688 real(RKG) , intent(in) :: queryx
3689 real(RKG) , intent(out) :: extrap, relerr
3690 type(monopol_type) , intent(in) :: method
3691 end subroutine
3692#endif
3693
3694#if RK1_ENABLED
3695 PURE module subroutine setExtrapMNPLE_ND1_QD0_RK1(method, crdx, func, queryx, extrap, relerr)
3696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3697 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD0_RK1
3698#endif
3699 use pm_kind, only: RKG => RK1
3700 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3701 real(RKG) , intent(in) :: queryx
3702 real(RKG) , intent(out) :: extrap, relerr
3703 type(monopol_type) , intent(in) :: method
3704 end subroutine
3705#endif
3706
3707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3708
3709#if RK5_ENABLED
3710 PURE module subroutine setExtrapMNPLE_ND1_QD1_RK5(method, crdx, func, queryx, extrap, relerr)
3711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3712 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD1_RK5
3713#endif
3714 use pm_kind, only: RKG => RK5
3715 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3716 real(RKG) , intent(in) , contiguous :: queryx(:)
3717 real(RKG) , intent(out) , contiguous :: extrap(:), relerr(:)
3718 type(monopol_type) , intent(in) :: method
3719 end subroutine
3720#endif
3721
3722#if RK4_ENABLED
3723 PURE module subroutine setExtrapMNPLE_ND1_QD1_RK4(method, crdx, func, queryx, extrap, relerr)
3724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3725 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD1_RK4
3726#endif
3727 use pm_kind, only: RKG => RK4
3728 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3729 real(RKG) , intent(in) , contiguous :: queryx(:)
3730 real(RKG) , intent(out) , contiguous :: extrap(:), relerr(:)
3731 type(monopol_type) , intent(in) :: method
3732 end subroutine
3733#endif
3734
3735#if RK3_ENABLED
3736 PURE module subroutine setExtrapMNPLE_ND1_QD1_RK3(method, crdx, func, queryx, extrap, relerr)
3737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3738 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD1_RK3
3739#endif
3740 use pm_kind, only: RKG => RK3
3741 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3742 real(RKG) , intent(in) , contiguous :: queryx(:)
3743 real(RKG) , intent(out) , contiguous :: extrap(:), relerr(:)
3744 type(monopol_type) , intent(in) :: method
3745 end subroutine
3746#endif
3747
3748#if RK2_ENABLED
3749 PURE module subroutine setExtrapMNPLE_ND1_QD1_RK2(method, crdx, func, queryx, extrap, relerr)
3750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3751 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD1_RK2
3752#endif
3753 use pm_kind, only: RKG => RK2
3754 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3755 real(RKG) , intent(in) , contiguous :: queryx(:)
3756 real(RKG) , intent(out) , contiguous :: extrap(:), relerr(:)
3757 type(monopol_type) , intent(in) :: method
3758 end subroutine
3759#endif
3760
3761#if RK1_ENABLED
3762 PURE module subroutine setExtrapMNPLE_ND1_QD1_RK1(method, crdx, func, queryx, extrap, relerr)
3763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3764 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMNPLE_ND1_QD1_RK1
3765#endif
3766 use pm_kind, only: RKG => RK1
3767 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3768 real(RKG) , intent(in) , contiguous :: queryx(:)
3769 real(RKG) , intent(out) , contiguous :: extrap(:), relerr(:)
3770 type(monopol_type) , intent(in) :: method
3771 end subroutine
3772#endif
3773
3774 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3775
3776 end interface
3777
3778 ! piwilin
3779
3780 interface setExtrap
3781
3782 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3783
3784#if RK5_ENABLED
3785 PURE module subroutine setExtrapPWLN_ND1_QD0_RK5(method, crdx, func, queryx, extrap)
3786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3787 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD0_RK5
3788#endif
3789 use pm_kind, only: RKG => RK5
3790 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3791 real(RKG) , intent(in) :: queryx
3792 real(RKG) , intent(out) :: extrap
3793 type(piwilin_type) , intent(in) :: method
3794 end subroutine
3795#endif
3796
3797#if RK4_ENABLED
3798 PURE module subroutine setExtrapPWLN_ND1_QD0_RK4(method, crdx, func, queryx, extrap)
3799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3800 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD0_RK4
3801#endif
3802 use pm_kind, only: RKG => RK4
3803 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3804 real(RKG) , intent(in) :: queryx
3805 real(RKG) , intent(out) :: extrap
3806 type(piwilin_type) , intent(in) :: method
3807 end subroutine
3808#endif
3809
3810#if RK3_ENABLED
3811 PURE module subroutine setExtrapPWLN_ND1_QD0_RK3(method, crdx, func, queryx, extrap)
3812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3813 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD0_RK3
3814#endif
3815 use pm_kind, only: RKG => RK3
3816 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3817 real(RKG) , intent(in) :: queryx
3818 real(RKG) , intent(out) :: extrap
3819 type(piwilin_type) , intent(in) :: method
3820 end subroutine
3821#endif
3822
3823#if RK2_ENABLED
3824 PURE module subroutine setExtrapPWLN_ND1_QD0_RK2(method, crdx, func, queryx, extrap)
3825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3826 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD0_RK2
3827#endif
3828 use pm_kind, only: RKG => RK2
3829 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3830 real(RKG) , intent(in) :: queryx
3831 real(RKG) , intent(out) :: extrap
3832 type(piwilin_type) , intent(in) :: method
3833 end subroutine
3834#endif
3835
3836#if RK1_ENABLED
3837 PURE module subroutine setExtrapPWLN_ND1_QD0_RK1(method, crdx, func, queryx, extrap)
3838#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3839 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD0_RK1
3840#endif
3841 use pm_kind, only: RKG => RK1
3842 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3843 real(RKG) , intent(in) :: queryx
3844 real(RKG) , intent(out) :: extrap
3845 type(piwilin_type) , intent(in) :: method
3846 end subroutine
3847#endif
3848
3849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3850
3851#if RK5_ENABLED
3852 PURE module subroutine setExtrapPWLN_ND1_QD1_RK5(method, crdx, func, queryx, extrap)
3853#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3854 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD1_RK5
3855#endif
3856 use pm_kind, only: RKG => RK5
3857 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3858 real(RKG) , intent(in) , contiguous :: queryx(:)
3859 real(RKG) , intent(out) , contiguous :: extrap(:)
3860 type(piwilin_type) , intent(in) :: method
3861 end subroutine
3862#endif
3863
3864#if RK4_ENABLED
3865 PURE module subroutine setExtrapPWLN_ND1_QD1_RK4(method, crdx, func, queryx, extrap)
3866#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3867 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD1_RK4
3868#endif
3869 use pm_kind, only: RKG => RK4
3870 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3871 real(RKG) , intent(in) , contiguous :: queryx(:)
3872 real(RKG) , intent(out) , contiguous :: extrap(:)
3873 type(piwilin_type) , intent(in) :: method
3874 end subroutine
3875#endif
3876
3877#if RK3_ENABLED
3878 PURE module subroutine setExtrapPWLN_ND1_QD1_RK3(method, crdx, func, queryx, extrap)
3879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3880 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD1_RK3
3881#endif
3882 use pm_kind, only: RKG => RK3
3883 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3884 real(RKG) , intent(in) , contiguous :: queryx(:)
3885 real(RKG) , intent(out) , contiguous :: extrap(:)
3886 type(piwilin_type) , intent(in) :: method
3887 end subroutine
3888#endif
3889
3890#if RK2_ENABLED
3891 PURE module subroutine setExtrapPWLN_ND1_QD1_RK2(method, crdx, func, queryx, extrap)
3892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3893 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD1_RK2
3894#endif
3895 use pm_kind, only: RKG => RK2
3896 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3897 real(RKG) , intent(in) , contiguous :: queryx(:)
3898 real(RKG) , intent(out) , contiguous :: extrap(:)
3899 type(piwilin_type) , intent(in) :: method
3900 end subroutine
3901#endif
3902
3903#if RK1_ENABLED
3904 PURE module subroutine setExtrapPWLN_ND1_QD1_RK1(method, crdx, func, queryx, extrap)
3905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3906 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPWLN_ND1_QD1_RK1
3907#endif
3908 use pm_kind, only: RKG => RK1
3909 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3910 real(RKG) , intent(in) , contiguous :: queryx(:)
3911 real(RKG) , intent(out) , contiguous :: extrap(:)
3912 type(piwilin_type) , intent(in) :: method
3913 end subroutine
3914#endif
3915
3916 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3917
3918 end interface
3919
3920 ! neimean
3921
3922 interface setExtrap
3923
3924 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3925
3926#if RK5_ENABLED
3927 PURE module subroutine setExtrapMEAN_ND1_QD0_RK5(method, crdx, func, queryx, extrap)
3928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3929 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD0_RK5
3930#endif
3931 use pm_kind, only: RKG => RK5
3932 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3933 real(RKG) , intent(in) :: queryx
3934 real(RKG) , intent(out) :: extrap
3935 type(neimean_type) , intent(in) :: method
3936 end subroutine
3937#endif
3938
3939#if RK4_ENABLED
3940 PURE module subroutine setExtrapMEAN_ND1_QD0_RK4(method, crdx, func, queryx, extrap)
3941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3942 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD0_RK4
3943#endif
3944 use pm_kind, only: RKG => RK4
3945 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3946 real(RKG) , intent(in) :: queryx
3947 real(RKG) , intent(out) :: extrap
3948 type(neimean_type) , intent(in) :: method
3949 end subroutine
3950#endif
3951
3952#if RK3_ENABLED
3953 PURE module subroutine setExtrapMEAN_ND1_QD0_RK3(method, crdx, func, queryx, extrap)
3954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3955 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD0_RK3
3956#endif
3957 use pm_kind, only: RKG => RK3
3958 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3959 real(RKG) , intent(in) :: queryx
3960 real(RKG) , intent(out) :: extrap
3961 type(neimean_type) , intent(in) :: method
3962 end subroutine
3963#endif
3964
3965#if RK2_ENABLED
3966 PURE module subroutine setExtrapMEAN_ND1_QD0_RK2(method, crdx, func, queryx, extrap)
3967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3968 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD0_RK2
3969#endif
3970 use pm_kind, only: RKG => RK2
3971 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3972 real(RKG) , intent(in) :: queryx
3973 real(RKG) , intent(out) :: extrap
3974 type(neimean_type) , intent(in) :: method
3975 end subroutine
3976#endif
3977
3978#if RK1_ENABLED
3979 PURE module subroutine setExtrapMEAN_ND1_QD0_RK1(method, crdx, func, queryx, extrap)
3980#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3981 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD0_RK1
3982#endif
3983 use pm_kind, only: RKG => RK1
3984 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
3985 real(RKG) , intent(in) :: queryx
3986 real(RKG) , intent(out) :: extrap
3987 type(neimean_type) , intent(in) :: method
3988 end subroutine
3989#endif
3990
3991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3992
3993#if RK5_ENABLED
3994 PURE module subroutine setExtrapMEAN_ND1_QD1_RK5(method, crdx, func, queryx, extrap)
3995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3996 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD1_RK5
3997#endif
3998 use pm_kind, only: RKG => RK5
3999 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4000 real(RKG) , intent(in) , contiguous :: queryx(:)
4001 real(RKG) , intent(out) , contiguous :: extrap(:)
4002 type(neimean_type) , intent(in) :: method
4003 end subroutine
4004#endif
4005
4006#if RK4_ENABLED
4007 PURE module subroutine setExtrapMEAN_ND1_QD1_RK4(method, crdx, func, queryx, extrap)
4008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4009 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD1_RK4
4010#endif
4011 use pm_kind, only: RKG => RK4
4012 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4013 real(RKG) , intent(in) , contiguous :: queryx(:)
4014 real(RKG) , intent(out) , contiguous :: extrap(:)
4015 type(neimean_type) , intent(in) :: method
4016 end subroutine
4017#endif
4018
4019#if RK3_ENABLED
4020 PURE module subroutine setExtrapMEAN_ND1_QD1_RK3(method, crdx, func, queryx, extrap)
4021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4022 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD1_RK3
4023#endif
4024 use pm_kind, only: RKG => RK3
4025 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4026 real(RKG) , intent(in) , contiguous :: queryx(:)
4027 real(RKG) , intent(out) , contiguous :: extrap(:)
4028 type(neimean_type) , intent(in) :: method
4029 end subroutine
4030#endif
4031
4032#if RK2_ENABLED
4033 PURE module subroutine setExtrapMEAN_ND1_QD1_RK2(method, crdx, func, queryx, extrap)
4034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4035 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD1_RK2
4036#endif
4037 use pm_kind, only: RKG => RK2
4038 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4039 real(RKG) , intent(in) , contiguous :: queryx(:)
4040 real(RKG) , intent(out) , contiguous :: extrap(:)
4041 type(neimean_type) , intent(in) :: method
4042 end subroutine
4043#endif
4044
4045#if RK1_ENABLED
4046 PURE module subroutine setExtrapMEAN_ND1_QD1_RK1(method, crdx, func, queryx, extrap)
4047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4048 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapMEAN_ND1_QD1_RK1
4049#endif
4050 use pm_kind, only: RKG => RK1
4051 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4052 real(RKG) , intent(in) , contiguous :: queryx(:)
4053 real(RKG) , intent(out) , contiguous :: extrap(:)
4054 type(neimean_type) , intent(in) :: method
4055 end subroutine
4056#endif
4057
4058 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4059
4060 end interface
4061
4062 ! neinear
4063
4064 interface setExtrap
4065
4066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4067
4068#if RK5_ENABLED
4069 PURE module subroutine setExtrapNEAR_ND1_QD0_RK5(method, crdx, func, queryx, extrap)
4070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4071 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD0_RK5
4072#endif
4073 use pm_kind, only: RKG => RK5
4074 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4075 real(RKG) , intent(in) :: queryx
4076 real(RKG) , intent(out) :: extrap
4077 type(neinear_type) , intent(in) :: method
4078 end subroutine
4079#endif
4080
4081#if RK4_ENABLED
4082 PURE module subroutine setExtrapNEAR_ND1_QD0_RK4(method, crdx, func, queryx, extrap)
4083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4084 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD0_RK4
4085#endif
4086 use pm_kind, only: RKG => RK4
4087 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4088 real(RKG) , intent(in) :: queryx
4089 real(RKG) , intent(out) :: extrap
4090 type(neinear_type) , intent(in) :: method
4091 end subroutine
4092#endif
4093
4094#if RK3_ENABLED
4095 PURE module subroutine setExtrapNEAR_ND1_QD0_RK3(method, crdx, func, queryx, extrap)
4096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4097 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD0_RK3
4098#endif
4099 use pm_kind, only: RKG => RK3
4100 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4101 real(RKG) , intent(in) :: queryx
4102 real(RKG) , intent(out) :: extrap
4103 type(neinear_type) , intent(in) :: method
4104 end subroutine
4105#endif
4106
4107#if RK2_ENABLED
4108 PURE module subroutine setExtrapNEAR_ND1_QD0_RK2(method, crdx, func, queryx, extrap)
4109#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4110 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD0_RK2
4111#endif
4112 use pm_kind, only: RKG => RK2
4113 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4114 real(RKG) , intent(in) :: queryx
4115 real(RKG) , intent(out) :: extrap
4116 type(neinear_type) , intent(in) :: method
4117 end subroutine
4118#endif
4119
4120#if RK1_ENABLED
4121 PURE module subroutine setExtrapNEAR_ND1_QD0_RK1(method, crdx, func, queryx, extrap)
4122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4123 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD0_RK1
4124#endif
4125 use pm_kind, only: RKG => RK1
4126 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4127 real(RKG) , intent(in) :: queryx
4128 real(RKG) , intent(out) :: extrap
4129 type(neinear_type) , intent(in) :: method
4130 end subroutine
4131#endif
4132
4133 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4134
4135#if RK5_ENABLED
4136 PURE module subroutine setExtrapNEAR_ND1_QD1_RK5(method, crdx, func, queryx, extrap)
4137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4138 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD1_RK5
4139#endif
4140 use pm_kind, only: RKG => RK5
4141 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4142 real(RKG) , intent(in) , contiguous :: queryx(:)
4143 real(RKG) , intent(out) , contiguous :: extrap(:)
4144 type(neinear_type) , intent(in) :: method
4145 end subroutine
4146#endif
4147
4148#if RK4_ENABLED
4149 PURE module subroutine setExtrapNEAR_ND1_QD1_RK4(method, crdx, func, queryx, extrap)
4150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4151 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD1_RK4
4152#endif
4153 use pm_kind, only: RKG => RK4
4154 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4155 real(RKG) , intent(in) , contiguous :: queryx(:)
4156 real(RKG) , intent(out) , contiguous :: extrap(:)
4157 type(neinear_type) , intent(in) :: method
4158 end subroutine
4159#endif
4160
4161#if RK3_ENABLED
4162 PURE module subroutine setExtrapNEAR_ND1_QD1_RK3(method, crdx, func, queryx, extrap)
4163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4164 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD1_RK3
4165#endif
4166 use pm_kind, only: RKG => RK3
4167 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4168 real(RKG) , intent(in) , contiguous :: queryx(:)
4169 real(RKG) , intent(out) , contiguous :: extrap(:)
4170 type(neinear_type) , intent(in) :: method
4171 end subroutine
4172#endif
4173
4174#if RK2_ENABLED
4175 PURE module subroutine setExtrapNEAR_ND1_QD1_RK2(method, crdx, func, queryx, extrap)
4176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4177 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD1_RK2
4178#endif
4179 use pm_kind, only: RKG => RK2
4180 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4181 real(RKG) , intent(in) , contiguous :: queryx(:)
4182 real(RKG) , intent(out) , contiguous :: extrap(:)
4183 type(neinear_type) , intent(in) :: method
4184 end subroutine
4185#endif
4186
4187#if RK1_ENABLED
4188 PURE module subroutine setExtrapNEAR_ND1_QD1_RK1(method, crdx, func, queryx, extrap)
4189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4190 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEAR_ND1_QD1_RK1
4191#endif
4192 use pm_kind, only: RKG => RK1
4193 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4194 real(RKG) , intent(in) , contiguous :: queryx(:)
4195 real(RKG) , intent(out) , contiguous :: extrap(:)
4196 type(neinear_type) , intent(in) :: method
4197 end subroutine
4198#endif
4199
4200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4201
4202 end interface
4203
4204 ! neinext
4205
4206 interface setExtrap
4207
4208 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4209
4210#if RK5_ENABLED
4211 PURE module subroutine setExtrapNEXT_ND1_QD0_RK5(method, crdx, func, queryx, extrap)
4212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4213 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD0_RK5
4214#endif
4215 use pm_kind, only: RKG => RK5
4216 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4217 real(RKG) , intent(in) :: queryx
4218 real(RKG) , intent(out) :: extrap
4219 type(neinext_type) , intent(in) :: method
4220 end subroutine
4221#endif
4222
4223#if RK4_ENABLED
4224 PURE module subroutine setExtrapNEXT_ND1_QD0_RK4(method, crdx, func, queryx, extrap)
4225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4226 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD0_RK4
4227#endif
4228 use pm_kind, only: RKG => RK4
4229 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4230 real(RKG) , intent(in) :: queryx
4231 real(RKG) , intent(out) :: extrap
4232 type(neinext_type) , intent(in) :: method
4233 end subroutine
4234#endif
4235
4236#if RK3_ENABLED
4237 PURE module subroutine setExtrapNEXT_ND1_QD0_RK3(method, crdx, func, queryx, extrap)
4238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4239 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD0_RK3
4240#endif
4241 use pm_kind, only: RKG => RK3
4242 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4243 real(RKG) , intent(in) :: queryx
4244 real(RKG) , intent(out) :: extrap
4245 type(neinext_type) , intent(in) :: method
4246 end subroutine
4247#endif
4248
4249#if RK2_ENABLED
4250 PURE module subroutine setExtrapNEXT_ND1_QD0_RK2(method, crdx, func, queryx, extrap)
4251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4252 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD0_RK2
4253#endif
4254 use pm_kind, only: RKG => RK2
4255 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4256 real(RKG) , intent(in) :: queryx
4257 real(RKG) , intent(out) :: extrap
4258 type(neinext_type) , intent(in) :: method
4259 end subroutine
4260#endif
4261
4262#if RK1_ENABLED
4263 PURE module subroutine setExtrapNEXT_ND1_QD0_RK1(method, crdx, func, queryx, extrap)
4264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4265 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD0_RK1
4266#endif
4267 use pm_kind, only: RKG => RK1
4268 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4269 real(RKG) , intent(in) :: queryx
4270 real(RKG) , intent(out) :: extrap
4271 type(neinext_type) , intent(in) :: method
4272 end subroutine
4273#endif
4274
4275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4276
4277#if RK5_ENABLED
4278 PURE module subroutine setExtrapNEXT_ND1_QD1_RK5(method, crdx, func, queryx, extrap)
4279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4280 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD1_RK5
4281#endif
4282 use pm_kind, only: RKG => RK5
4283 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4284 real(RKG) , intent(in) , contiguous :: queryx(:)
4285 real(RKG) , intent(out) , contiguous :: extrap(:)
4286 type(neinext_type) , intent(in) :: method
4287 end subroutine
4288#endif
4289
4290#if RK4_ENABLED
4291 PURE module subroutine setExtrapNEXT_ND1_QD1_RK4(method, crdx, func, queryx, extrap)
4292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4293 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD1_RK4
4294#endif
4295 use pm_kind, only: RKG => RK4
4296 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4297 real(RKG) , intent(in) , contiguous :: queryx(:)
4298 real(RKG) , intent(out) , contiguous :: extrap(:)
4299 type(neinext_type) , intent(in) :: method
4300 end subroutine
4301#endif
4302
4303#if RK3_ENABLED
4304 PURE module subroutine setExtrapNEXT_ND1_QD1_RK3(method, crdx, func, queryx, extrap)
4305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4306 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD1_RK3
4307#endif
4308 use pm_kind, only: RKG => RK3
4309 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4310 real(RKG) , intent(in) , contiguous :: queryx(:)
4311 real(RKG) , intent(out) , contiguous :: extrap(:)
4312 type(neinext_type) , intent(in) :: method
4313 end subroutine
4314#endif
4315
4316#if RK2_ENABLED
4317 PURE module subroutine setExtrapNEXT_ND1_QD1_RK2(method, crdx, func, queryx, extrap)
4318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4319 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD1_RK2
4320#endif
4321 use pm_kind, only: RKG => RK2
4322 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4323 real(RKG) , intent(in) , contiguous :: queryx(:)
4324 real(RKG) , intent(out) , contiguous :: extrap(:)
4325 type(neinext_type) , intent(in) :: method
4326 end subroutine
4327#endif
4328
4329#if RK1_ENABLED
4330 PURE module subroutine setExtrapNEXT_ND1_QD1_RK1(method, crdx, func, queryx, extrap)
4331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4332 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapNEXT_ND1_QD1_RK1
4333#endif
4334 use pm_kind, only: RKG => RK1
4335 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4336 real(RKG) , intent(in) , contiguous :: queryx(:)
4337 real(RKG) , intent(out) , contiguous :: extrap(:)
4338 type(neinext_type) , intent(in) :: method
4339 end subroutine
4340#endif
4341
4342 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4343
4344 end interface
4345
4346 ! neiprev
4347
4348 interface setExtrap
4349
4350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4351
4352#if RK5_ENABLED
4353 PURE module subroutine setExtrapPREV_ND1_QD0_RK5(method, crdx, func, queryx, extrap)
4354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4355 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD0_RK5
4356#endif
4357 use pm_kind, only: RKG => RK5
4358 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4359 real(RKG) , intent(in) :: queryx
4360 real(RKG) , intent(out) :: extrap
4361 type(neiprev_type) , intent(in) :: method
4362 end subroutine
4363#endif
4364
4365#if RK4_ENABLED
4366 PURE module subroutine setExtrapPREV_ND1_QD0_RK4(method, crdx, func, queryx, extrap)
4367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4368 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD0_RK4
4369#endif
4370 use pm_kind, only: RKG => RK4
4371 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4372 real(RKG) , intent(in) :: queryx
4373 real(RKG) , intent(out) :: extrap
4374 type(neiprev_type) , intent(in) :: method
4375 end subroutine
4376#endif
4377
4378#if RK3_ENABLED
4379 PURE module subroutine setExtrapPREV_ND1_QD0_RK3(method, crdx, func, queryx, extrap)
4380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4381 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD0_RK3
4382#endif
4383 use pm_kind, only: RKG => RK3
4384 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4385 real(RKG) , intent(in) :: queryx
4386 real(RKG) , intent(out) :: extrap
4387 type(neiprev_type) , intent(in) :: method
4388 end subroutine
4389#endif
4390
4391#if RK2_ENABLED
4392 PURE module subroutine setExtrapPREV_ND1_QD0_RK2(method, crdx, func, queryx, extrap)
4393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4394 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD0_RK2
4395#endif
4396 use pm_kind, only: RKG => RK2
4397 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4398 real(RKG) , intent(in) :: queryx
4399 real(RKG) , intent(out) :: extrap
4400 type(neiprev_type) , intent(in) :: method
4401 end subroutine
4402#endif
4403
4404#if RK1_ENABLED
4405 PURE module subroutine setExtrapPREV_ND1_QD0_RK1(method, crdx, func, queryx, extrap)
4406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4407 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD0_RK1
4408#endif
4409 use pm_kind, only: RKG => RK1
4410 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4411 real(RKG) , intent(in) :: queryx
4412 real(RKG) , intent(out) :: extrap
4413 type(neiprev_type) , intent(in) :: method
4414 end subroutine
4415#endif
4416
4417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4418
4419#if RK5_ENABLED
4420 PURE module subroutine setExtrapPREV_ND1_QD1_RK5(method, crdx, func, queryx, extrap)
4421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4422 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD1_RK5
4423#endif
4424 use pm_kind, only: RKG => RK5
4425 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4426 real(RKG) , intent(in) , contiguous :: queryx(:)
4427 real(RKG) , intent(out) , contiguous :: extrap(:)
4428 type(neiprev_type) , intent(in) :: method
4429 end subroutine
4430#endif
4431
4432#if RK4_ENABLED
4433 PURE module subroutine setExtrapPREV_ND1_QD1_RK4(method, crdx, func, queryx, extrap)
4434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4435 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD1_RK4
4436#endif
4437 use pm_kind, only: RKG => RK4
4438 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4439 real(RKG) , intent(in) , contiguous :: queryx(:)
4440 real(RKG) , intent(out) , contiguous :: extrap(:)
4441 type(neiprev_type) , intent(in) :: method
4442 end subroutine
4443#endif
4444
4445#if RK3_ENABLED
4446 PURE module subroutine setExtrapPREV_ND1_QD1_RK3(method, crdx, func, queryx, extrap)
4447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4448 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD1_RK3
4449#endif
4450 use pm_kind, only: RKG => RK3
4451 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4452 real(RKG) , intent(in) , contiguous :: queryx(:)
4453 real(RKG) , intent(out) , contiguous :: extrap(:)
4454 type(neiprev_type) , intent(in) :: method
4455 end subroutine
4456#endif
4457
4458#if RK2_ENABLED
4459 PURE module subroutine setExtrapPREV_ND1_QD1_RK2(method, crdx, func, queryx, extrap)
4460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4461 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD1_RK2
4462#endif
4463 use pm_kind, only: RKG => RK2
4464 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4465 real(RKG) , intent(in) , contiguous :: queryx(:)
4466 real(RKG) , intent(out) , contiguous :: extrap(:)
4467 type(neiprev_type) , intent(in) :: method
4468 end subroutine
4469#endif
4470
4471#if RK1_ENABLED
4472 PURE module subroutine setExtrapPREV_ND1_QD1_RK1(method, crdx, func, queryx, extrap)
4473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4474 !DEC$ ATTRIBUTES DLLEXPORT :: setExtrapPREV_ND1_QD1_RK1
4475#endif
4476 use pm_kind, only: RKG => RK1
4477 real(RKG) , intent(in) , contiguous :: crdx(:), func(:)
4478 real(RKG) , intent(in) , contiguous :: queryx(:)
4479 real(RKG) , intent(out) , contiguous :: extrap(:)
4480 type(neiprev_type) , intent(in) :: method
4481 end subroutine
4482#endif
4483
4484 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4485
4486 end interface
4487
4488!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4489
4490end module pm_polation
Generate and return the approximate polynomial interpolation/extrapolation value of the input specifi...
Generate and return the approximate polynomial interpolation value of the input specified point x for...
Generate and return the approximate polynomial interpolation/extrapolation value of the input specifi...
Generate and return the approximate polynomial interpolation value of the input specified point x for...
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 LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
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 procedures and data types for interpolation of finite samples of data.
type(piwilin_type), parameter piwilin
type(neiprev_type), parameter neiprev
type(neinext_type), parameter neinext
type(monopol_type), parameter monopol
type(neinear_type), parameter neinear
type(neimean_type), parameter neimean
character(*, SK), parameter MODULE_NAME
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...
This is a concrete derived type whose instances are exclusively used to signify an interpolation usin...