summaryrefslogtreecommitdiff
path: root/epostunit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'epostunit.pas')
-rw-r--r--epostunit.pas36
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;