diff options
author | Erich Eckner <git@eckner.net> | 2017-08-01 11:05:30 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-08-01 11:05:30 +0200 |
commit | e4aa773d564ee397514f5c2cfc1271ce27132245 (patch) | |
tree | ea7ffd565b9a123e526ee9dcb91c548b5618f75d /werteunit.pas | |
parent | a761c98d093abf11c129ac72aa247ce008914c54 (diff) | |
download | epost-e4aa773d564ee397514f5c2cfc1271ce27132245.tar.xz |
werteunit.pas: bugfix fft
Diffstat (limited to 'werteunit.pas')
-rw-r--r-- | werteunit.pas | 34 |
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 |