summaryrefslogtreecommitdiff
path: root/werteunit.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-08-01 11:05:30 +0200
committerErich Eckner <git@eckner.net>2017-08-01 11:05:30 +0200
commite4aa773d564ee397514f5c2cfc1271ce27132245 (patch)
treeea7ffd565b9a123e526ee9dcb91c548b5618f75d /werteunit.pas
parenta761c98d093abf11c129ac72aa247ce008914c54 (diff)
downloadepost-e4aa773d564ee397514f5c2cfc1271ce27132245.tar.xz
werteunit.pas: bugfix fft
Diffstat (limited to 'werteunit.pas')
-rw-r--r--werteunit.pas34
1 files changed, 17 insertions, 17 deletions
diff --git a/werteunit.pas b/werteunit.pas
index f81e864..9b0d0ad 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -1054,7 +1054,7 @@ begin
if not senkrecht and (algo.inOrdnung = doAlleResIms) then
algo.laden(invers,pSingle(@(werte[i*sStep])),pSingle(@(werte[imShift + i*sStep])),pStep)
else if not senkrecht and (algo.inOrdnung = doAlleResSmi) then // "Smi" bezieht sich auf die Dimension, in der nicht transformiert wird!
- algo.laden(invers,pSingle(@(werte[i*sStep])),pSingle(@(werte[2*imShift-1 - i*sStep])),pStep)
+ algo.laden(invers,pSingle(@(werte[i*sStep])),pSingle(@(werte[2*imShift-(1+i)*sStep])),pStep)
else
algo.laden(invers,pSingle(@(werte[i*sStep])),pStep);
algo.summen(true,vorher,in0);
@@ -1063,7 +1063,7 @@ begin
if not senkrecht and (algo.outOrdnung = doAlleResIms) then
algo.speichern(invers,pSingle(@(werte[i*sStep])),pSingle(@(werte[imShift + i*sStep])),pStep)
else if not senkrecht and (algo.outOrdnung = doAlleResSmi) then // "Smi" bezieht sich auf die Dimension, in der nicht transformiert wird!
- algo.speichern(invers,pSingle(@(werte[i*sStep])),pSingle(@(werte[2*imShift-1 - i*sStep])),pStep)
+ algo.speichern(invers,pSingle(@(werte[i*sStep])),pSingle(@(werte[2*imShift-(1+i)*sStep])),pStep)
else
algo.speichern(invers,pSingle(@(werte[i*sStep])),pStep);
end;
@@ -1072,7 +1072,7 @@ begin
if not senkrecht and (algo.inOrdnung = doAlleResIms) then
algo.laden(invers,pDouble(@(werte[i*sStep])),pDouble(@(werte[imShift + i*sStep])),pStep)
else if not senkrecht and (algo.inOrdnung = doAlleResSmi) then // "Smi" bezieht sich auf die Dimension, in der nicht transformiert wird!
- algo.laden(invers,pDouble(@(werte[i*sStep])),pDouble(@(werte[2*imShift-1 - i*sStep])),pStep)
+ algo.laden(invers,pDouble(@(werte[i*sStep])),pDouble(@(werte[2*imShift-(1+i)*sStep])),pStep)
else
algo.laden(invers,pDouble(@(werte[i*sStep])),pStep);
algo.summen(true,vorher,in0);
@@ -1081,7 +1081,7 @@ begin
if not senkrecht and (algo.outOrdnung = doAlleResIms) then
algo.speichern(invers,pDouble(@(werte[i*sStep])),pDouble(@(werte[imShift + i*sStep])),pStep)
else if not senkrecht and (algo.outOrdnung = doAlleResSmi) then // "Smi" bezieht sich auf die Dimension, in der nicht transformiert wird!
- algo.speichern(invers,pDouble(@(werte[i*sStep])),pDouble(@(werte[2*imShift-1 - i*sStep])),pStep)
+ algo.speichern(invers,pDouble(@(werte[i*sStep])),pDouble(@(werte[2*imShift-(1+i)*sStep])),pStep)
else
algo.speichern(invers,pDouble(@(werte[i*sStep])),pStep);
end;
@@ -1090,7 +1090,7 @@ begin
if not senkrecht and (algo.inOrdnung = doAlleResIms) then
algo.laden(invers,pExtended(@(werte[i*sStep])),pExtended(@(werte[imShift + i*sStep])),pStep)
else if not senkrecht and (algo.inOrdnung = doAlleResSmi) then // "Smi" bezieht sich auf die Dimension, in der nicht transformiert wird!
- algo.laden(invers,pExtended(@(werte[i*sStep])),pExtended(@(werte[2*imShift-1 - i*sStep])),pStep)
+ algo.laden(invers,pExtended(@(werte[i*sStep])),pExtended(@(werte[2*imShift-(1+i)*sStep])),pStep)
else
algo.laden(invers,pExtended(@(werte[i*sStep])),pStep);
algo.summen(true,vorher,in0);
@@ -1099,7 +1099,7 @@ begin
if not senkrecht and (algo.outOrdnung = doAlleResIms) then
algo.speichern(invers,pExtended(@(werte[i*sStep])),pExtended(@(werte[imShift + i*sStep])),pStep)
else if not senkrecht and (algo.outOrdnung = doAlleResSmi) then // "Smi" bezieht sich auf die Dimension, in der nicht transformiert wird!
- algo.speichern(invers,pExtended(@(werte[i*sStep])),pExtended(@(werte[2*imShift-1 - i*sStep])),pStep)
+ algo.speichern(invers,pExtended(@(werte[i*sStep])),pExtended(@(werte[2*imShift-(1+i)*sStep])),pStep)
else
algo.speichern(invers,pExtended(@(werte[i*sStep])),pStep);
end;
@@ -1329,18 +1329,18 @@ begin
else
imIm:=0; // erste und mittlere Zeile und Spalte sind x-t-reell
- werte[i + j *2*xS2]:=reRe-imIm;
- werte[i + (4*tS4-j)*2*xS2]:=reIm+imRe;
+ werte[i + j *2*xS2]:=reRe-imIm;
+ werte[i + (4*tS4-1-j)*2*xS2]:=reIm+imRe;
if (i<>0) and (i<>xS2) then begin
- werte[2*xS2-i + j *2*xS2]:= reRe+imIm;
- werte[2*xS2-i + (4*tS4-j)*2*xS2]:=-imRe+reIm;
+ werte[2*xS2-i + j *2*xS2]:= reRe+imIm;
+ werte[2*xS2-i + (4*tS4-1-j)*2*xS2]:=-imRe+reIm;
end;
- if (j<>0) and (j<>2*tS4) then begin
- werte[i + (2*tS4-j)*2*xS2]:=reRe+imIm;
- werte[i + (2*tS4+j)*2*xS2]:=imRe-reIm;
+ if (j<>0) and (j<>tS4) then begin
+ werte[i + (2*tS4-1-j)*2*xS2]:=reRe+imIm;
+ werte[i + (2*tS4+j)*2*xS2]:=imRe-reIm;
if (i<>0) and (i<>xS2) then begin
- werte[2*xS2-i + (2*tS4-j)*2*xS2]:= reRe-imIm;
- werte[2*xS2-i + (2*tS4+j)*2*xS2]:=-imRe-reIm;
+ werte[2*xS2-i + (2*tS4-1-j)*2*xS2]:= reRe-imIm;
+ werte[2*xS2-i + (2*tS4+j)*2*xS2]:=-imRe-reIm;
end;
end;
end;
@@ -1357,7 +1357,7 @@ begin
else
reIm:=0; // erste und mittlere Zeile ist t-reell
if (i<>0) and (i<>xS2) and (j<>0) and (j<>tS4) then
- imIm:=werte[-i + (2*tS4-j+2)*2*xS2]
+ imIm:=werte[-i + (2*tS4-j+1)*2*xS2]
else
imIm:=0; // erste und mittlere Zeile und Spalte sind x-t-reell
@@ -1367,7 +1367,7 @@ begin
werte[2*xS2-i + j *2*xS2]:= reRe+imIm;
werte[2*xS2-i + (2*tS4+j)*2*xS2]:=-imRe+reIm;
end;
- if (j<>0) and (j<>2*tS4) then begin
+ if (j<>0) and (j<>tS4) then begin
werte[i + (2*tS4-j)*2*xS2]:=reRe+imIm;
werte[i + (4*tS4-j)*2*xS2]:=imRe-reIm;
if (i<>0) and (i<>xS2) then begin