diff options
author | Erich Eckner <git@eckner.net> | 2016-03-04 16:11:15 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2016-03-04 16:12:58 +0100 |
commit | 5a4183fb5b10a82dd4936ba05d8bf5d6f20d50f4 (patch) | |
tree | c43c5ea7ca93c4cb05bc21f80e8f27cd68b58042 /epostunit.pas | |
parent | 8a4cebe8387959f2c68543dcc76df01250070ae3 (diff) | |
download | epost-5a4183fb5b10a82dd4936ba05d8bf5d6f20d50f4.tar.xz |
diverse FFT-Tests und Kürzen auf Zweierpotenzen neu
Diffstat (limited to 'epostunit.pas')
-rw-r--r-- | epostunit.pas | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/epostunit.pas b/epostunit.pas index 9102396..ac72093 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -1769,6 +1769,19 @@ begin tmax:=liKo[0].werte.kont2disk('t',exprtofloat(st,s)); continue; end; + if (s='in t auf Zweierpotenz kürzen') or (s='in y auf Zweierpotenz kürzen') then begin + i:=round(power(2,floor(ln(tmax-tmin+1)/ln(2)))); + tmax:=(tmax+tmin+i) div 2; + tmin:=tmax-i+1; + continue; + end; + if s='in x auf Zweierpotenz kürzen' then begin + i:=round(power(2,floor(ln(xmax-xmin+1)/ln(2)))); + xmax:=(xmax+xmin+i) div 2; + xmin:=xmax-i+1; + continue; + end; + setlength(liKo,length(liKo)+1); i:=findeWerte(erstesArgument(s),nil,wertes,Konturen,false); if i<0 then @@ -4574,7 +4587,7 @@ begin algo:=createFFTAlgorithmus(algorithmus); fen:=fenster; erfolg:=false; - gibAus('FFTthread kreiert ('+inttostr(pW._xsteps)+' x '+inttostr(pW._tsiz)+': '+inttostr(smi)+' .. '+inttostr(sma)+')',3); + gibAus('FFTthread kreiert ('+inttostr(pW._xsteps)+' x '+inttostr(pW._tsiz)+': '+inttostr(smi)+' .. '+inttostr(sma)+'): '+algo.className,3); suspended:=false; end; @@ -4585,7 +4598,7 @@ end; procedure tFFTThread.stExecute; begin - gibAus('FFTthread gestartet ('+inttostr(pW._xsteps)+' x '+inttostr(pW._tsiz)+': '+inttostr(smi)+' .. '+inttostr(sma)+') ...',1); + gibAus('FFTthread gestartet ('+inttostr(pW._xsteps)+' x '+inttostr(pW._tsiz)+': '+inttostr(smi)+' .. '+inttostr(sma)+'): '+algo.className+' ...',1); case pW.Genauigkeit of gSingle: erfolg:=pW.sWerte.fft(smi,sma,sen,inv,algo,fen,pvFehler); gDouble: erfolg:=pW.dWerte.fft(smi,sma,sen,inv,algo,fen,pvFehler); |