diff options
Diffstat (limited to 'epostunit.pas')
-rw-r--r-- | epostunit.pas | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/epostunit.pas b/epostunit.pas index e69c4cc..d59d222 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -131,7 +131,8 @@ type function kont2disk(dir: char; x: extended): longint; overload; function kont2diskFak(senkrecht: boolean; x: extended): extended; overload; inline; function kont2diskFak(dir: char; x: extended): extended; overload; - function disk2kont(dir: char; x: longint): extended; + function disk2kont(dir: char; x: extended): extended; overload; inline; + function disk2kont(x: tExtPoint): tExtPoint; overload; inline; function disk2kontFak(senkrecht: boolean; x: longint): extended; overload; inline; function disk2kontFak(dir: char; x: longint): extended; overload; procedure schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean); @@ -573,10 +574,10 @@ begin else if (s='tMax') or (s='tStop') then result:=wertes^[i].transformationen.tStop else if (s='wMin') or (s='minW') then result:=wertes^[i]._minW else if (s='wMax') or (s='maxW') then result:=wertes^[i]._maxW - else if (s='pMinX') or (s='minPX') then result:=wertes^[i].disk2kontFak('x',wertes^[i]._minP['x']) - else if (s='pMaxX') or (s='maxPX') then result:=wertes^[i].disk2kontFak('x',wertes^[i]._maxP['x']) - else if (s='pMinT') or (s='minPT') or (s='pMinY') or (s='minPY') then result:=wertes^[i].disk2kontFak('y',wertes^[i]._minP['y']) - else if (s='pMaxT') or (s='maxPT') or (s='pMaxY') or (s='maxPY') then result:=wertes^[i].disk2kontFak('y',wertes^[i]._maxP['y']) + else if (s='pMinX') or (s='minPX') then result:=wertes^[i].disk2kont('x',wertes^[i]._minP['x']) + else if (s='pMaxX') or (s='maxPX') then result:=wertes^[i].disk2kont('x',wertes^[i]._maxP['x']) + else if (s='pMinT') or (s='minPT') or (s='pMinY') or (s='minPY') then result:=wertes^[i].disk2kont('y',wertes^[i]._minP['y']) + else if (s='pMaxT') or (s='maxPT') or (s='pMaxY') or (s='maxPY') then result:=wertes^[i].disk2kont('y',wertes^[i]._maxP['y']) else if s='np' then result:=wertes^[i]._np else if (s='beta') or (s='β') then result:=wertes^[i]._beta else if s='Breite' then result:=wertes^[i].transformationen.xStart-wertes^[i].transformationen.xStop @@ -2060,18 +2061,26 @@ begin end; end; -function tWerte.disk2kont(dir: char; x: longint): extended; +function tWerte.disk2kont(dir: char; x: extended): extended; begin case dir of 'x': - result:=transformationen.positionAufAchseZuWert(lOben,x,false); + result:=transformationen.positionAufAchseZuWert(lOben,x/(_xSteps-1),false); 'y','t': - result:=transformationen.positionAufAchseZuWert(lLinks,x,false); + result:=transformationen.positionAufAchseZuWert(lLinks,x/(_tSiz-1),false); else result:=nan; end; end; +function tWerte.disk2kont(x: tExtPoint): tExtPoint; +begin + result:=extPoint( + disk2kont('x',x['x']), + disk2kont('y',x['y']) + ); +end; + function tWerte.disk2kontFak(senkrecht: boolean; x: longint): extended; begin result:=disk2kontFak(char(ord('x')+byte(senkrecht)),x); @@ -3129,10 +3138,7 @@ begin bekannteBefehle.clear; if istDasBefehl('Ende',s,bekannteBefehle,false) then break; if istDasBefehl('xMin:',s,bekannteBefehle,true) then begin - writeln(s); xMin:=kont2disk('x',exprToFloat(sT,s)); - writeln(xMin); - writeln; continue; end; if istDasBefehl('xMax:',s,bekannteBefehle,true) then begin @@ -4733,8 +4739,6 @@ begin if istKomplex xor (dos[4] in [doAlleResIms, doAlleResSmi]) then begin gibAus('Eine 2d-FFT gibt genau dann alle Real- und Imaginärteile aus, wenn die Eingabe komplex ist!',3); - writeln(istKomplex); - writeln(dos[4]); exit; end; @@ -5549,9 +5553,9 @@ end; procedure tWerte.schreibeWert(var f: textfile; x,y: longint); begin case genauigkeit of - gSingle: sWerte.schreibeWert(f,x,y); - gDouble: dWerte.schreibeWert(f,x,y); - gExtended: eWerte.schreibeWert(f,x,y); + gSingle: sWerte.schreibeWert(f,x,y,disk2kont(extPoint(x,y))); + gDouble: dWerte.schreibeWert(f,x,y,disk2kont(extPoint(x,y))); + gExtended: eWerte.schreibeWert(f,x,y,disk2kont(extPoint(x,y))); end{of Case}; end; |