summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-10-19 15:26:32 +0200
committerErich Eckner <git@eckner.net>2017-10-19 15:26:32 +0200
commit1e16d9a2aab6058fff5882d77c4e34b59c759f47 (patch)
tree6be7b8ad548fed6c8b06319bcc75c6b895edf44d
parenta2919512cfa894437dedfa28605115e3434a8912 (diff)
downloadepost-1e16d9a2aab6058fff5882d77c4e34b59c759f47.tar.xz
wertAusUmgebungMitteln neu
-rw-r--r--epostunit.pas13
-rw-r--r--werteunit.pas11
2 files changed, 24 insertions, 0 deletions
diff --git a/epostunit.pas b/epostunit.pas
index ab1a0c7..d5bc44f 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -137,6 +137,7 @@ type
function disk2kontFak(dir: char; x: longint): extended; overload;
procedure schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean; var letzterWert: extended; entspringen: extended);
function ermittleHintergrund(sT: boolean; threads: longint; hintergrundAbzugsArt: tHintergrundAbzugsArt; out hintergrund: tExtendedArray): boolean;
+ procedure wertAusUmgebungMitteln(x,y: longint);
procedure holeRAM(ausgaben: byte); inline;
public
eWerte: tLLWerteExtended;
@@ -2190,6 +2191,18 @@ begin
result:=true;
end;
+procedure tWerte.wertAusUmgebungMitteln(x,y: longint);
+begin
+ case genauigkeit of
+ gSingle:
+ sWerte.wertAusUmgebungMitteln(x,y);
+ gDouble:
+ dWerte.wertAusUmgebungMitteln(x,y);
+ gExtended:
+ eWerte.wertAusUmgebungMitteln(x,y);
+ end{of case};
+end;
+
procedure tWerte.holeRAM(ausgaben: byte);
begin
case genauigkeit of
diff --git a/werteunit.pas b/werteunit.pas
index f6747c7..4aa9b44 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -102,6 +102,7 @@ type
procedure produkt(f1: pTLLWerteExtended; f2: pTLLWerteSingle; xMi,xMa,xOf,tMi,tMa,tOf: int64; konj: boolean; daO: tFFTDatenordnung); overload;
procedure produkt(f1: pTLLWerteExtended; f2: pTLLWerteDouble; xMi,xMa,xOf,tMi,tMa,tOf: int64; konj: boolean; daO: tFFTDatenordnung); overload;
procedure produkt(f1: pTLLWerteExtended; f2: pTLLWerteExtended; xMi,xMa,xOf,tMi,tMa,tOf: int64; konj: boolean; daO: tFFTDatenordnung); overload;
+ procedure wertAusUmgebungMitteln(x,y: longint); inline;
end;
tLLWerteSingle = specialize tLLWerte<single>;
tLLWerteDouble = specialize tLLWerte<double>;
@@ -1926,6 +1927,16 @@ procedure tLLWerte.produkt(f1: pTLLWerteExtended; f2: pTLLWerteExtended; xMi,xMa
{$INCLUDE werteunit.inc}
{$UNDEF tLLWerte_produkt}
+procedure tLLWerte.wertAusUmgebungMitteln(x,y: longint);
+begin
+ werte[x+y*params.xSteps]:=(
+ werte[x-1+y*params.xSteps] +
+ werte[x+(y-1)*params.xSteps] +
+ werte[x+1+y*params.xSteps] +
+ werte[x+(y+1)*params.xSteps]
+ )/4;
+end;
+
// tWavelet ********************************************************************
function tWavelet.setzeTyp(s: string): boolean;