1 #include <../../nrnconf.h>
34 static char rcsid[] =
"fft.c,v 1.1 1997/12/04 17:55:20 hines Exp";
48 int i, ip,
j,
k, li,
n, length;
50 Real theta, pi = 3.1415926535897932384;
51 Real w_re, w_im, u_re, u_im, t_re, t_im;
54 if ( ! x_re || ! x_im )
56 if ( x_re->dim != x_im->dim )
60 while ( x_re->dim >
n )
71 for (
i = 0;
i <
n-1;
i++ )
92 for ( li = 1; li <
n; li *= 2 )
113 for (
j = 0;
j < li;
j++ )
115 for (
i =
j;
i <
n;
i += length )
119 t_re = xr[ip]*u_re - xi[ip]*u_im;
120 t_im = xr[ip]*u_im + xi[ip]*u_re;
122 xr[ip] = xr[
i] - t_re;
123 xi[ip] = xi[
i] - t_im;
128 tmpr = u_re*w_re - u_im*w_im;
129 tmpi = u_im*w_re + u_re*w_im;
144 sv_mlt( 1.0/((
double)(x_re->dim)),x_re,x_re);
#define error(err_num, fn_name)
void fft(VEC *x_re, VEC *x_im)
void ifft(VEC *x_re, VEC *x_im)
static Object ** v_resize(void *v)
VEC * sv_mlt(double, VEC *, VEC *)
int const size_t const size_t n
static philox4x32_key_t k