JWS-112 Bumping version of Mafft to version 7.310.
[jabaws.git] / binaries / src / mafft / core / fft.c
index c217cb7..5cec495 100644 (file)
@@ -4,7 +4,7 @@
 /*
   from "C gengo niyoru saishin algorithm jiten" ISBN4-87408-414-1 Haruhiko Okumura
 */
-static void make_sintbl(int n, float sintbl[])
+static void make_sintbl(int n, double sintbl[])
 {
         int i, n2, n4, n8;
         double c, s, dc, ds, t;
@@ -46,14 +46,15 @@ int fft(int n, Fukusosuu *x, int freeflag)
 {
         static TLS int    last_n = 0;    /*  {\tt n} */
         static TLS int   *bitrev = NULL; /*  */
-        static TLS float *sintbl = NULL; /*  */
+        static TLS double *sintbl = NULL; /*  */
         int i, j, k, ik, h, d, k2, n4, inverse;
-        float t, s, c, dR, dI;
+        double t, s, c, dR, dI;
 
                if (freeflag)
                {
-                       if (bitrev) free(bitrev);
-                       if (sintbl) free(sintbl);
+                       if (bitrev) free(bitrev); bitrev = NULL;
+                       if (sintbl) free(sintbl); sintbl = NULL;
+                       last_n = 0;
                        return( 0 );
                }
 
@@ -74,10 +75,10 @@ int fft(int n, Fukusosuu *x, int freeflag)
                                        bitrev = NULL;
                                }
                 if (n == 0) return 0;  /*  */
-                sintbl = (float *)malloc((n + n4) * sizeof(float));
+                sintbl = (double *)malloc((n + n4) * sizeof(double));
                 bitrev = (int *)malloc(n * sizeof(int));
 #else /* by T. Nishiyama */
-                               sintbl = realloc(sintbl, (n + n4) * sizeof(float));
+                               sintbl = realloc(sintbl, (n + n4) * sizeof(double));
                                bitrev = realloc(bitrev, n * sizeof(int));
 #endif
                 if (sintbl == NULL || bitrev == NULL) {