From 1258bdafaf2d1055f84016dfcf61ab3197271ccb Mon Sep 17 00:00:00 2001 From: cwaterkeyn Date: Thu, 24 Sep 2009 13:05:07 +0000 Subject: [PATCH] ChW _ add fvnlib_sophia as fvn_sparse is not yet used in Sophia _ moved *.f to *.f90 in fvn_integ as these files are f90 syntax to be compiled free-format _ corrected ci and si in fvn_fnlib Note : this is not yet ansi compliant code git-svn-id: https://lxsd.femto-st.fr/svn/fvn@50 b657c933-2333-4658-acf2-d3c7c2708721 --- fvn_fnlib/ci.f | 2 +- fvn_fnlib/si.f | 2 +- fvn_integ/{dqag.f => dqag.f90} | 0 fvn_integ/{dqag_2d_inner.f => dqag_2d_inner.f90} | 0 fvn_integ/{dqag_2d_outer.f => dqag_2d_outer.f90} | 0 fvn_integ/{dqage.f => dqage.f90} | 0 fvn_integ/{dqage_2d_inner.f => dqage_2d_inner.f90} | 0 fvn_integ/{dqage_2d_outer.f => dqage_2d_outer.f90} | 0 fvn_integ/{dqk15.f => dqk15.f90} | 0 fvn_integ/{dqk15_2d_inner.f => dqk15_2d_inner.f90} | 0 fvn_integ/{dqk15_2d_outer.f => dqk15_2d_outer.f90} | 0 fvn_integ/{dqk21.f => dqk21.f90} | 0 fvn_integ/{dqk21_2d_inner.f => dqk21_2d_inner.f90} | 0 fvn_integ/{dqk21_2d_outer.f => dqk21_2d_outer.f90} | 0 fvn_integ/{dqk31.f => dqk31.f90} | 0 fvn_integ/{dqk31_2d_inner.f => dqk31_2d_inner.f90} | 0 fvn_integ/{dqk31_2d_outer.f => dqk31_2d_outer.f90} | 0 fvn_integ/{dqk41.f => dqk41.f90} | 0 fvn_integ/{dqk41_2d_inner.f => dqk41_2d_inner.f90} | 0 fvn_integ/{dqk41_2d_outer.f => dqk41_2d_outer.f90} | 0 fvn_integ/{dqk51.f => dqk51.f90} | 0 fvn_integ/{dqk51_2d_inner.f => dqk51_2d_inner.f90} | 0 fvn_integ/{dqk51_2d_outer.f => dqk51_2d_outer.f90} | 0 fvn_integ/{dqk61.f => dqk61.f90} | 0 fvn_integ/{dqk61_2d_inner.f => dqk61_2d_inner.f90} | 0 fvn_integ/{dqk61_2d_outer.f => dqk61_2d_outer.f90} | 0 fvn_integ/{dqpsrt.f => dqpsrt.f90} | 0 fvn_integ/fvn_integ.f90 | 50 +++++++++++----------- fvn_interpol/fvn_interpol.f90 | 4 +- fvnlib_sophia.f90 | 20 +++++++++ 30 files changed, 49 insertions(+), 29 deletions(-) rename fvn_integ/{dqag.f => dqag.f90} (100%) rename fvn_integ/{dqag_2d_inner.f => dqag_2d_inner.f90} (100%) rename fvn_integ/{dqag_2d_outer.f => dqag_2d_outer.f90} (100%) rename fvn_integ/{dqage.f => dqage.f90} (100%) rename fvn_integ/{dqage_2d_inner.f => dqage_2d_inner.f90} (100%) rename fvn_integ/{dqage_2d_outer.f => dqage_2d_outer.f90} (100%) rename fvn_integ/{dqk15.f => dqk15.f90} (100%) rename fvn_integ/{dqk15_2d_inner.f => dqk15_2d_inner.f90} (100%) rename fvn_integ/{dqk15_2d_outer.f => dqk15_2d_outer.f90} (100%) rename fvn_integ/{dqk21.f => dqk21.f90} (100%) rename fvn_integ/{dqk21_2d_inner.f => dqk21_2d_inner.f90} (100%) rename fvn_integ/{dqk21_2d_outer.f => dqk21_2d_outer.f90} (100%) rename fvn_integ/{dqk31.f => dqk31.f90} (100%) rename fvn_integ/{dqk31_2d_inner.f => dqk31_2d_inner.f90} (100%) rename fvn_integ/{dqk31_2d_outer.f => dqk31_2d_outer.f90} (100%) rename fvn_integ/{dqk41.f => dqk41.f90} (100%) rename fvn_integ/{dqk41_2d_inner.f => dqk41_2d_inner.f90} (100%) rename fvn_integ/{dqk41_2d_outer.f => dqk41_2d_outer.f90} (100%) rename fvn_integ/{dqk51.f => dqk51.f90} (100%) rename fvn_integ/{dqk51_2d_inner.f => dqk51_2d_inner.f90} (100%) rename fvn_integ/{dqk51_2d_outer.f => dqk51_2d_outer.f90} (100%) rename fvn_integ/{dqk61.f => dqk61.f90} (100%) rename fvn_integ/{dqk61_2d_inner.f => dqk61_2d_inner.f90} (100%) rename fvn_integ/{dqk61_2d_outer.f => dqk61_2d_outer.f90} (100%) rename fvn_integ/{dqpsrt.f => dqpsrt.f90} (100%) create mode 100644 fvnlib_sophia.f90 diff --git a/fvn_fnlib/ci.f b/fvn_fnlib/ci.f index dc66239..c809768 100644 --- a/fvn_fnlib/ci.f +++ b/fvn_fnlib/ci.f @@ -25,7 +25,7 @@ c c data nci, xsml /0, 0.0/ c - if (ntci.ne.0) go to 10 + if (nci.ne.0) go to 10 nci = inits (cics, 13, 0.1*r1mach(3)) xsml = sqrt (r1mach(3)) c diff --git a/fvn_fnlib/si.f b/fvn_fnlib/si.f index a832d72..17be1d6 100644 --- a/fvn_fnlib/si.f +++ b/fvn_fnlib/si.f @@ -27,7 +27,7 @@ c c if (nsi.ne.0) go to 10 nsi = inits (sics, 12, 0.1*r1mach(3)) - xsml = sqrt (eps) + xsml = sqrt (r1mach(3)) c 10 absx = abs(x) if (absx.gt.4.0) go to 20 diff --git a/fvn_integ/dqag.f b/fvn_integ/dqag.f90 similarity index 100% rename from fvn_integ/dqag.f rename to fvn_integ/dqag.f90 diff --git a/fvn_integ/dqag_2d_inner.f b/fvn_integ/dqag_2d_inner.f90 similarity index 100% rename from fvn_integ/dqag_2d_inner.f rename to fvn_integ/dqag_2d_inner.f90 diff --git a/fvn_integ/dqag_2d_outer.f b/fvn_integ/dqag_2d_outer.f90 similarity index 100% rename from fvn_integ/dqag_2d_outer.f rename to fvn_integ/dqag_2d_outer.f90 diff --git a/fvn_integ/dqage.f b/fvn_integ/dqage.f90 similarity index 100% rename from fvn_integ/dqage.f rename to fvn_integ/dqage.f90 diff --git a/fvn_integ/dqage_2d_inner.f b/fvn_integ/dqage_2d_inner.f90 similarity index 100% rename from fvn_integ/dqage_2d_inner.f rename to fvn_integ/dqage_2d_inner.f90 diff --git a/fvn_integ/dqage_2d_outer.f b/fvn_integ/dqage_2d_outer.f90 similarity index 100% rename from fvn_integ/dqage_2d_outer.f rename to fvn_integ/dqage_2d_outer.f90 diff --git a/fvn_integ/dqk15.f b/fvn_integ/dqk15.f90 similarity index 100% rename from fvn_integ/dqk15.f rename to fvn_integ/dqk15.f90 diff --git a/fvn_integ/dqk15_2d_inner.f b/fvn_integ/dqk15_2d_inner.f90 similarity index 100% rename from fvn_integ/dqk15_2d_inner.f rename to fvn_integ/dqk15_2d_inner.f90 diff --git a/fvn_integ/dqk15_2d_outer.f b/fvn_integ/dqk15_2d_outer.f90 similarity index 100% rename from fvn_integ/dqk15_2d_outer.f rename to fvn_integ/dqk15_2d_outer.f90 diff --git a/fvn_integ/dqk21.f b/fvn_integ/dqk21.f90 similarity index 100% rename from fvn_integ/dqk21.f rename to fvn_integ/dqk21.f90 diff --git a/fvn_integ/dqk21_2d_inner.f b/fvn_integ/dqk21_2d_inner.f90 similarity index 100% rename from fvn_integ/dqk21_2d_inner.f rename to fvn_integ/dqk21_2d_inner.f90 diff --git a/fvn_integ/dqk21_2d_outer.f b/fvn_integ/dqk21_2d_outer.f90 similarity index 100% rename from fvn_integ/dqk21_2d_outer.f rename to fvn_integ/dqk21_2d_outer.f90 diff --git a/fvn_integ/dqk31.f b/fvn_integ/dqk31.f90 similarity index 100% rename from fvn_integ/dqk31.f rename to fvn_integ/dqk31.f90 diff --git a/fvn_integ/dqk31_2d_inner.f b/fvn_integ/dqk31_2d_inner.f90 similarity index 100% rename from fvn_integ/dqk31_2d_inner.f rename to fvn_integ/dqk31_2d_inner.f90 diff --git a/fvn_integ/dqk31_2d_outer.f b/fvn_integ/dqk31_2d_outer.f90 similarity index 100% rename from fvn_integ/dqk31_2d_outer.f rename to fvn_integ/dqk31_2d_outer.f90 diff --git a/fvn_integ/dqk41.f b/fvn_integ/dqk41.f90 similarity index 100% rename from fvn_integ/dqk41.f rename to fvn_integ/dqk41.f90 diff --git a/fvn_integ/dqk41_2d_inner.f b/fvn_integ/dqk41_2d_inner.f90 similarity index 100% rename from fvn_integ/dqk41_2d_inner.f rename to fvn_integ/dqk41_2d_inner.f90 diff --git a/fvn_integ/dqk41_2d_outer.f b/fvn_integ/dqk41_2d_outer.f90 similarity index 100% rename from fvn_integ/dqk41_2d_outer.f rename to fvn_integ/dqk41_2d_outer.f90 diff --git a/fvn_integ/dqk51.f b/fvn_integ/dqk51.f90 similarity index 100% rename from fvn_integ/dqk51.f rename to fvn_integ/dqk51.f90 diff --git a/fvn_integ/dqk51_2d_inner.f b/fvn_integ/dqk51_2d_inner.f90 similarity index 100% rename from fvn_integ/dqk51_2d_inner.f rename to fvn_integ/dqk51_2d_inner.f90 diff --git a/fvn_integ/dqk51_2d_outer.f b/fvn_integ/dqk51_2d_outer.f90 similarity index 100% rename from fvn_integ/dqk51_2d_outer.f rename to fvn_integ/dqk51_2d_outer.f90 diff --git a/fvn_integ/dqk61.f b/fvn_integ/dqk61.f90 similarity index 100% rename from fvn_integ/dqk61.f rename to fvn_integ/dqk61.f90 diff --git a/fvn_integ/dqk61_2d_inner.f b/fvn_integ/dqk61_2d_inner.f90 similarity index 100% rename from fvn_integ/dqk61_2d_inner.f rename to fvn_integ/dqk61_2d_inner.f90 diff --git a/fvn_integ/dqk61_2d_outer.f b/fvn_integ/dqk61_2d_outer.f90 similarity index 100% rename from fvn_integ/dqk61_2d_outer.f rename to fvn_integ/dqk61_2d_outer.f90 diff --git a/fvn_integ/dqpsrt.f b/fvn_integ/dqpsrt.f90 similarity index 100% rename from fvn_integ/dqpsrt.f rename to fvn_integ/dqpsrt.f90 diff --git a/fvn_integ/fvn_integ.f90 b/fvn_integ/fvn_integ.f90 index 9751075..d576a1f 100644 --- a/fvn_integ/fvn_integ.f90 +++ b/fvn_integ/fvn_integ.f90 @@ -407,31 +407,31 @@ end subroutine !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Include the modified quadpack files !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -include "dqag_2d_inner.f" -include "dqk15_2d_inner.f" -include "dqk31_2d_outer.f" -include "dqk31_2d_inner.f" -include "dqage.f" -include "dqk15.f" -include "dqk21.f" -include "dqk31.f" -include "dqk41.f" -include "dqk51.f" -include "dqk61.f" -include "dqk41_2d_outer.f" -include "dqk41_2d_inner.f" -include "dqag_2d_outer.f" -include "dqpsrt.f" -include "dqag.f" -include "dqage_2d_outer.f" -include "dqage_2d_inner.f" -include "dqk51_2d_outer.f" -include "dqk51_2d_inner.f" -include "dqk61_2d_outer.f" -include "dqk21_2d_outer.f" -include "dqk61_2d_inner.f" -include "dqk21_2d_inner.f" -include "dqk15_2d_outer.f" +include "dqag_2d_inner.f90" +include "dqk15_2d_inner.f90" +include "dqk31_2d_outer.f90" +include "dqk31_2d_inner.f90" +include "dqage.f90" +include "dqk15.f90" +include "dqk21.f90" +include "dqk31.f90" +include "dqk41.f90" +include "dqk51.f90" +include "dqk61.f90" +include "dqk41_2d_outer.f90" +include "dqk41_2d_inner.f90" +include "dqag_2d_outer.f90" +include "dqpsrt.f90" +include "dqag.f90" +include "dqage_2d_outer.f90" +include "dqage_2d_inner.f90" +include "dqk51_2d_outer.f90" +include "dqk51_2d_inner.f90" +include "dqk61_2d_outer.f90" +include "dqk21_2d_outer.f90" +include "dqk61_2d_inner.f90" +include "dqk21_2d_inner.f90" +include "dqk15_2d_outer.f90" end module fvn_integ \ No newline at end of file diff --git a/fvn_interpol/fvn_interpol.f90 b/fvn_interpol/fvn_interpol.f90 index 890a6ca..b915d61 100644 --- a/fvn_interpol/fvn_interpol.f90 +++ b/fvn_interpol/fvn_interpol.f90 @@ -52,8 +52,8 @@ subroutine fvn_s_find_interval(x,i,xdata,n) ! a simple dichotomy method is used real(kind=4), intent(in) :: x - real(kind=4), intent(in), dimension(n) :: xdata integer(kind=4), intent(in) :: n + real(kind=4), intent(in), dimension(n) :: xdata integer(kind=4), intent(out) :: i integer(kind=4) :: imin,imax,imoyen @@ -106,8 +106,8 @@ subroutine fvn_d_find_interval(x,i,xdata,n) ! a simple dichotomy method is used real(kind=8), intent(in) :: x - real(kind=8), intent(in), dimension(n) :: xdata integer(kind=4), intent(in) :: n + real(kind=8), intent(in), dimension(n) :: xdata integer(kind=4), intent(out) :: i integer(kind=4) :: imin,imax,imoyen diff --git a/fvnlib_sophia.f90 b/fvnlib_sophia.f90 new file mode 100644 index 0000000..5f4cef9 --- /dev/null +++ b/fvnlib_sophia.f90 @@ -0,0 +1,20 @@ + +module fvn +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! fvn : a f95 module replacement for some imsl routines +! it uses lapack for linear algebra +! it uses modified quadpack for integration +! +! William Daniau 2007->today +! william.daniau@femto-st.fr +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +use fvn_common +use fvn_linear +use fvn_integ +use fvn_interpol +!use fvn_sparse !ChW : not used in Sophia for the moment +use fvn_fnlib +use fvn_misc +end module fvn \ No newline at end of file -- 2.16.4