summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--werteunit.pas32
1 files changed, 16 insertions, 16 deletions
diff --git a/werteunit.pas b/werteunit.pas
index dd6168f..259ee05 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -20,7 +20,7 @@ type
Auch die korrekte Parallelisierung obliegt dem übergeordneten Programmteil.
}
private
- procedure sortiereMaxima(var maxima: tIntPointArray);
+ procedure sortiereNachWert(var positionen: tIntPointArray);
public
werte: array of wGen;
params: tExtraInfos;
@@ -105,7 +105,7 @@ uses systemunit;
// tLLWerte ********************************************************************
-procedure tLLWerte.sortiereMaxima(var maxima: tIntPointArray);
+procedure tLLWerte.sortiereNachWert(var positionen: tIntPointArray);
var
mins,maxs: tExtendedArray;
pivot,wert,wertLi,wertRe: extended;
@@ -116,13 +116,13 @@ begin
setLength(vons,1);
vons[0]:=0;
setLength(biss,1);
- biss[0]:=length(maxima)-1;
+ biss[0]:=length(positionen)-1;
setLength(mins,1);
setLength(maxs,1);
mins[0]:=0;
maxs[0]:=0;
for i:=vons[0] to biss[0] do begin
- wert:=werte[maxima[i]['x']+maxima[i]['y']*params.xSteps];
+ wert:=werte[positionen[i]['x']+positionen[i]['y']*params.xSteps];
if (i=vons[0]) or (wert>maxs[0]) then
maxs[0]:=wert;
if (i=vons[0]) or (wert<mins[0]) then
@@ -154,14 +154,14 @@ begin
mins[cnt-1]:=maxs[cnt-1];
while li<=re do begin
- wertLi:=werte[maxima[li]['x']+maxima[li]['y']*params.xSteps];
+ wertLi:=werte[positionen[li]['x']+positionen[li]['y']*params.xSteps];
if wertLi>=pivot then begin
if wertLi<mins[cnt-1] then
mins[cnt-1]:=wertLi;
inc(li);
continue;
end;
- wertRe:=werte[maxima[re]['x']+maxima[re]['y']*params.xSteps];
+ wertRe:=werte[positionen[re]['x']+positionen[re]['y']*params.xSteps];
if wertRe<=pivot then begin
if wertRe>maxs[cnt] then
maxs[cnt]:=wertRe;
@@ -172,12 +172,12 @@ begin
maxs[cnt]:=wertLi;
if wertRe<mins[cnt-1] then
mins[cnt-1]:=wertRe;
- tmp['x']:=maxima[re]['x'];
- tmp['y']:=maxima[re]['y'];
- maxima[re]['x']:=maxima[li]['x'];
- maxima[re]['y']:=maxima[li]['y'];
- maxima[li]['x']:=tmp['x'];
- maxima[li]['y']:=tmp['y'];
+ tmp['x']:=positionen[re]['x'];
+ tmp['y']:=positionen[re]['y'];
+ positionen[re]['x']:=positionen[li]['x'];
+ positionen[re]['y']:=positionen[li]['y'];
+ positionen[li]['x']:=tmp['x'];
+ positionen[li]['y']:=tmp['y'];
inc(li);
dec(re);
end;
@@ -188,9 +188,9 @@ begin
inc(cnt);
end;
- for i:=1 to length(maxima)-1 do
- if werte[maxima[i-1]['x']+maxima[i-1]['y']*params.xSteps]<werte[maxima[i]['x']+maxima[i]['y']*params.xSteps]then
- fehler('Interner Fehler: Maxima sind nicht sortiert, sollten sie aber sein!');
+ for i:=1 to length(positionen)-1 do
+ if werte[positionen[i-1]['x']+positionen[i-1]['y']*params.xSteps]<werte[positionen[i]['x']+positionen[i]['y']*params.xSteps]then
+ fehler('Interner Fehler: Werte sind nicht sortiert, sollten sie aber sein!');
end;
constructor tLLWerte.create(ps: tExtraInfos);
@@ -2027,7 +2027,7 @@ begin
end;
setLength(maxima,mCnt);
- betraege.sortiereMaxima(maxima);
+ betraege.sortiereNachWert(maxima);
maxPos:=maxima[1];
maxWert:=0;
for i:=1 to length(maxima)-1 do begin