fftn.c (PDL-2.081) | : | fftn.c (PDL-2.082) | ||
---|---|---|---|---|
skipping to change at line 188 | skipping to change at line 188 | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#include <math.h> | #include <math.h> | |||
#include "fftn.h" | #include "fftn.h" | |||
/*{{{ defines/constants */ | /*{{{ defines/constants */ | |||
#ifndef M_PI | #ifndef M_PI | |||
# define M_PI 3.14159265358979323846264338327950288 | # define M_PI 3.14159265358979323846264338327950288 | |||
#endif | #endif | |||
#define FFT_STR(x) #x | ||||
#define FFT_CONCAT(x, y) FFT_CONCAT_(x, y) | ||||
#define FFT_CONCAT_(x, y) x ## y /* second call forces arg expansion */ | ||||
#ifndef SIN60 | #ifndef SIN60 | |||
# define SIN60 0.86602540378443865 /* sin(60 deg) */ | # define SIN60 0.86602540378443865 /* sin(60 deg) */ | |||
# define COS72 0.30901699437494742 /* cos(72 deg) */ | # define COS72 0.30901699437494742 /* cos(72 deg) */ | |||
# define SIN72 0.95105651629515357 /* sin(72 deg) */ | # define SIN72 0.95105651629515357 /* sin(72 deg) */ | |||
#endif | #endif | |||
/*}}}*/ | /*}}}*/ | |||
#define NFACTOR 11 | #define NFACTOR 11 | |||
#define REALFIX long double | #define REALFIX long double | |||
skipping to change at line 268 | skipping to change at line 272 | |||
factor [nFactor++] = factor [--j]; | factor [nFactor++] = factor [--j]; | |||
while (j); | while (j); | |||
} | } | |||
return nFactor; | return nFactor; | |||
} | } | |||
/*{{{ defines for re-including long double precision */ | /*{{{ defines for re-including long double precision */ | |||
#ifdef FFT_LDOUBLE | #ifdef FFT_LDOUBLE | |||
# undef REAL | # undef REAL | |||
# undef FFTN | # undef FFT_SUFFIX | |||
# undef FFTNS | # define FFT_SUFFIX l | |||
# undef FFTRADIX | ||||
# undef FFTRADIXS | ||||
# define REAL long double | # define REAL long double | |||
# define FFTN fftnl | ||||
# define FFTNS "fftnl" | ||||
# define FFTRADIX fftradixl | ||||
# define FFTRADIXS "fftradixl" | ||||
# include __FILE__ /* include this file again */ | # include __FILE__ /* include this file again */ | |||
#endif | #endif | |||
/*}}}*/ | /*}}}*/ | |||
/*{{{ defines for re-including double precision */ | /*{{{ defines for re-including double precision */ | |||
#ifdef FFT_DOUBLE | #ifdef FFT_DOUBLE | |||
# undef REAL | # undef REAL | |||
# undef FFTN | # undef FFT_SUFFIX | |||
# undef FFTNS | # define FFT_SUFFIX | |||
# undef FFTRADIX | ||||
# undef FFTRADIXS | ||||
# define REAL double | # define REAL double | |||
# define FFTN fftn | ||||
# define FFTNS "fftn" | ||||
# define FFTRADIX fftradix | ||||
# define FFTRADIXS "fftradix" | ||||
# include __FILE__ /* include this file again */ | # include __FILE__ /* include this file again */ | |||
#endif | #endif | |||
/*}}}*/ | /*}}}*/ | |||
/*{{{ defines for re-including float precision */ | /*{{{ defines for re-including float precision */ | |||
#ifdef FFT_FLOAT | #ifdef FFT_FLOAT | |||
# undef REAL | # undef REAL | |||
# undef FFTN | # undef FFT_SUFFIX | |||
# undef FFTNS | # define FFT_SUFFIX f | |||
# undef FFTRADIX | ||||
# undef FFTRADIXS | ||||
# define REAL float | # define REAL float | |||
# define FFTN fftnf /* trailing 'f' for float */ | ||||
# define FFTNS "fftnf" /* name for error message */ | ||||
# define FFTRADIX fftradixf /* trailing 'f' for float */ | ||||
# define FFTRADIXS "fftradixf" /* name for error message */ | ||||
# include __FILE__ /* include this file again */ | # include __FILE__ /* include this file again */ | |||
#endif | #endif | |||
/*}}}*/ | /*}}}*/ | |||
#else /* _FFTN_C */ | #else /* _FFTN_C */ | |||
# undef FFTN | ||||
# undef FFTNS | ||||
# undef FFTRADIX | ||||
# undef FFTRADIXS | ||||
# define FFTN FFT_CONCAT(fftn, FFT_SUFFIX) /* maybe trailing [fl] */ | ||||
# define FFTNS FFT_STR(FFTN) /* name for error message */ | ||||
# define FFTRADIX FFT_CONCAT(fftradix, FFT_SUFFIX) /* maybe trailing [fl] * | ||||
/ | ||||
# define FFTRADIXS FFT_STR(FFTRADIX) /* name for error message */ | ||||
/*----------------------------------------------------------------------*/ | /*----------------------------------------------------------------------*/ | |||
/* | /* | |||
* singleton's mixed radix routine | * singleton's mixed radix routine | |||
*/ | */ | |||
static int | static int | |||
FFTRADIX (REAL Re [], | FFTRADIX (REAL Re [], | |||
REAL Im [], | REAL Im [], | |||
size_t nTotal, | size_t nTotal, | |||
size_t nPass, | size_t nPass, | |||
size_t nSpan, | size_t nSpan, | |||
End of changes. 8 change blocks. | ||||
24 lines changed or deleted | 20 lines changed or added |