example.pas 639 B

12345678910111213141516171819202122232425262728293031
  1. program example;
  2. uses fftw_s;
  3. const s=128;
  4. var i,o:Pcomplex_single;
  5. p:fftw_plan_single;
  6. a:cardinal;
  7. begin
  8. fftw_getmem(i,s*sizeof(complex_single));
  9. fftw_getmem(o,s*sizeof(complex_single));
  10. p:=fftw_plan_dft_1d(128,i,o,fftw_forward,[fftw_estimate]);
  11. for a:=0 to 127 do
  12. begin
  13. i[a].re:=(single(a)-64);
  14. i[a].im:=0;
  15. end;
  16. writeln('input:');
  17. for a:=0 to 127 do
  18. writeln('(',i[a].re:8:4,',',i[a].im:8:4,')');
  19. fftw_execute(p);
  20. writeln('output:');
  21. for a:=0 to 127 do
  22. writeln('(',o[a].re:8:4,',',o[a].im:8:4,')');
  23. fftw_destroy_plan(p);
  24. fftw_freemem(i);
  25. fftw_freemem(o);
  26. end.