summaryrefslogtreecommitdiff
path: root/epostunit.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2016-03-04 16:11:15 +0100
committerErich Eckner <git@eckner.net>2016-03-04 16:12:58 +0100
commit5a4183fb5b10a82dd4936ba05d8bf5d6f20d50f4 (patch)
treec43c5ea7ca93c4cb05bc21f80e8f27cd68b58042 /epostunit.pas
parent8a4cebe8387959f2c68543dcc76df01250070ae3 (diff)
downloadepost-5a4183fb5b10a82dd4936ba05d8bf5d6f20d50f4.tar.xz
diverse FFT-Tests und Kürzen auf Zweierpotenzen neu
Diffstat (limited to 'epostunit.pas')
-rw-r--r--epostunit.pas17
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);