Index: trunk/SophyaLib/NTools/fftpackc.c
===================================================================
--- trunk/SophyaLib/NTools/fftpackc.c	(revision 710)
+++ trunk/SophyaLib/NTools/fftpackc.c	(revision 717)
@@ -11,8 +11,8 @@
 
 /*  ------ File cfftb.f ------ */
-/* Subroutine */ int cfftb_(integer *n, float *c__, float *wsave)
-{
-    extern /* Subroutine */ int cfftb1_(integer *, float *, float *, float *, 
-	    integer *);
+/* Subroutine */ int cfftb_(integer *n, r_4 *c__, r_4 *wsave)
+{
+    extern /* Subroutine */ int cfftb1_(integer *, r_4 *, r_4 *, r_4 *, 
+	    int_4 *);
     static integer iw1, iw2;
 
@@ -32,6 +32,6 @@
 
 /*  ------ File cfftb1.f ------ */
-/* Subroutine */ int cfftb1_(integer *n, float *c__, float *ch, float *wa, 
-	integer *ifac)
+/* Subroutine */ int cfftb1_(integer *n, r_4 *c__, r_4 *ch, r_4 *wa, 
+	int_4 *ifac)
 {
     /* System generated locals */
@@ -41,12 +41,12 @@
     static integer idot, i__;
     extern /* Subroutine */ int passb_(integer *, integer *, integer *, 
-	    integer *, integer *, float *, float *, float *, float *, float *, 
-	    float *);
+	    integer *, integer *, r_4 *, r_4 *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *);
     static integer k1, l1, l2, n2;
-    extern /* Subroutine */ int passb2_(integer *, integer *, float *, float *, 
-	    float *), passb3_(integer *, integer *, float *, float *, float *, 
-	    float *), passb4_(integer *, integer *, float *, float *, float *, 
-	    float *, float *), passb5_(integer *, integer *, float *, float *, 
-	    float *, float *, float *, float *);
+    extern /* Subroutine */ int passb2_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *), passb3_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *), passb4_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *), passb5_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *, r_4 *, r_4 *);
     static integer na, nf, ip, iw, ix2, ix3, ix4, nac, ido, idl1;
 
@@ -164,8 +164,8 @@
 
 /*  ------ File cfftf.f ------ */
-/* Subroutine */ int cfftf_(integer *n, float *c__, float *wsave)
-{
-    extern /* Subroutine */ int cfftf1_(integer *, float *, float *, float *, 
-	    integer *);
+/* Subroutine */ int cfftf_(integer *n, r_4 *c__, r_4 *wsave)
+{
+    extern /* Subroutine */ int cfftf1_(integer *, r_4 *, r_4 *, r_4 *, 
+	    int_4 *);
     static integer iw1, iw2;
 
@@ -185,6 +185,6 @@
 
 /*  ------ File cfftf1.f ------ */
-/* Subroutine */ int cfftf1_(integer *n, float *c__, float *ch, float *wa, 
-	integer *ifac)
+/* Subroutine */ int cfftf1_(integer *n, r_4 *c__, r_4 *ch, r_4 *wa, 
+	int_4 *ifac)
 {
     /* System generated locals */
@@ -194,12 +194,12 @@
     static integer idot, i__;
     extern /* Subroutine */ int passf_(integer *, integer *, integer *, 
-	    integer *, integer *, float *, float *, float *, float *, float *, 
-	    float *);
+	    integer *, integer *, r_4 *, r_4 *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *);
     static integer k1, l1, l2, n2;
-    extern /* Subroutine */ int passf2_(integer *, integer *, float *, float *, 
-	    float *), passf3_(integer *, integer *, float *, float *, float *, 
-	    float *), passf4_(integer *, integer *, float *, float *, float *, 
-	    float *, float *), passf5_(integer *, integer *, float *, float *, 
-	    float *, float *, float *, float *);
+    extern /* Subroutine */ int passf2_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *), passf3_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *), passf4_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *), passf5_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *, r_4 *, r_4 *);
     static integer na, nf, ip, iw, ix2, ix3, ix4, nac, ido, idl1;
 
@@ -317,7 +317,7 @@
 
 /*  ------ File cffti.f ------ */
-/* Subroutine */ int cffti_(integer *n, float *wsave)
-{
-    extern /* Subroutine */ int cffti1_(integer *, float *, integer *);
+/* Subroutine */ int cffti_(integer *n, r_4 *wsave)
+{
+    extern /* Subroutine */ int cffti1_(integer *, r_4 *, int_4 *);
     static integer iw1, iw2;
 
@@ -336,5 +336,5 @@
 
 /*  ------ File cffti1.f ------ */
-/* Subroutine */ int cffti1_(integer *n, float *wa, integer *ifac)
+/* Subroutine */ int cffti1_(integer *n, r_4 *wa, int_4 *ifac)
 {
     /* Initialized data */
@@ -346,16 +346,16 @@
 
     /* Builtin functions */ 
-/*    double cos(doubletruc), sin(doubletruc);   commente, remplace par math.h - Reza  29/11/99 */
+/*    r_8 cos(r_8truc), sin(r_8truc);   commente, remplace par math.h - Reza  29/11/99 */
 
     /* Local variables */
-    static float argh;
+    static r_4 argh;
     static integer idot, ntry, i__, j;
-    static float argld;
+    static r_4 argld;
     static integer i1, k1, l1, l2, ib;
-    static float fi;
+    static r_4 fi;
     static integer ld, ii, nf, ip, nl, nq, nr;
-    static float arg;
+    static r_4 arg;
     static integer ido, ipm;
-    static float tpi;
+    static r_4 tpi;
 
     /* Parameter adjustments */
@@ -411,5 +411,5 @@
     ifac[2] = nf;
     tpi = 6.28318530717959f;
-    argh = tpi / (float) (*n);
+    argh = tpi / (r_4) (*n);
     i__ = 2;
     l1 = 1;
@@ -429,5 +429,5 @@
 	    ld += l1;
 	    fi = 0.f;
-	    argld = (float) ld * argh;
+	    argld = (r_4) ld * argh;
 	    i__3 = idot;
 	    for (ii = 4; ii <= i__3; ii += 2) {
@@ -454,9 +454,9 @@
 
 /*  ------ File cosqb.f ------ */
-/* Subroutine */ int cosqb_(integer *n, float *x, float *wsave)
+/* Subroutine */ int cosqb_(integer *n, r_4 *x, r_4 *wsave)
 {
     /* Initialized data */
 
-    static float tsqrt2 = 2.82842712474619f;
+    static r_4 tsqrt2 = 2.82842712474619f;
 
     /* System generated locals */
@@ -464,6 +464,6 @@
 
     /* Local variables */
-    static float x1;
-    extern /* Subroutine */ int cosqb1_(integer *, float *, float *, float *);
+    static r_4 x1;
+    extern /* Subroutine */ int cosqb1_(integer *, r_4 *, r_4 *, r_4 *);
 
     /* Parameter adjustments */
@@ -493,5 +493,5 @@
 
 /*  ------ File cosqb1.f ------ */
-/* Subroutine */ int cosqb1_(integer *n, float *x, float *w, float *xh)
+/* Subroutine */ int cosqb1_(integer *n, r_4 *x, r_4 *w, r_4 *xh)
 {
     /* System generated locals */
@@ -500,7 +500,7 @@
     /* Local variables */
     static integer modn, i__, k;
-    extern /* Subroutine */ int rfftb_(integer *, float *, float *);
+    extern /* Subroutine */ int rfftb_(integer *, r_4 *, r_4 *);
     static integer kc, np2, ns2;
-    static float xim1;
+    static r_4 xim1;
 
     /* Parameter adjustments */
@@ -547,9 +547,9 @@
 
 /*  ------ File cosqf.f ------ */
-/* Subroutine */ int cosqf_(integer *n, float *x, float *wsave)
+/* Subroutine */ int cosqf_(integer *n, r_4 *x, r_4 *wsave)
 {
     /* Initialized data */
 
-    static float sqrt2 = 1.4142135623731f;
+    static r_4 sqrt2 = 1.4142135623731f;
 
     /* System generated locals */
@@ -557,6 +557,6 @@
 
     /* Local variables */
-    static float tsqx;
-    extern /* Subroutine */ int cosqf1_(integer *, float *, float *, float *);
+    static r_4 tsqx;
+    extern /* Subroutine */ int cosqf1_(integer *, r_4 *, r_4 *, r_4 *);
 
     /* Parameter adjustments */
@@ -584,5 +584,5 @@
 
 /*  ------ File cosqf1.f ------ */
-/* Subroutine */ int cosqf1_(integer *n, float *x, float *w, float *xh)
+/* Subroutine */ int cosqf1_(integer *n, r_4 *x, r_4 *w, r_4 *xh)
 {
     /* System generated locals */
@@ -591,7 +591,7 @@
     /* Local variables */
     static integer modn, i__, k;
-    extern /* Subroutine */ int rfftf_(integer *, float *, float *);
+    extern /* Subroutine */ int rfftf_(integer *, r_4 *, r_4 *);
     static integer kc, np2, ns2;
-    static float xim1;
+    static r_4 xim1;
 
     /* Parameter adjustments */
@@ -636,9 +636,9 @@
 
 /*  ------ File cosqi.f ------ */
-/* Subroutine */ int cosqi_(integer *n, float *wsave)
+/* Subroutine */ int cosqi_(integer *n, r_4 *wsave)
 {
     /* Initialized data */
 
-    static float pih = 1.57079632679491f;
+    static r_4 pih = 1.57079632679491f;
 
     /* System generated locals */
@@ -646,10 +646,10 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc);    commente - Remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc);    commente - Remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int rffti_(integer *, float *);
-    static float fk, dt;
+    extern /* Subroutine */ int rffti_(integer *, r_4 *);
+    static r_4 fk, dt;
 
     /* Parameter adjustments */
@@ -657,5 +657,5 @@
 
     /* Function Body */
-    dt = pih / (float) (*n);
+    dt = pih / (r_4) (*n);
     fk = 0.f;
     i__1 = *n;
@@ -670,5 +670,5 @@
 
 /*  ------ File cost.f ------ */
-/* Subroutine */ int cost_(integer *n, float *x, float *wsave)
+/* Subroutine */ int cost_(integer *n, r_4 *x, r_4 *wsave)
 {
     /* System generated locals */
@@ -677,12 +677,12 @@
     /* Local variables */
     static integer modn, i__, k;
-    extern /* Subroutine */ int rfftf_(integer *, float *, float *);
-    static float c1, t1, t2;
+    extern /* Subroutine */ int rfftf_(integer *, r_4 *, r_4 *);
+    static r_4 c1, t1, t2;
     static integer kc;
-    static float xi;
+    static r_4 xi;
     static integer nm1, np1;
-    static float x1h;
+    static r_4 x1h;
     static integer ns2;
-    static float tx2, x1p3, xim2;
+    static r_4 tx2, x1p3, xim2;
 
     /* Parameter adjustments */
@@ -753,9 +753,9 @@
 
 /*  ------ File costi.f ------ */
-/* Subroutine */ int costi_(integer *n, float *wsave)
+/* Subroutine */ int costi_(integer *n, r_4 *wsave)
 {
     /* Initialized data */
 
-    static float pi = 3.14159265358979f;
+    static r_4 pi = 3.14159265358979f;
 
     /* System generated locals */
@@ -763,11 +763,11 @@
 
     /* Builtin functions */
-/*    double sin(doubletruc), cos(doubletruc);  commente - Remplace par math.h  Reza 29/11/99 */
+/*    r_8 sin(r_8truc), cos(r_8truc);  commente - Remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int rffti_(integer *, float *);
+    extern /* Subroutine */ int rffti_(integer *, r_4 *);
     static integer kc;
-    static float fk, dt;
+    static r_4 fk, dt;
     static integer nm1, np1, ns2;
 
@@ -782,5 +782,5 @@
     np1 = *n + 1;
     ns2 = *n / 2;
-    dt = pi / (float) nm1;
+    dt = pi / (r_4) nm1;
     fk = 0.f;
     i__1 = ns2;
@@ -797,10 +797,10 @@
 
 /*  ------ File ezfft1.f ------ */
-/* Subroutine */ int ezfft1_(integer *n, float *wa, integer *ifac)
+/* Subroutine */ int ezfft1_(integer *n, r_4 *wa, int_4 *ifac)
 {
     /* Initialized data */
 
     static integer ntryh[4] = { 4,2,3,5 };
-    static float tpi = 6.28318530717959f;
+    static r_4 tpi = 6.28318530717959f;
 
     /* System generated locals */
@@ -808,12 +808,12 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);  commente - Remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc), sin(r_8truc);  commente - Remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
-    static float argh;
+    static r_4 argh;
     static integer ntry, i__, j, k1, l1, l2, ib, ii, nf, ip, nl, is, nq, nr;
-    static float ch1, sh1;
+    static r_4 ch1, sh1;
     static integer ido, ipm;
-    static float dch1, ch1h, arg1, dsh1;
+    static r_4 dch1, ch1h, arg1, dsh1;
     static integer nfm1;
 
@@ -869,5 +869,5 @@
     ifac[1] = *n;
     ifac[2] = nf;
-    argh = tpi / (float) (*n);
+    argh = tpi / (r_4) (*n);
     is = 0;
     nfm1 = nf - 1;
@@ -882,5 +882,5 @@
 	ido = *n / l2;
 	ipm = ip - 1;
-	arg1 = (float) l1 * argh;
+	arg1 = (r_4) l1 * argh;
 	ch1 = 1.f;
 	sh1 = 0.f;
@@ -916,6 +916,6 @@
 
 /*  ------ File ezfftb.f ------ */
-/* Subroutine */ int ezfftb_(integer *n, float *r__, float *azero, float *a, 
-	float *b, float *wsave)
+/* Subroutine */ int ezfftb_(integer *n, r_4 *r__, r_4 *azero, r_4 *a, 
+	r_4 *b, r_4 *wsave)
 {
     /* System generated locals */
@@ -924,5 +924,5 @@
     /* Local variables */
     static integer i__;
-    extern /* Subroutine */ int rfftb_(integer *, float *, float *);
+    extern /* Subroutine */ int rfftb_(integer *, r_4 *, r_4 *);
     static integer ns2;
 
@@ -965,6 +965,6 @@
 
 /*  ------ File ezfftf.f ------ */
-/* Subroutine */ int ezfftf_(integer *n, float *r__, float *azero, float *a, 
-	float *b, float *wsave)
+/* Subroutine */ int ezfftf_(integer *n, r_4 *r__, r_4 *azero, r_4 *a, 
+	r_4 *b, r_4 *wsave)
 {
     /* System generated locals */
@@ -973,8 +973,8 @@
     /* Local variables */
     static integer i__;
-    extern /* Subroutine */ int rfftf_(integer *, float *, float *);
-    static float cf;
+    extern /* Subroutine */ int rfftf_(integer *, r_4 *, r_4 *);
+    static r_4 cf;
     static integer ns2;
-    static float cfm;
+    static r_4 cfm;
     static integer ns2m;
 
@@ -1010,5 +1010,5 @@
     }
     rfftf_(n, &wsave[1], &wsave[*n + 1]);
-    cf = 2.f / (float) (*n);
+    cf = 2.f / (r_4) (*n);
     cfm = -cf;
     *azero = cf * .5f * wsave[1];
@@ -1030,7 +1030,7 @@
 
 /*  ------ File ezffti.f ------ */
-/* Subroutine */ int ezffti_(integer *n, float *wsave)
-{
-    extern /* Subroutine */ int ezfft1_(integer *, float *, integer *);
+/* Subroutine */ int ezffti_(integer *n, r_4 *wsave)
+{
+    extern /* Subroutine */ int ezfft1_(integer *, r_4 *, int_4 *);
 
     /* Parameter adjustments */
@@ -1047,6 +1047,6 @@
 /*  ------ File passb.f ------ */
 /* Subroutine */ int passb_(integer *nac, integer *ido, integer *ip, integer *
-	l1, integer *idl1, float *cc, float *c1, float *c2, float *ch, float *ch2, 
-	float *wa)
+	l1, integer *idl1, r_4 *cc, r_4 *c1, r_4 *c2, r_4 *ch, r_4 *ch2, 
+	r_4 *wa)
 {
     /* System generated locals */
@@ -1058,5 +1058,5 @@
     static integer idij, idlj, idot, ipph, i__, j, k, l, jc, lc, ik, nt, idj, 
 	    idl, inc, idp;
-    static float wai, war;
+    static r_4 wai, war;
     static integer ipp2;
 
@@ -1287,6 +1287,6 @@
 
 /*  ------ File passb2.f ------ */
-/* Subroutine */ int passb2_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1)
+/* Subroutine */ int passb2_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1)
 {
     /* System generated locals */
@@ -1295,5 +1295,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ti2, tr2;
+    static r_4 ti2, tr2;
 
     /* Parameter adjustments */
@@ -1349,11 +1349,11 @@
 
 /*  ------ File passb3.f ------ */
-/* Subroutine */ int passb3_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2)
+/* Subroutine */ int passb3_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2)
 {
     /* Initialized data */
 
-    static float taur = -.5f;
-    static float taui = .866025403784439f;
+    static r_4 taur = -.5f;
+    static r_4 taui = .866025403784439f;
 
     /* System generated locals */
@@ -1362,5 +1362,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
+    static r_4 ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
 
     /* Parameter adjustments */
@@ -1437,6 +1437,6 @@
 
 /*  ------ File passb4.f ------ */
-/* Subroutine */ int passb4_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3)
+/* Subroutine */ int passb4_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3)
 {
     /* System generated locals */
@@ -1445,5 +1445,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_4 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
 
@@ -1542,13 +1542,13 @@
 
 /*  ------ File passb5.f ------ */
-/* Subroutine */ int passb5_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3, float *wa4)
+/* Subroutine */ int passb5_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3, r_4 *wa4)
 {
     /* Initialized data */
 
-    static float tr11 = .309016994374947f;
-    static float ti11 = .951056516295154f;
-    static float tr12 = -.809016994374947f;
-    static float ti12 = .587785252292473f;
+    static r_4 tr11 = .309016994374947f;
+    static r_4 ti11 = .951056516295154f;
+    static r_4 tr12 = -.809016994374947f;
+    static r_4 ti12 = .587785252292473f;
 
     /* System generated locals */
@@ -1557,5 +1557,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
+    static r_4 ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
 	    ti2, ti3, ti4, ti5, dr3, dr4, dr5, dr2, tr2, tr3, tr4, tr5;
 
@@ -1678,6 +1678,6 @@
 /*  ------ File passf.f ------ */
 /* Subroutine */ int passf_(integer *nac, integer *ido, integer *ip, integer *
-	l1, integer *idl1, float *cc, float *c1, float *c2, float *ch, float *ch2, 
-	float *wa)
+	l1, integer *idl1, r_4 *cc, r_4 *c1, r_4 *c2, r_4 *ch, r_4 *ch2, 
+	r_4 *wa)
 {
     /* System generated locals */
@@ -1689,5 +1689,5 @@
     static integer idij, idlj, idot, ipph, i__, j, k, l, jc, lc, ik, nt, idj, 
 	    idl, inc, idp;
-    static float wai, war;
+    static r_4 wai, war;
     static integer ipp2;
 
@@ -1918,6 +1918,6 @@
 
 /*  ------ File passf2.f ------ */
-/* Subroutine */ int passf2_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1)
+/* Subroutine */ int passf2_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1)
 {
     /* System generated locals */
@@ -1926,5 +1926,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ti2, tr2;
+    static r_4 ti2, tr2;
 
     /* Parameter adjustments */
@@ -1980,11 +1980,11 @@
 
 /*  ------ File passf3.f ------ */
-/* Subroutine */ int passf3_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2)
+/* Subroutine */ int passf3_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2)
 {
     /* Initialized data */
 
-    static float taur = -.5f;
-    static float taui = -.866025403784439f;
+    static r_4 taur = -.5f;
+    static r_4 taui = -.866025403784439f;
 
     /* System generated locals */
@@ -1993,5 +1993,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
+    static r_4 ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
 
     /* Parameter adjustments */
@@ -2068,6 +2068,6 @@
 
 /*  ------ File passf4.f ------ */
-/* Subroutine */ int passf4_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3)
+/* Subroutine */ int passf4_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3)
 {
     /* System generated locals */
@@ -2076,5 +2076,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_4 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
 
@@ -2173,13 +2173,13 @@
 
 /*  ------ File passf5.f ------ */
-/* Subroutine */ int passf5_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3, float *wa4)
+/* Subroutine */ int passf5_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3, r_4 *wa4)
 {
     /* Initialized data */
 
-    static float tr11 = .309016994374947f;
-    static float ti11 = -.951056516295154f;
-    static float tr12 = -.809016994374947f;
-    static float ti12 = -.587785252292473f;
+    static r_4 tr11 = .309016994374947f;
+    static r_4 ti11 = -.951056516295154f;
+    static r_4 tr12 = -.809016994374947f;
+    static r_4 ti12 = -.587785252292473f;
 
     /* System generated locals */
@@ -2188,5 +2188,5 @@
     /* Local variables */
     static integer i__, k;
-    static float ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
+    static r_4 ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
 	    ti2, ti3, ti4, ti5, dr3, dr4, dr5, dr2, tr2, tr3, tr4, tr5;
 
@@ -2308,6 +2308,6 @@
 
 /*  ------ File radb2.f ------ */
-/* Subroutine */ int radb2_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1)
+/* Subroutine */ int radb2_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1)
 {
     /* System generated locals */
@@ -2316,5 +2316,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ti2, tr2;
+    static r_4 ti2, tr2;
     static integer idp2;
 
@@ -2385,11 +2385,11 @@
 
 /*  ------ File radb3.f ------ */
-/* Subroutine */ int radb3_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2)
+/* Subroutine */ int radb3_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2)
 {
     /* Initialized data */
 
-    static float taur = -.5f;
-    static float taui = .866025403784439f;
+    static r_4 taur = -.5f;
+    static r_4 taui = .866025403784439f;
 
     /* System generated locals */
@@ -2398,5 +2398,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
+    static r_4 ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
     static integer idp2;
 
@@ -2468,10 +2468,10 @@
 
 /*  ------ File radb4.f ------ */
-/* Subroutine */ int radb4_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3)
+/* Subroutine */ int radb4_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3)
 {
     /* Initialized data */
 
-    static float sqrt2 = 1.414213562373095f;
+    static r_4 sqrt2 = 1.414213562373095f;
 
     /* System generated locals */
@@ -2480,5 +2480,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_4 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
     static integer idp2;
@@ -2592,13 +2592,13 @@
 
 /*  ------ File radb5.f ------ */
-/* Subroutine */ int radb5_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3, float *wa4)
+/* Subroutine */ int radb5_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3, r_4 *wa4)
 {
     /* Initialized data */
 
-    static float tr11 = .309016994374947f;
-    static float ti11 = .951056516295154f;
-    static float tr12 = -.809016994374947f;
-    static float ti12 = .587785252292473f;
+    static r_4 tr11 = .309016994374947f;
+    static r_4 ti11 = .951056516295154f;
+    static r_4 tr12 = -.809016994374947f;
+    static r_4 ti12 = .587785252292473f;
 
     /* System generated locals */
@@ -2607,5 +2607,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
+    static r_4 ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
 	    ti2, ti3, ti4, ti5, dr3, dr4, dr5, dr2, tr2, tr3, tr4, tr5;
     static integer idp2;
@@ -2717,9 +2717,9 @@
 /*  ------ File radbg.f ------ */
 /* Subroutine */ int radbg_(integer *ido, integer *ip, integer *l1, integer *
-	idl1, float *cc, float *c1, float *c2, float *ch, float *ch2, float *wa)
+	idl1, r_4 *cc, r_4 *c1, r_4 *c2, r_4 *ch, r_4 *ch2, r_4 *wa)
 {
     /* Initialized data */
 
-    static float tpi = 6.28318530717959f;
+    static r_4 tpi = 6.28318530717959f;
 
     /* System generated locals */
@@ -2729,11 +2729,11 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);  commente - Remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc), sin(r_8truc);  commente - Remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer idij, ipph, i__, j, k, l, j2, ic, jc, lc, ik, is;
-    static float dc2, ai1, ai2, ar1, ar2, ds2;
+    static r_4 dc2, ai1, ai2, ar1, ar2, ds2;
     static integer nbd;
-    static float dcp, arg, dsp, ar1h, ar2h;
+    static r_4 dcp, arg, dsp, ar1h, ar2h;
     static integer idp2, ipp2;
 
@@ -2760,5 +2760,5 @@
 
     /* Function Body */
-    arg = tpi / (float) (*ip);
+    arg = tpi / (r_4) (*ip);
     dcp = cos(arg);
     dsp = sin(arg);
@@ -3057,6 +3057,6 @@
 
 /*  ------ File radf2.f ------ */
-/* Subroutine */ int radf2_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1)
+/* Subroutine */ int radf2_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1)
 {
     /* System generated locals */
@@ -3065,5 +3065,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ti2, tr2;
+    static r_4 ti2, tr2;
     static integer idp2;
 
@@ -3135,11 +3135,11 @@
 
 /*  ------ File radf3.f ------ */
-/* Subroutine */ int radf3_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2)
+/* Subroutine */ int radf3_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2)
 {
     /* Initialized data */
 
-    static float taur = -.5f;
-    static float taui = .866025403784439f;
+    static r_4 taur = -.5f;
+    static r_4 taui = .866025403784439f;
 
     /* System generated locals */
@@ -3148,5 +3148,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ci2, di2, di3, cr2, dr2, dr3, ti2, ti3, tr2, tr3;
+    static r_4 ci2, di2, di3, cr2, dr2, dr3, ti2, ti3, tr2, tr3;
     static integer idp2;
 
@@ -3214,10 +3214,10 @@
 
 /*  ------ File radf4.f ------ */
-/* Subroutine */ int radf4_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3)
+/* Subroutine */ int radf4_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3)
 {
     /* Initialized data */
 
-    static float hsqt2 = .7071067811865475f;
+    static r_4 hsqt2 = .7071067811865475f;
 
     /* System generated locals */
@@ -3226,5 +3226,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_4 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
     static integer idp2;
@@ -3330,13 +3330,13 @@
 
 /*  ------ File radf5.f ------ */
-/* Subroutine */ int radf5_(integer *ido, integer *l1, float *cc, float *ch, 
-	float *wa1, float *wa2, float *wa3, float *wa4)
+/* Subroutine */ int radf5_(integer *ido, integer *l1, r_4 *cc, r_4 *ch, 
+	r_4 *wa1, r_4 *wa2, r_4 *wa3, r_4 *wa4)
 {
     /* Initialized data */
 
-    static float tr11 = .309016994374947f;
-    static float ti11 = .951056516295154f;
-    static float tr12 = -.809016994374947f;
-    static float ti12 = .587785252292473f;
+    static r_4 tr11 = .309016994374947f;
+    static r_4 ti11 = .951056516295154f;
+    static r_4 tr12 = -.809016994374947f;
+    static r_4 ti12 = .587785252292473f;
 
     /* System generated locals */
@@ -3345,5 +3345,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static float ci2, di2, ci4, ci5, di3, di4, di5, ci3, cr2, cr3, dr2, dr3, 
+    static r_4 ci2, di2, ci4, ci5, di3, di4, di5, ci3, cr2, cr3, dr2, dr3, 
 	    dr4, dr5, cr5, cr4, ti2, ti3, ti5, ti4, tr2, tr3, tr4, tr5;
     static integer idp2;
@@ -3449,9 +3449,9 @@
 /*  ------ File radfg.f ------ */
 /* Subroutine */ int radfg_(integer *ido, integer *ip, integer *l1, integer *
-	idl1, float *cc, float *c1, float *c2, float *ch, float *ch2, float *wa)
+	idl1, r_4 *cc, r_4 *c1, r_4 *c2, r_4 *ch, r_4 *ch2, r_4 *wa)
 {
     /* Initialized data */
 
-    static float tpi = 6.28318530717959f;
+    static r_4 tpi = 6.28318530717959f;
 
     /* System generated locals */
@@ -3461,11 +3461,11 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);    */
+/*    r_8 cos(r_8truc), sin(r_8truc);    */
 
     /* Local variables */
     static integer idij, ipph, i__, j, k, l, j2, ic, jc, lc, ik, is;
-    static float dc2, ai1, ai2, ar1, ar2, ds2;
+    static r_4 dc2, ai1, ai2, ar1, ar2, ds2;
     static integer nbd;
-    static float dcp, arg, dsp, ar1h, ar2h;
+    static r_4 dcp, arg, dsp, ar1h, ar2h;
     static integer idp2, ipp2;
 
@@ -3492,5 +3492,5 @@
 
     /* Function Body */
-    arg = tpi / (float) (*ip);
+    arg = tpi / (r_4) (*ip);
     dcp = cos(arg);
     dsp = sin(arg);
@@ -3795,8 +3795,8 @@
 
 /*  ------ File rfftb.f ------ */
-/* Subroutine */ int rfftb_(integer *n, float *r__, float *wsave)
-{
-    extern /* Subroutine */ int rfftb1_(integer *, float *, float *, float *, 
-	    integer *);
+/* Subroutine */ int rfftb_(integer *n, r_4 *r__, r_4 *wsave)
+{
+    extern /* Subroutine */ int rfftb1_(integer *, r_4 *, r_4 *, r_4 *, 
+	    int_4 *);
 
     /* Parameter adjustments */
@@ -3808,11 +3808,11 @@
 	return 0;
     }
-    rfftb1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int *)&wsave[(*n << 1) + 1]);   /* (int *) rajoute Reza 29/11/99 */
+    rfftb1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int_4 *)&wsave[(*n << 1) + 1]);   /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* rfftb_ */
 
 /*  ------ File rfftb1.f ------ */
-/* Subroutine */ int rfftb1_(integer *n, float *c__, float *ch, float *wa, 
-	integer *ifac)
+/* Subroutine */ int rfftb1_(integer *n, r_4 *c__, r_4 *ch, r_4 *wa, 
+	int_4 *ifac)
 {
     /* System generated locals */
@@ -3820,12 +3820,12 @@
 
     /* Local variables */
-    extern /* Subroutine */ int radb2_(integer *, integer *, float *, float *, 
-	    float *), radb3_(integer *, integer *, float *, float *, float *, 
-	    float *), radb4_(integer *, integer *, float *, float *, float *, 
-	    float *, float *), radb5_(integer *, integer *, float *, float *, 
-	    float *, float *, float *, float *);
+    extern /* Subroutine */ int radb2_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *), radb3_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *), radb4_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *), radb5_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *, r_4 *, r_4 *);
     static integer i__;
     extern /* Subroutine */ int radbg_(integer *, integer *, integer *, 
-	    integer *, float *, float *, float *, float *, float *, float *);
+	    integer *, r_4 *, r_4 *, r_4 *, r_4 *, r_4 *, r_4 *);
     static integer k1, l1, l2, na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
 
@@ -3941,8 +3941,8 @@
 
 /*  ------ File rfftf.f ------ */
-/* Subroutine */ int rfftf_(integer *n, float *r__, float *wsave)
-{
-    extern /* Subroutine */ int rfftf1_(integer *, float *, float *, float *, 
-	    integer *);
+/* Subroutine */ int rfftf_(integer *n, r_4 *r__, r_4 *wsave)
+{
+    extern /* Subroutine */ int rfftf1_(integer *, r_4 *, r_4 *, r_4 *, 
+	    int_4 *);
 
     /* Parameter adjustments */
@@ -3954,11 +3954,11 @@
 	return 0;
     }
-    rfftf1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
+    rfftf1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int_4 *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* rfftf_ */
 
 /*  ------ File rfftf1.f ------ */
-/* Subroutine */ int rfftf1_(integer *n, float *c__, float *ch, float *wa, 
-	integer *ifac)
+/* Subroutine */ int rfftf1_(integer *n, r_4 *c__, r_4 *ch, r_4 *wa, 
+	int_4 *ifac)
 {
     /* System generated locals */
@@ -3966,12 +3966,12 @@
 
     /* Local variables */
-    extern /* Subroutine */ int radf2_(integer *, integer *, float *, float *, 
-	    float *), radf3_(integer *, integer *, float *, float *, float *, 
-	    float *), radf4_(integer *, integer *, float *, float *, float *, 
-	    float *, float *), radf5_(integer *, integer *, float *, float *, 
-	    float *, float *, float *, float *);
+    extern /* Subroutine */ int radf2_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *), radf3_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *), radf4_(integer *, integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *), radf5_(integer *, integer *, r_4 *, r_4 *, 
+	    r_4 *, r_4 *, r_4 *, r_4 *);
     static integer i__;
     extern /* Subroutine */ int radfg_(integer *, integer *, integer *, 
-	    integer *, float *, float *, float *, float *, float *, float *);
+	    integer *, r_4 *, r_4 *, r_4 *, r_4 *, r_4 *, r_4 *);
     static integer k1, l1, l2, na, kh, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
 
@@ -4082,7 +4082,7 @@
 
 /*  ------ File rffti.f ------ */
-/* Subroutine */ int rffti_(integer *n, float *wsave)
-{
-    extern /* Subroutine */ int rffti1_(integer *, float *, integer *);
+/* Subroutine */ int rffti_(integer *n, r_4 *wsave)
+{
+    extern /* Subroutine */ int rffti1_(integer *, r_4 *, int_4 *);
 
     /* Parameter adjustments */
@@ -4093,10 +4093,10 @@
 	return 0;
     }
-    rffti1_(n, &wsave[*n + 1], (int *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
+    rffti1_(n, &wsave[*n + 1], (int_4 *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* rffti_ */
 
 /*  ------ File rffti1.f ------ */
-/* Subroutine */ int rffti1_(integer *n, float *wa, integer *ifac)
+/* Subroutine */ int rffti1_(integer *n, r_4 *wa, int_4 *ifac)
 {
     /* Initialized data */
@@ -4108,16 +4108,16 @@
 
     /* Builtin functions */
-/*   double cos(doubletruc), sin(doubletruc);  Remplace par math.h , Reza 29/11/99 */
+/*   r_8 cos(r_8truc), sin(r_8truc);  Remplace par math.h , Reza 29/11/99 */
 
     /* Local variables */
-    static float argh;
+    static r_4 argh;
     static integer ntry, i__, j;
-    static float argld;
+    static r_4 argld;
     static integer k1, l1, l2, ib;
-    static float fi;
+    static r_4 fi;
     static integer ld, ii, nf, ip, nl, is, nq, nr;
-    static float arg;
+    static r_4 arg;
     static integer ido, ipm;
-    static float tpi;
+    static r_4 tpi;
     static integer nfm1;
 
@@ -4174,5 +4174,5 @@
     ifac[2] = nf;
     tpi = 6.28318530717959f;
-    argh = tpi / (float) (*n);
+    argh = tpi / (r_4) (*n);
     is = 0;
     nfm1 = nf - 1;
@@ -4192,5 +4192,5 @@
 	    ld += l1;
 	    i__ = is;
-	    argld = (float) ld * argh;
+	    argld = (r_4) ld * argh;
 	    fi = 0.f;
 	    i__3 = ido;
@@ -4213,5 +4213,5 @@
 
 /*  ------ File sinqb.f ------ */
-/* Subroutine */ int sinqb_(integer *n, float *x, float *wsave)
+/* Subroutine */ int sinqb_(integer *n, r_4 *x, r_4 *wsave)
 {
     /* System generated locals */
@@ -4220,6 +4220,6 @@
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int cosqb_(integer *, float *, float *);
-    static float xhold;
+    extern /* Subroutine */ int cosqb_(integer *, r_4 *, r_4 *);
+    static r_4 xhold;
     static integer kc, ns2;
 
@@ -4254,5 +4254,5 @@
 
 /*  ------ File sinqf.f ------ */
-/* Subroutine */ int sinqf_(integer *n, float *x, float *wsave)
+/* Subroutine */ int sinqf_(integer *n, r_4 *x, r_4 *wsave)
 {
     /* System generated locals */
@@ -4261,6 +4261,6 @@
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int cosqf_(integer *, float *, float *);
-    static float xhold;
+    extern /* Subroutine */ int cosqf_(integer *, r_4 *, r_4 *);
+    static r_4 xhold;
     static integer kc, ns2;
 
@@ -4292,7 +4292,7 @@
 
 /*  ------ File sinqi.f ------ */
-/* Subroutine */ int sinqi_(integer *n, float *wsave)
-{
-    extern /* Subroutine */ int cosqi_(integer *, float *);
+/* Subroutine */ int sinqi_(integer *n, r_4 *wsave)
+{
+    extern /* Subroutine */ int cosqi_(integer *, r_4 *);
 
     /* Parameter adjustments */
@@ -4305,8 +4305,8 @@
 
 /*  ------ File sint.f ------ */
-/* Subroutine */ int sint_(integer *n, float *x, float *wsave)
-{
-    extern /* Subroutine */ int sint1_(integer *, float *, float *, float *, 
-	    float *, integer *);
+/* Subroutine */ int sint_(integer *n, r_4 *x, r_4 *wsave)
+{
+    extern /* Subroutine */ int sint1_(integer *, r_4 *, r_4 *, r_4 *, 
+	    r_4 *, int_4 *);
     static integer np1, iw1, iw2, iw3;
 
@@ -4320,15 +4320,15 @@
     iw2 = iw1 + np1;
     iw3 = iw2 + np1;
-    sint1_(n, &x[1], &wsave[1], &wsave[iw1], &wsave[iw2], (int *)&wsave[iw3]);  /* (int *) rajoute Reza 29/11/99 */
+    sint1_(n, &x[1], &wsave[1], &wsave[iw1], &wsave[iw2], (int_4 *)&wsave[iw3]);  /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* sint_ */
 
 /*  ------ File sint1.f ------ */
-/* Subroutine */ int sint1_(integer *n, float *war, float *was, float *xh, float *
-	x, integer *ifac)
+/* Subroutine */ int sint1_(integer *n, r_4 *war, r_4 *was, r_4 *xh, r_4 *
+	x, int_4 *ifac)
 {
     /* Initialized data */
 
-    static float sqrt3 = 1.73205080756888f;
+    static r_4 sqrt3 = 1.73205080756888f;
 
     /* System generated locals */
@@ -4337,7 +4337,7 @@
     /* Local variables */
     static integer modn, i__, k;
-    static float xhold, t1, t2;
-    extern /* Subroutine */ int rfftf1_(integer *, float *, float *, float *, 
-	    integer *);
+    static r_4 xhold, t1, t2;
+    extern /* Subroutine */ int rfftf1_(integer *, r_4 *, r_4 *, r_4 *, 
+	    int_4 *);
     static integer kc, np1, ns2;
 
@@ -4411,9 +4411,9 @@
 
 /*  ------ File sinti.f ------ */
-/* Subroutine */ int sinti_(integer *n, float *wsave)
+/* Subroutine */ int sinti_(integer *n, r_4 *wsave)
 {
     /* Initialized data */
 
-    static float pi = 3.14159265358979f;
+    static r_4 pi = 3.14159265358979f;
 
     /* System generated locals */
@@ -4421,10 +4421,10 @@
 
     /* Builtin functions */
-/*    double sin(doubletruc);  remplace par math.h , Reza 29/11/99 */
+/*    r_8 sin(r_8truc);  remplace par math.h , Reza 29/11/99 */
 
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int rffti_(integer *, float *);
-    static float dt;
+    extern /* Subroutine */ int rffti_(integer *, r_4 *);
+    static r_4 dt;
     static integer np1, ns2;
 
@@ -4438,5 +4438,5 @@
     ns2 = *n / 2;
     np1 = *n + 1;
-    dt = pi / (float) np1;
+    dt = pi / (r_4) np1;
     i__1 = ns2;
     for (k = 1; k <= i__1; ++k) {
@@ -4448,10 +4448,12 @@
 } /* sinti_ */
 
-/* make a double version of the library*/
-
-/* Subroutine */ int cdfftb_(integer *n, double *c__, double *wsave)
-{
-    extern /* Subroutine */ int cdfftb1_(integer *, double *, double *, double *, 
-	    integer *);
+/* --------------------------------------------------------------- */
+/* -------------- make a r_8 version of the library ----------- */
+/* --------------------------------------------------------------- */
+
+/* Subroutine */ int cdfftb_(integer *n, r_8 *c__, r_8 *wsave)
+{
+    extern /* Subroutine */ int cdfftb1_(integer *, r_8 *, r_8 *, r_8 *, 
+	    int_8 *);
     static integer iw1, iw2;
 
@@ -4466,11 +4468,11 @@
     iw1 = *n + *n + 1;
     iw2 = iw1 + *n + *n;
-    cdfftb1_(n, &c__[1], &wsave[1], &wsave[iw1], (int *)&wsave[iw2]); /* (int *) rajoute Reza 29/11/99 */
+    cdfftb1_(n, &c__[1], &wsave[1], &wsave[iw1], (int_8 *)&wsave[iw2]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* cdfftb_ */
 
 /*  ------ File cdfftb1.f ------ */
-/* Subroutine */ int cdfftb1_(integer *n, double *c__, double *ch, double *wa, 
-	integer *ifac)
+/* Subroutine */ int cdfftb1_(integer *n, r_8 *c__, r_8 *ch, r_8 *wa, 
+	int_8 *ifac)
 {
     /* System generated locals */
@@ -4480,12 +4482,12 @@
     static integer idot, i__;
     extern /* Subroutine */ int dpassb_(integer *, integer *, integer *, 
-	    integer *, integer *, double *, double *, double *, double *, double *, 
-	    double *);
+	    integer *, integer *, r_8 *, r_8 *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *);
     static integer k1, l1, l2, n2;
-    extern /* Subroutine */ int dpassb2_(integer *, integer *, double *, double *, 
-	    double *), dpassb3_(integer *, integer *, double *, double *, double *, 
-	    double *), dpassb4_(integer *, integer *, double *, double *, double *, 
-	    double *, double *), dpassb5_(integer *, integer *, double *, double *, 
-	    double *, double *, double *, double *);
+    extern /* Subroutine */ int dpassb2_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *), dpassb3_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *), dpassb4_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *), dpassb5_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *, r_8 *, r_8 *);
     static integer na, nf, ip, iw, ix2, ix3, ix4, nac, ido, idl1;
 
@@ -4603,8 +4605,8 @@
 
 /*  ------ File cdfftf.f ------ */
-/* Subroutine */ int cdfftf_(integer *n, double *c__, double *wsave)
-{
-    extern /* Subroutine */ int cdfftf1_(integer *, double *, double *, double *, 
-	    integer *);
+/* Subroutine */ int cdfftf_(integer *n, r_8 *c__, r_8 *wsave)
+{
+    extern /* Subroutine */ int cdfftf1_(integer *, r_8 *, r_8 *, r_8 *, 
+	    int_8 *);
     static integer iw1, iw2;
 
@@ -4619,11 +4621,11 @@
     iw1 = *n + *n + 1;
     iw2 = iw1 + *n + *n;
-    cdfftf1_(n, &c__[1], &wsave[1], &wsave[iw1], (int *)&wsave[iw2]); /* (int *) rajoute Reza 29/11/99 */
+    cdfftf1_(n, &c__[1], &wsave[1], &wsave[iw1], (int_8 *)&wsave[iw2]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* cdfftf_ */
 
 /*  ------ File cdfftf1.f ------ */
-/* Subroutine */ int cdfftf1_(integer *n, double *c__, double *ch, double *wa, 
-	integer *ifac)
+/* Subroutine */ int cdfftf1_(integer *n, r_8 *c__, r_8 *ch, r_8 *wa, 
+	int_8 *ifac)
 {
     /* System generated locals */
@@ -4633,12 +4635,12 @@
     static integer idot, i__;
     extern /* Subroutine */ int dpassf_(integer *, integer *, integer *, 
-	    integer *, integer *, double *, double *, double *, double *, double *, 
-	    double *);
+	    integer *, integer *, r_8 *, r_8 *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *);
     static integer k1, l1, l2, n2;
-    extern /* Subroutine */ int dpassf2_(integer *, integer *, double *, double *, 
-	    double *), dpassf3_(integer *, integer *, double *, double *, double *, 
-	    double *), dpassf4_(integer *, integer *, double *, double *, double *, 
-	    double *, double *), dpassf5_(integer *, integer *, double *, double *, 
-	    double *, double *, double *, double *);
+    extern /* Subroutine */ int dpassf2_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *), dpassf3_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *), dpassf4_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *), dpassf5_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *, r_8 *, r_8 *);
     static integer na, nf, ip, iw, ix2, ix3, ix4, nac, ido, idl1;
 
@@ -4756,7 +4758,7 @@
 
 /*  ------ File cdffti.f ------ */
-/* Subroutine */ int cdffti_(integer *n, double *wsave)
-{
-    extern /* Subroutine */ int cdffti1_(integer *, double *, integer *);
+/* Subroutine */ int cdffti_(integer *n, r_8 *wsave)
+{
+    extern /* Subroutine */ int cdffti1_(integer *, r_8 *, int_8 *);
     static integer iw1, iw2;
 
@@ -4770,10 +4772,10 @@
     iw1 = *n + *n + 1;
     iw2 = iw1 + *n + *n;
-    cdffti1_(n, &wsave[iw1], (int *)&wsave[iw2]); /* (int *) rajoute Reza 29/11/99 */
+    cdffti1_(n, &wsave[iw1], (int_8 *)&wsave[iw2]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* cdffti_ */
 
 /*  ------ File cdffti1.f ------ */
-/* Subroutine */ int cdffti1_(integer *n, double *wa, integer *ifac)
+/* Subroutine */ int cdffti1_(integer *n, r_8 *wa, int_8 *ifac)
 {
     /* Initialized data */
@@ -4785,16 +4787,16 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);  remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc), sin(r_8truc);  remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
-    static double argh;
+    static r_8 argh;
     static integer idot, ntry, i__, j;
-    static double argld;
+    static r_8 argld;
     static integer i1, k1, l1, l2, ib;
-    static double fi;
+    static r_8 fi;
     static integer ld, ii, nf, ip, nl, nq, nr;
-    static double arg;
+    static r_8 arg;
     static integer ido, ipm;
-    static double tpi;
+    static r_8 tpi;
 
     /* Parameter adjustments */
@@ -4850,5 +4852,5 @@
     ifac[2] = nf;
     tpi = 6.28318530717959f;
-    argh = tpi / (double) (*n);
+    argh = tpi / (r_8) (*n);
     i__ = 2;
     l1 = 1;
@@ -4868,5 +4870,5 @@
 	    ld += l1;
 	    fi = 0.f;
-	    argld = (double) ld * argh;
+	    argld = (r_8) ld * argh;
 	    i__3 = idot;
 	    for (ii = 4; ii <= i__3; ii += 2) {
@@ -4893,9 +4895,9 @@
 
 /*  ------ File dcosqb.f ------ */
-/* Subroutine */ int dcosqb_(integer *n, double *x, double *wsave)
+/* Subroutine */ int dcosqb_(integer *n, r_8 *x, r_8 *wsave)
 {
     /* Initialized data */
 
-    static double tsqrt2 = 2.82842712474619f;
+    static r_8 tsqrt2 = 2.82842712474619f;
 
     /* System generated locals */
@@ -4903,6 +4905,6 @@
 
     /* Local variables */
-    static double x1;
-    extern /* Subroutine */ int dcosqb1_(integer *, double *, double *, double *);
+    static r_8 x1;
+    extern /* Subroutine */ int dcosqb1_(integer *, r_8 *, r_8 *, r_8 *);
 
     /* Parameter adjustments */
@@ -4932,5 +4934,5 @@
 
 /*  ------ File dcosqb1.f ------ */
-/* Subroutine */ int dcosqb1_(integer *n, double *x, double *w, double *xh)
+/* Subroutine */ int dcosqb1_(integer *n, r_8 *x, r_8 *w, r_8 *xh)
 {
     /* System generated locals */
@@ -4939,7 +4941,7 @@
     /* Local variables */
     static integer modn, i__, k;
-    extern /* Subroutine */ int dfftb_(integer *, double *, double *);
+    extern /* Subroutine */ int dfftb_(integer *, r_8 *, r_8 *);
     static integer kc, np2, ns2;
-    static double xim1;
+    static r_8 xim1;
 
     /* Parameter adjustments */
@@ -4986,9 +4988,9 @@
 
 /*  ------ File dcosqf.f ------ */
-/* Subroutine */ int dcosqf_(integer *n, double *x, double *wsave)
+/* Subroutine */ int dcosqf_(integer *n, r_8 *x, r_8 *wsave)
 {
     /* Initialized data */
 
-    static double sqrt2 = 1.4142135623731f;
+    static r_8 sqrt2 = 1.4142135623731f;
 
     /* System generated locals */
@@ -4996,6 +4998,6 @@
 
     /* Local variables */
-    static double tsqx;
-    extern /* Subroutine */ int dcosqf1_(integer *, double *, double *, double *);
+    static r_8 tsqx;
+    extern /* Subroutine */ int dcosqf1_(integer *, r_8 *, r_8 *, r_8 *);
 
     /* Parameter adjustments */
@@ -5023,5 +5025,5 @@
 
 /*  ------ File dcosqf1.f ------ */
-/* Subroutine */ int dcosqf1_(integer *n, double *x, double *w, double *xh)
+/* Subroutine */ int dcosqf1_(integer *n, r_8 *x, r_8 *w, r_8 *xh)
 {
     /* System generated locals */
@@ -5030,7 +5032,7 @@
     /* Local variables */
     static integer modn, i__, k;
-    extern /* Subroutine */ int dfftf_(integer *, double *, double *);
+    extern /* Subroutine */ int dfftf_(integer *, r_8 *, r_8 *);
     static integer kc, np2, ns2;
-    static double xim1;
+    static r_8 xim1;
 
     /* Parameter adjustments */
@@ -5075,9 +5077,9 @@
 
 /*  ------ File dcosqi.f ------ */
-/* Subroutine */ int dcosqi_(integer *n, double *wsave)
+/* Subroutine */ int dcosqi_(integer *n, r_8 *wsave)
 {
     /* Initialized data */
 
-    static double pih = 1.57079632679491f;
+    static r_8 pih = 1.57079632679491f;
 
     /* System generated locals */
@@ -5085,10 +5087,10 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc); remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc); remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int dffti_(integer *, double *);
-    static double fk, dt;
+    extern /* Subroutine */ int dffti_(integer *, r_8 *);
+    static r_8 fk, dt;
 
     /* Parameter adjustments */
@@ -5096,5 +5098,5 @@
 
     /* Function Body */
-    dt = pih / (double) (*n);
+    dt = pih / (r_8) (*n);
     fk = 0.f;
     i__1 = *n;
@@ -5109,5 +5111,5 @@
 
 /*  ------ File dcost.f ------ */
-/* Subroutine */ int dcost_(integer *n, double *x, double *wsave)
+/* Subroutine */ int dcost_(integer *n, r_8 *x, r_8 *wsave)
 {
     /* System generated locals */
@@ -5116,12 +5118,12 @@
     /* Local variables */
     static integer modn, i__, k;
-    extern /* Subroutine */ int dfftf_(integer *, double *, double *);
-    static double c1, t1, t2;
+    extern /* Subroutine */ int dfftf_(integer *, r_8 *, r_8 *);
+    static r_8 c1, t1, t2;
     static integer kc;
-    static double xi;
+    static r_8 xi;
     static integer nm1, np1;
-    static double x1h;
+    static r_8 x1h;
     static integer ns2;
-    static double tx2, x1p3, xim2;
+    static r_8 tx2, x1p3, xim2;
 
     /* Parameter adjustments */
@@ -5192,9 +5194,9 @@
 
 /*  ------ File dcosti.f ------ */
-/* Subroutine */ int dcosti_(integer *n, double *wsave)
+/* Subroutine */ int dcosti_(integer *n, r_8 *wsave)
 {
     /* Initialized data */
 
-    static double pi = 3.14159265358979f;
+    static r_8 pi = 3.14159265358979f;
 
     /* System generated locals */
@@ -5202,11 +5204,11 @@
 
     /* Builtin functions */
-/*    double sin(doubletruc), cos(doubletruc);  remplace par math.h  Reza 29/11/99 */
+/*    r_8 sin(r_8truc), cos(r_8truc);  remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int dffti_(integer *, double *);
+    extern /* Subroutine */ int dffti_(integer *, r_8 *);
     static integer kc;
-    static double fk, dt;
+    static r_8 fk, dt;
     static integer nm1, np1, ns2;
 
@@ -5221,5 +5223,5 @@
     np1 = *n + 1;
     ns2 = *n / 2;
-    dt = pi / (double) nm1;
+    dt = pi / (r_8) nm1;
     fk = 0.f;
     i__1 = ns2;
@@ -5236,10 +5238,10 @@
 
 /*  ------ File dezfft1.f ------ */
-/* Subroutine */ int dezfft1_(integer *n, double *wa, integer *ifac)
+/* Subroutine */ int dezfft1_(integer *n, r_8 *wa, int_8 *ifac)
 {
     /* Initialized data */
 
     static integer ntryh[4] = { 4,2,3,5 };
-    static double tpi = 6.28318530717959f;
+    static r_8 tpi = 6.28318530717959f;
 
     /* System generated locals */
@@ -5247,12 +5249,12 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);  remplace par math.h  Reza 29/11/99  */
+/*    r_8 cos(r_8truc), sin(r_8truc);  remplace par math.h  Reza 29/11/99  */
 
     /* Local variables */
-    static double argh;
+    static r_8 argh;
     static integer ntry, i__, j, k1, l1, l2, ib, ii, nf, ip, nl, is, nq, nr;
-    static double ch1, sh1;
+    static r_8 ch1, sh1;
     static integer ido, ipm;
-    static double dch1, ch1h, arg1, dsh1;
+    static r_8 dch1, ch1h, arg1, dsh1;
     static integer nfm1;
 
@@ -5308,5 +5310,5 @@
     ifac[1] = *n;
     ifac[2] = nf;
-    argh = tpi / (double) (*n);
+    argh = tpi / (r_8) (*n);
     is = 0;
     nfm1 = nf - 1;
@@ -5321,5 +5323,5 @@
 	ido = *n / l2;
 	ipm = ip - 1;
-	arg1 = (double) l1 * argh;
+	arg1 = (r_8) l1 * argh;
 	ch1 = 1.f;
 	sh1 = 0.f;
@@ -5355,6 +5357,6 @@
 
 /*  ------ File dezfftb.f ------ */
-/* Subroutine */ int dezfftb_(integer *n, double *r__, double *azero, double *a, 
-	double *b, double *wsave)
+/* Subroutine */ int dezfftb_(integer *n, r_8 *r__, r_8 *azero, r_8 *a, 
+	r_8 *b, r_8 *wsave)
 {
     /* System generated locals */
@@ -5363,5 +5365,5 @@
     /* Local variables */
     static integer i__;
-    extern /* Subroutine */ int dfftb_(integer *, double *, double *);
+    extern /* Subroutine */ int dfftb_(integer *, r_8 *, r_8 *);
     static integer ns2;
 
@@ -5404,6 +5406,6 @@
 
 /*  ------ File dezfftf.f ------ */
-/* Subroutine */ int dezfftf_(integer *n, double *r__, double *azero, double *a, 
-	double *b, double *wsave)
+/* Subroutine */ int dezfftf_(integer *n, r_8 *r__, r_8 *azero, r_8 *a, 
+	r_8 *b, r_8 *wsave)
 {
     /* System generated locals */
@@ -5412,8 +5414,8 @@
     /* Local variables */
     static integer i__;
-    extern /* Subroutine */ int dfftf_(integer *, double *, double *);
-    static double cf;
+    extern /* Subroutine */ int dfftf_(integer *, r_8 *, r_8 *);
+    static r_8 cf;
     static integer ns2;
-    static double cfm;
+    static r_8 cfm;
     static integer ns2m;
 
@@ -5449,5 +5451,5 @@
     }
     dfftf_(n, &wsave[1], &wsave[*n + 1]);
-    cf = 2.f / (double) (*n);
+    cf = 2.f / (r_8) (*n);
     cfm = -cf;
     *azero = cf * .5f * wsave[1];
@@ -5469,7 +5471,7 @@
 
 /*  ------ File dezffti.f ------ */
-/* Subroutine */ int dezffti_(integer *n, double *wsave)
-{
-    extern /* Subroutine */ int dezfft1_(integer *, double *, integer *);
+/* Subroutine */ int dezffti_(integer *n, r_8 *wsave)
+{
+    extern /* Subroutine */ int dezfft1_(integer *, r_8 *, int_8 *);
 
     /* Parameter adjustments */
@@ -5480,5 +5482,5 @@
 	return 0;
     }
-    dezfft1_(n, &wsave[(*n << 1) + 1], (integer*)&wsave[*n * 3 + 1]);
+    dezfft1_(n, &wsave[(*n << 1) + 1], (int_8 *)&wsave[*n * 3 + 1]);
     return 0;
 } /* dezffti_ */
@@ -5486,6 +5488,6 @@
 /*  ------ File dpassb.f ------ */
 /* Subroutine */ int dpassb_(integer *nac, integer *ido, integer *ip, integer *
-	l1, integer *idl1, double *cc, double *c1, double *c2, double *ch, double *ch2, 
-	double *wa)
+	l1, integer *idl1, r_8 *cc, r_8 *c1, r_8 *c2, r_8 *ch, r_8 *ch2, 
+	r_8 *wa)
 {
     /* System generated locals */
@@ -5497,5 +5499,5 @@
     static integer idij, idlj, idot, ipph, i__, j, k, l, jc, lc, ik, nt, idj, 
 	    idl, inc, idp;
-    static double wai, war;
+    static r_8 wai, war;
     static integer ipp2;
 
@@ -5726,6 +5728,6 @@
 
 /*  ------ File dpassb2.f ------ */
-/* Subroutine */ int dpassb2_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1)
+/* Subroutine */ int dpassb2_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1)
 {
     /* System generated locals */
@@ -5734,5 +5736,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ti2, tr2;
+    static r_8 ti2, tr2;
 
     /* Parameter adjustments */
@@ -5788,11 +5790,11 @@
 
 /*  ------ File dpassb3.f ------ */
-/* Subroutine */ int dpassb3_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2)
+/* Subroutine */ int dpassb3_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2)
 {
     /* Initialized data */
 
-    static double taur = -.5f;
-    static double taui = .866025403784439f;
+    static r_8 taur = -.5f;
+    static r_8 taui = .866025403784439f;
 
     /* System generated locals */
@@ -5801,5 +5803,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
+    static r_8 ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
 
     /* Parameter adjustments */
@@ -5876,6 +5878,6 @@
 
 /*  ------ File dpassb4.f ------ */
-/* Subroutine */ int dpassb4_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3)
+/* Subroutine */ int dpassb4_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3)
 {
     /* System generated locals */
@@ -5884,5 +5886,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_8 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
 
@@ -5981,13 +5983,13 @@
 
 /*  ------ File dpassb5.f ------ */
-/* Subroutine */ int dpassb5_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3, double *wa4)
+/* Subroutine */ int dpassb5_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3, r_8 *wa4)
 {
     /* Initialized data */
 
-    static double tr11 = .309016994374947f;
-    static double ti11 = .951056516295154f;
-    static double tr12 = -.809016994374947f;
-    static double ti12 = .587785252292473f;
+    static r_8 tr11 = .309016994374947f;
+    static r_8 ti11 = .951056516295154f;
+    static r_8 tr12 = -.809016994374947f;
+    static r_8 ti12 = .587785252292473f;
 
     /* System generated locals */
@@ -5996,5 +5998,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
+    static r_8 ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
 	    ti2, ti3, ti4, ti5, dr3, dr4, dr5, dr2, tr2, tr3, tr4, tr5;
 
@@ -6117,6 +6119,6 @@
 /*  ------ File dpassf.f ------ */
 /* Subroutine */ int dpassf_(integer *nac, integer *ido, integer *ip, integer *
-	l1, integer *idl1, double *cc, double *c1, double *c2, double *ch, double *ch2, 
-	double *wa)
+	l1, integer *idl1, r_8 *cc, r_8 *c1, r_8 *c2, r_8 *ch, r_8 *ch2, 
+	r_8 *wa)
 {
     /* System generated locals */
@@ -6128,5 +6130,5 @@
     static integer idij, idlj, idot, ipph, i__, j, k, l, jc, lc, ik, nt, idj, 
 	    idl, inc, idp;
-    static double wai, war;
+    static r_8 wai, war;
     static integer ipp2;
 
@@ -6357,6 +6359,6 @@
 
 /*  ------ File dpassf2.f ------ */
-/* Subroutine */ int dpassf2_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1)
+/* Subroutine */ int dpassf2_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1)
 {
     /* System generated locals */
@@ -6365,5 +6367,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ti2, tr2;
+    static r_8 ti2, tr2;
 
     /* Parameter adjustments */
@@ -6419,11 +6421,11 @@
 
 /*  ------ File dpassf3.f ------ */
-/* Subroutine */ int dpassf3_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2)
+/* Subroutine */ int dpassf3_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2)
 {
     /* Initialized data */
 
-    static double taur = -.5f;
-    static double taui = -.866025403784439f;
+    static r_8 taur = -.5f;
+    static r_8 taui = -.866025403784439f;
 
     /* System generated locals */
@@ -6432,5 +6434,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
+    static r_8 ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
 
     /* Parameter adjustments */
@@ -6507,6 +6509,6 @@
 
 /*  ------ File dpassf4.f ------ */
-/* Subroutine */ int dpassf4_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3)
+/* Subroutine */ int dpassf4_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3)
 {
     /* System generated locals */
@@ -6515,5 +6517,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_8 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
 
@@ -6612,13 +6614,13 @@
 
 /*  ------ File dpassf5.f ------ */
-/* Subroutine */ int dpassf5_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3, double *wa4)
+/* Subroutine */ int dpassf5_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3, r_8 *wa4)
 {
     /* Initialized data */
 
-    static double tr11 = .309016994374947f;
-    static double ti11 = -.951056516295154f;
-    static double tr12 = -.809016994374947f;
-    static double ti12 = -.587785252292473f;
+    static r_8 tr11 = .309016994374947f;
+    static r_8 ti11 = -.951056516295154f;
+    static r_8 tr12 = -.809016994374947f;
+    static r_8 ti12 = -.587785252292473f;
 
     /* System generated locals */
@@ -6627,5 +6629,5 @@
     /* Local variables */
     static integer i__, k;
-    static double ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
+    static r_8 ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
 	    ti2, ti3, ti4, ti5, dr3, dr4, dr5, dr2, tr2, tr3, tr4, tr5;
 
@@ -6747,6 +6749,6 @@
 
 /*  ------ File dadb2.f ------ */
-/* Subroutine */ int dadb2_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1)
+/* Subroutine */ int dadb2_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1)
 {
     /* System generated locals */
@@ -6755,5 +6757,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ti2, tr2;
+    static r_8 ti2, tr2;
     static integer idp2;
 
@@ -6824,11 +6826,11 @@
 
 /*  ------ File dadb3.f ------ */
-/* Subroutine */ int dadb3_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2)
+/* Subroutine */ int dadb3_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2)
 {
     /* Initialized data */
 
-    static double taur = -.5f;
-    static double taui = .866025403784439f;
+    static r_8 taur = -.5f;
+    static r_8 taui = .866025403784439f;
 
     /* System generated locals */
@@ -6837,5 +6839,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
+    static r_8 ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
     static integer idp2;
 
@@ -6907,10 +6909,10 @@
 
 /*  ------ File dadb4.f ------ */
-/* Subroutine */ int dadb4_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3)
+/* Subroutine */ int dadb4_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3)
 {
     /* Initialized data */
 
-    static double sqrt2 = 1.414213562373095f;
+    static r_8 sqrt2 = 1.414213562373095f;
 
     /* System generated locals */
@@ -6919,5 +6921,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_8 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
     static integer idp2;
@@ -7031,13 +7033,13 @@
 
 /*  ------ File dadb5.f ------ */
-/* Subroutine */ int dadb5_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3, double *wa4)
+/* Subroutine */ int dadb5_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3, r_8 *wa4)
 {
     /* Initialized data */
 
-    static double tr11 = .309016994374947f;
-    static double ti11 = .951056516295154f;
-    static double tr12 = -.809016994374947f;
-    static double ti12 = .587785252292473f;
+    static r_8 tr11 = .309016994374947f;
+    static r_8 ti11 = .951056516295154f;
+    static r_8 tr12 = -.809016994374947f;
+    static r_8 ti12 = .587785252292473f;
 
     /* System generated locals */
@@ -7046,5 +7048,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
+    static r_8 ci2, ci3, ci4, ci5, di3, di4, di5, di2, cr2, cr3, cr5, cr4, 
 	    ti2, ti3, ti4, ti5, dr3, dr4, dr5, dr2, tr2, tr3, tr4, tr5;
     static integer idp2;
@@ -7156,9 +7158,9 @@
 /*  ------ File dadbg.f ------ */
 /* Subroutine */ int dadbg_(integer *ido, integer *ip, integer *l1, integer *
-	idl1, double *cc, double *c1, double *c2, double *ch, double *ch2, double *wa)
+	idl1, r_8 *cc, r_8 *c1, r_8 *c2, r_8 *ch, r_8 *ch2, r_8 *wa)
 {
     /* Initialized data */
 
-    static double tpi = 6.28318530717959f;
+    static r_8 tpi = 6.28318530717959f;
 
     /* System generated locals */
@@ -7168,11 +7170,11 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);  remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc), sin(r_8truc);  remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer idij, ipph, i__, j, k, l, j2, ic, jc, lc, ik, is;
-    static double dc2, ai1, ai2, ar1, ar2, ds2;
+    static r_8 dc2, ai1, ai2, ar1, ar2, ds2;
     static integer nbd;
-    static double dcp, arg, dsp, ar1h, ar2h;
+    static r_8 dcp, arg, dsp, ar1h, ar2h;
     static integer idp2, ipp2;
 
@@ -7199,5 +7201,5 @@
 
     /* Function Body */
-    arg = tpi / (double) (*ip);
+    arg = tpi / (r_8) (*ip);
     dcp = cos(arg);
     dsp = sin(arg);
@@ -7496,6 +7498,6 @@
 
 /*  ------ File dadf2.f ------ */
-/* Subroutine */ int dadf2_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1)
+/* Subroutine */ int dadf2_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1)
 {
     /* System generated locals */
@@ -7504,5 +7506,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ti2, tr2;
+    static r_8 ti2, tr2;
     static integer idp2;
 
@@ -7574,11 +7576,11 @@
 
 /*  ------ File dadf3.f ------ */
-/* Subroutine */ int dadf3_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2)
+/* Subroutine */ int dadf3_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2)
 {
     /* Initialized data */
 
-    static double taur = -.5f;
-    static double taui = .866025403784439f;
+    static r_8 taur = -.5f;
+    static r_8 taui = .866025403784439f;
 
     /* System generated locals */
@@ -7587,5 +7589,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ci2, di2, di3, cr2, dr2, dr3, ti2, ti3, tr2, tr3;
+    static r_8 ci2, di2, di3, cr2, dr2, dr3, ti2, ti3, tr2, tr3;
     static integer idp2;
 
@@ -7653,10 +7655,10 @@
 
 /*  ------ File dadf4.f ------ */
-/* Subroutine */ int dadf4_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3)
+/* Subroutine */ int dadf4_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3)
 {
     /* Initialized data */
 
-    static double hsqt2 = .7071067811865475f;
+    static r_8 hsqt2 = .7071067811865475f;
 
     /* System generated locals */
@@ -7665,5 +7667,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
+    static r_8 ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, 
 	    tr3, tr4;
     static integer idp2;
@@ -7769,13 +7771,13 @@
 
 /*  ------ File dadf5.f ------ */
-/* Subroutine */ int dadf5_(integer *ido, integer *l1, double *cc, double *ch, 
-	double *wa1, double *wa2, double *wa3, double *wa4)
+/* Subroutine */ int dadf5_(integer *ido, integer *l1, r_8 *cc, r_8 *ch, 
+	r_8 *wa1, r_8 *wa2, r_8 *wa3, r_8 *wa4)
 {
     /* Initialized data */
 
-    static double tr11 = .309016994374947f;
-    static double ti11 = .951056516295154f;
-    static double tr12 = -.809016994374947f;
-    static double ti12 = .587785252292473f;
+    static r_8 tr11 = .309016994374947f;
+    static r_8 ti11 = .951056516295154f;
+    static r_8 tr12 = -.809016994374947f;
+    static r_8 ti12 = .587785252292473f;
 
     /* System generated locals */
@@ -7784,5 +7786,5 @@
     /* Local variables */
     static integer i__, k, ic;
-    static double ci2, di2, ci4, ci5, di3, di4, di5, ci3, cr2, cr3, dr2, dr3, 
+    static r_8 ci2, di2, ci4, ci5, di3, di4, di5, ci3, cr2, cr3, dr2, dr3, 
 	    dr4, dr5, cr5, cr4, ti2, ti3, ti5, ti4, tr2, tr3, tr4, tr5;
     static integer idp2;
@@ -7888,9 +7890,9 @@
 /*  ------ File dadfg.f ------ */
 /* Subroutine */ int dadfg_(integer *ido, integer *ip, integer *l1, integer *
-	idl1, double *cc, double *c1, double *c2, double *ch, double *ch2, double *wa)
+	idl1, r_8 *cc, r_8 *c1, r_8 *c2, r_8 *ch, r_8 *ch2, r_8 *wa)
 {
     /* Initialized data */
 
-    static double tpi = 6.28318530717959f;
+    static r_8 tpi = 6.28318530717959f;
 
     /* System generated locals */
@@ -7900,11 +7902,11 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc);   */
+/*    r_8 cos(r_8truc), sin(r_8truc);   */
 
     /* Local variables */
     static integer idij, ipph, i__, j, k, l, j2, ic, jc, lc, ik, is;
-    static double dc2, ai1, ai2, ar1, ar2, ds2;
+    static r_8 dc2, ai1, ai2, ar1, ar2, ds2;
     static integer nbd;
-    static double dcp, arg, dsp, ar1h, ar2h;
+    static r_8 dcp, arg, dsp, ar1h, ar2h;
     static integer idp2, ipp2;
 
@@ -7931,5 +7933,5 @@
 
     /* Function Body */
-    arg = tpi / (double) (*ip);
+    arg = tpi / (r_8) (*ip);
     dcp = cos(arg);
     dsp = sin(arg);
@@ -8234,8 +8236,8 @@
 
 /*  ------ File dfftb.f ------ */
-/* Subroutine */ int dfftb_(integer *n, double *r__, double *wsave)
-{
-    extern /* Subroutine */ int dfftb1_(integer *, double *, double *, double *, 
-	    integer *);
+/* Subroutine */ int dfftb_(integer *n, r_8 *r__, r_8 *wsave)
+{
+    extern /* Subroutine */ int dfftb1_(integer *, r_8 *, r_8 *, r_8 *, 
+	    int_8 *);
 
     /* Parameter adjustments */
@@ -8247,11 +8249,11 @@
 	return 0;
     }
-    dfftb1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
+    dfftb1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int_8 *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* dfftb_ */
 
 /*  ------ File dfftb1.f ------ */
-/* Subroutine */ int dfftb1_(integer *n, double *c__, double *ch, double *wa, 
-	integer *ifac)
+/* Subroutine */ int dfftb1_(integer *n, r_8 *c__, r_8 *ch, r_8 *wa, 
+	int_8 *ifac)
 {
     /* System generated locals */
@@ -8259,12 +8261,12 @@
 
     /* Local variables */
-    extern /* Subroutine */ int dadb2_(integer *, integer *, double *, double *, 
-	    double *), dadb3_(integer *, integer *, double *, double *, double *, 
-	    double *), dadb4_(integer *, integer *, double *, double *, double *, 
-	    double *, double *), dadb5_(integer *, integer *, double *, double *, 
-	    double *, double *, double *, double *);
+    extern /* Subroutine */ int dadb2_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *), dadb3_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *), dadb4_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *), dadb5_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *, r_8 *, r_8 *);
     static integer i__;
     extern /* Subroutine */ int dadbg_(integer *, integer *, integer *, 
-	    integer *, double *, double *, double *, double *, double *, double *);
+	    integer *, r_8 *, r_8 *, r_8 *, r_8 *, r_8 *, r_8 *);
     static integer k1, l1, l2, na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
 
@@ -8380,8 +8382,8 @@
 
 /*  ------ File dfftf.f ------ */
-/* Subroutine */ int dfftf_(integer *n, double *r__, double *wsave)
-{
-    extern /* Subroutine */ int dfftf1_(integer *, double *, double *, double *, 
-	    integer *);
+/* Subroutine */ int dfftf_(integer *n, r_8 *r__, r_8 *wsave)
+{
+    extern /* Subroutine */ int dfftf1_(integer *, r_8 *, r_8 *, r_8 *, 
+	    int_8 *);
 
     /* Parameter adjustments */
@@ -8393,11 +8395,11 @@
 	return 0;
     }
-    dfftf1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int *)&wsave[(*n << 1) + 1]);/* (int *) rajoute Reza 29/11/99 */
+    dfftf1_(n, &r__[1], &wsave[1], &wsave[*n + 1], (int_8 *)&wsave[(*n << 1) + 1]);/* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* dfftf_ */
 
 /*  ------ File dfftf1.f ------ */
-/* Subroutine */ int dfftf1_(integer *n, double *c__, double *ch, double *wa, 
-	integer *ifac)
+/* Subroutine */ int dfftf1_(integer *n, r_8 *c__, r_8 *ch, r_8 *wa, 
+	int_8 *ifac)
 {
     /* System generated locals */
@@ -8405,12 +8407,12 @@
 
     /* Local variables */
-    extern /* Subroutine */ int dadf2_(integer *, integer *, double *, double *, 
-	    double *), dadf3_(integer *, integer *, double *, double *, double *, 
-	    double *), dadf4_(integer *, integer *, double *, double *, double *, 
-	    double *, double *), dadf5_(integer *, integer *, double *, double *, 
-	    double *, double *, double *, double *);
+    extern /* Subroutine */ int dadf2_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *), dadf3_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *), dadf4_(integer *, integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *), dadf5_(integer *, integer *, r_8 *, r_8 *, 
+	    r_8 *, r_8 *, r_8 *, r_8 *);
     static integer i__;
     extern /* Subroutine */ int dadfg_(integer *, integer *, integer *, 
-	    integer *, double *, double *, double *, double *, double *, double *);
+	    integer *, r_8 *, r_8 *, r_8 *, r_8 *, r_8 *, r_8 *);
     static integer k1, l1, l2, na, kh, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
 
@@ -8521,7 +8523,7 @@
 
 /*  ------ File dffti.f ------ */
-/* Subroutine */ int dffti_(integer *n, double *wsave)
-{
-    extern /* Subroutine */ int dffti1_(integer *, double *, integer *);
+/* Subroutine */ int dffti_(integer *n, r_8 *wsave)
+{
+    extern /* Subroutine */ int dffti1_(integer *, r_8 *, int_8 *);
 
     /* Parameter adjustments */
@@ -8532,10 +8534,10 @@
 	return 0;
     }
-    dffti1_(n, &wsave[*n + 1], (int *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
+    dffti1_(n, &wsave[*n + 1], (int_8 *)&wsave[(*n << 1) + 1]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* dffti_ */
 
 /*  ------ File dffti1.f ------ */
-/* Subroutine */ int dffti1_(integer *n, double *wa, integer *ifac)
+/* Subroutine */ int dffti1_(integer *n, r_8 *wa, int_8 *ifac)
 {
     /* Initialized data */
@@ -8547,16 +8549,16 @@
 
     /* Builtin functions */
-/*    double cos(doubletruc), sin(doubletruc); remplace par math.h  Reza 29/11/99 */
+/*    r_8 cos(r_8truc), sin(r_8truc); remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
-    static double argh;
+    static r_8 argh;
     static integer ntry, i__, j;
-    static double argld;
+    static r_8 argld;
     static integer k1, l1, l2, ib;
-    static double fi;
+    static r_8 fi;
     static integer ld, ii, nf, ip, nl, is, nq, nr;
-    static double arg;
+    static r_8 arg;
     static integer ido, ipm;
-    static double tpi;
+    static r_8 tpi;
     static integer nfm1;
 
@@ -8613,5 +8615,5 @@
     ifac[2] = nf;
     tpi = 6.28318530717959f;
-    argh = tpi / (double) (*n);
+    argh = tpi / (r_8) (*n);
     is = 0;
     nfm1 = nf - 1;
@@ -8631,5 +8633,5 @@
 	    ld += l1;
 	    i__ = is;
-	    argld = (double) ld * argh;
+	    argld = (r_8) ld * argh;
 	    fi = 0.f;
 	    i__3 = ido;
@@ -8652,5 +8654,5 @@
 
 /*  ------ File dsinqb.f ------ */
-/* Subroutine */ int dsinqb_(integer *n, double *x, double *wsave)
+/* Subroutine */ int dsinqb_(integer *n, r_8 *x, r_8 *wsave)
 {
     /* System generated locals */
@@ -8659,6 +8661,6 @@
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int dcosqb_(integer *, double *, double *);
-    static double xhold;
+    extern /* Subroutine */ int dcosqb_(integer *, r_8 *, r_8 *);
+    static r_8 xhold;
     static integer kc, ns2;
 
@@ -8693,5 +8695,5 @@
 
 /*  ------ File dsinqf.f ------ */
-/* Subroutine */ int dsinqf_(integer *n, double *x, double *wsave)
+/* Subroutine */ int dsinqf_(integer *n, r_8 *x, r_8 *wsave)
 {
     /* System generated locals */
@@ -8700,6 +8702,6 @@
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int dcosqf_(integer *, double *, double *);
-    static double xhold;
+    extern /* Subroutine */ int dcosqf_(integer *, r_8 *, r_8 *);
+    static r_8 xhold;
     static integer kc, ns2;
 
@@ -8731,7 +8733,7 @@
 
 /*  ------ File dsinqi.f ------ */
-/* Subroutine */ int dsinqi_(integer *n, double *wsave)
-{
-    extern /* Subroutine */ int dcosqi_(integer *, double *);
+/* Subroutine */ int dsinqi_(integer *n, r_8 *wsave)
+{
+    extern /* Subroutine */ int dcosqi_(integer *, r_8 *);
 
     /* Parameter adjustments */
@@ -8744,8 +8746,8 @@
 
 /*  ------ File dsint.f ------ */
-/* Subroutine */ int dsint_(integer *n, double *x, double *wsave)
-{
-    extern /* Subroutine */ int dsint1_(integer *, double *, double *, double *, 
-	    double *, integer *);
+/* Subroutine */ int dsint_(integer *n, r_8 *x, r_8 *wsave)
+{
+    extern /* Subroutine */ int dsint1_(integer *, r_8 *, r_8 *, r_8 *, 
+	    r_8 *, int_8 *);
     static integer np1, iw1, iw2, iw3;
 
@@ -8759,15 +8761,15 @@
     iw2 = iw1 + np1;
     iw3 = iw2 + np1;
-    dsint1_(n, &x[1], &wsave[1], &wsave[iw1], &wsave[iw2], (int *) &wsave[iw3]); /* (int *) rajoute Reza 29/11/99 */
+    dsint1_(n, &x[1], &wsave[1], &wsave[iw1], &wsave[iw2], (int_8 *) &wsave[iw3]); /* (int *) rajoute Reza 29/11/99 */
     return 0;
 } /* dsint_ */
 
 /*  ------ File dsint1.f ------ */
-/* Subroutine */ int dsint1_(integer *n, double *war, double *was, double *xh, double *
-	x, integer *ifac)
+/* Subroutine */ int dsint1_(integer *n, r_8 *war, r_8 *was, r_8 *xh, r_8 *
+	x, int_8 *ifac)
 {
     /* Initialized data */
 
-    static double sqrt3 = 1.73205080756888f;
+    static r_8 sqrt3 = 1.73205080756888f;
 
     /* System generated locals */
@@ -8776,7 +8778,7 @@
     /* Local variables */
     static integer modn, i__, k;
-    static double xhold, t1, t2;
-    extern /* Subroutine */ int dfftf1_(integer *, double *, double *, double *, 
-	    integer *);
+    static r_8 xhold, t1, t2;
+    extern /* Subroutine */ int dfftf1_(integer *, r_8 *, r_8 *, r_8 *, 
+	    int_8 *);
     static integer kc, np1, ns2;
 
@@ -8850,9 +8852,9 @@
 
 /*  ------ File dsinti.f ------ */
-/* Subroutine */ int dsinti_(integer *n, double *wsave)
+/* Subroutine */ int dsinti_(integer *n, r_8 *wsave)
 {
     /* Initialized data */
 
-    static double pi = 3.14159265358979f;
+    static r_8 pi = 3.14159265358979f;
 
     /* System generated locals */
@@ -8860,10 +8862,10 @@
 
     /* Builtin functions */
-/*    double sin(doubletruc);  remplace par math.h  Reza 29/11/99 */
+/*    r_8 sin(r_8truc);  remplace par math.h  Reza 29/11/99 */
 
     /* Local variables */
     static integer k;
-    extern /* Subroutine */ int dffti_(integer *, double *);
-    static double dt;
+    extern /* Subroutine */ int dffti_(integer *, r_8 *);
+    static r_8 dt;
     static integer np1, ns2;
 
@@ -8877,5 +8879,5 @@
     ns2 = *n / 2;
     np1 = *n + 1;
-    dt = pi / (double) np1;
+    dt = pi / (r_8) np1;
     i__1 = ns2;
     for (k = 1; k <= i__1; ++k) {
