also, die übersichtlichkeit und die Leaks waren mir bisher Egal weil das ja ein dirty sample war.
aber selbst wenn ich Button1.onclick zu
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Var
in_, Out_: Array Of single;
plan: Pointer;
// plan2: Pointer;
i, n: Integer;
Begin
With canvas Do Begin
n := 256;
SetLength(In_, N);
SetLength(Out_, N);
plan := fftwf_plan_dft_1d(n, @In_[0], @Out_[0], FFTW_FORWARD, FFTW_ESTIMATE);
// plan2 := fftwf_plan_dft_1d(n, @Out_[0], @in_[0], FFTW_Backward, FFTW_ESTIMATE);
For i := 0 To n - 1 Do Begin
in_[i] := 0;
out_[i] := 0;
End;
For i := 64 - 12 To 64 + 11 Do
in_[i] := 10;
pen.color := clblack;
fftwf_execute(plan);
moveto(10 + 200, 150);
For i := 0 To n - 1 Do Begin
lineto(10 + i + 200, round(150 - in_[i]));
End;
moveto(10 + 200, 250);
For i := 0 To n - 1 Do Begin
lineto(10 + i + 200, round(250 - Out_[i] / sqrt(n)));
End;
// fftwf_execute(plan2);
moveto(10 + 200, 350);
For i := 0 To n - 1 Do Begin
lineto(10 + i + 200, round(350 - in_[i]));
End;
// fftwf_destroy_plan(plan2);
fftwf_destroy_plan(plan);
End;
End;
Umbaue bleibt der Fehler
das es an fftw liegt scheint mir unwahrscheinlich, da die ja zig fach veröffentlicht ist und Fehler bis dahin gefunden wären ..
die saceh mit dem packed bringt übrigens auch nichts ..