/*
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;
{
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 );
}
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) {