program fftw_f integer FFTW_FORWARD,FFTW_BACKWARD integer FFTW_REAL_TO_COMPLEX,FFTW_COMPLEX_TO_REAL integer FFTW_ESTIMATE,FFTW_MEASURE integer FFTW_OUT_OF_PLACE,FFTW_IN_PLACE,FFTW_USE_WISDOM integer FFTW_THREADSAFE parameter (FFTW_FORWARD=-1,FFTW_BACKWARD=1) parameter (FFTW_REAL_TO_COMPLEX=-1,FFTW_COMPLEX_TO_REAL=1) parameter (FFTW_ESTIMATE=0,FFTW_MEASURE=1) parameter (FFTW_OUT_OF_PLACE=0) parameter (FFTW_IN_PLACE=8,FFTW_USE_WISDOM=16) parameter (FFTW_THREADSAFE=128) double complex in, out integer N parameter (N=16) dimension in(N), out(N) integer i integer*8 plan, iplan call fftw_f77_create_plan(plan,N,FFTW_FORWARD,FFTW_ESTIMATE) call fftw_f77_create_plan(iplan,N,FFTW_BACKWARD,FFTW_ESTIMATE) do i=1,N in(i) = (1.0, 0.0) enddo print *, 'fftw input :' do i=1,N print *, in(i) enddo call fftw_f77_one(plan,in,out) print *, 'fftw output :' do i=1,N print *, out(i) enddo call fftw_f77_one(iplan,out,in) print *, 'fftw inverse :' do i=1,N print *, in(i) enddo call fftw_f77_destroy_plan(plan) end