Danke für die Antwort himitsu
Also ich jetzt das i = 0 vor die erste Schelife gestellt.
Unter Berücksichtigung des ; bei der zweiten Schleife läuft diese also "leer".
Folgende Änderung habe ich vorgenommen:
Delphi-Quellcode:
j := 1;
I := 0;
while j < (n - 1) do
begin
k := n shr 1;
while k > (I xor k) do
begin
I := I xor k;
k := k shr 1;
end;
if j < I then
begin
x0r := OutR[j];
x0i := OutI[j];
OutR[j] := OutR[I];
OutI[j] := OutI[I];
OutR[I] := x0r;
OutI[I] := x0i;
end;
inc(j);
end;
Das läuft immer noch nicht.
Besonders das while k > (I xor k) do Statement scheint mir sinnlos.
Wenn I = 0 dann ist das Statement immer falsch da k xor 0 = k ist. Und das ist gleich gross wie k aber nicht kleiner.
Wäre froh um weitere Unterstützung.