From c26b5e79bbc8da96b12a3585a4cbbd0f415aa7cc Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 8 Mar 2016 14:14:47 +0100 Subject: unnötige Zuweisung zu typisierten Pointern entfernt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epost.lps | 158 ++++++++++++++++++++++++++++++++++------------------------ epostunit.pas | 109 +++++++++------------------------------- 2 files changed, 117 insertions(+), 150 deletions(-) diff --git a/epost.lps b/epost.lps index 1b4359b..1483940 100644 --- a/epost.lps +++ b/epost.lps @@ -3,12 +3,12 @@ - + - - + + @@ -25,9 +25,9 @@ - - - + + + @@ -41,7 +41,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -70,198 +70,226 @@ - + - + - + - + + - + - + - + - + - - - - + + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + - + - - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/epostunit.pas b/epostunit.pas index 32cccfd..0ff74a1 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -434,9 +434,6 @@ end; constructor tWerte.create(original: tWerte; xmin,xmax: longint); var ps: tExtrainfos; - pSi: pTLLWerteSingle; - pDo: pTLLWerteDouble; - pEx: pTLLWerteExtended; begin inherited create(original.Konturen,original.wertes); original.warteAufBeendigungDesLeseThreads; @@ -445,22 +442,19 @@ begin Genauigkeit:=original.Genauigkeit; case Genauigkeit of gSingle: begin - pSi:=@(original.sWerte); - sWerte:=tLLWerteSingle.create(pSi,ps,xmin,xmax); + sWerte:=tLLWerteSingle.create(pTLLWerteSingle(@original.sWerte),ps,xmin,xmax); dWerte:=tLLWerteDouble.create(ps); eWerte:=tLLWerteExtended.create(ps); end; gDouble: begin - pDo:=@(original.dWerte); sWerte:=tLLWerteSingle.create(ps); - dWerte:=tLLWerteDouble.create(pDo,ps,xmin,xmax); + dWerte:=tLLWerteDouble.create(pTLLWerteDouble(@original.dWerte),ps,xmin,xmax); eWerte:=tLLWerteExtended.create(ps); end; gExtended: begin sWerte:=tLLWerteSingle.create(ps); dWerte:=tLLWerteDouble.create(ps); - pEx:=@(original.eWerte); - eWerte:=tLLWerteExtended.create(pEx,ps,xmin,xmax); + eWerte:=tLLWerteExtended.create(pTLLWerteExtended(@original.eWerte),ps,xmin,xmax); end; end{of case}; if original.bezeichner='' then bezeichner:='' @@ -504,27 +498,14 @@ begin end; procedure tWerte.kopiereVon(st: boolean; original: tWerte; xmin,xmax: longint); overload; -var - pSi: pTLLWerteSingle; - pDo: pTLLWerteDouble; - pEx: pTLLWerteExtended; begin original.warteAufBeendigungDesLeseThreads; Transformationen:=tIdentitaet.create(original.Transformationen); Genauigkeit:=original.Genauigkeit; case Genauigkeit of - gSingle: begin - pSi:=@(original.sWerte); - sWerte.kopiereVon(st,pSi,xmin,xmax); - end; - gDouble: begin - pDo:=@(original.dWerte); - dWerte.kopiereVon(st,pDo,xmin,xmax); - end; - gExtended: begin - pEx:=@(original.eWerte); - eWerte.kopiereVon(st,pEx,xmin,xmax); - end; + gSingle: sWerte.kopiereVon(st,pTLLWerteSingle(@original.sWerte),xmin,xmax); + gDouble: dWerte.kopiereVon(st,pTLLWerteDouble(@original.dWerte),xmin,xmax); + gExtended: eWerte.kopiereVon(st,pTLLWerteExtended(@original.eWerte),xmin,xmax); end{of case}; end; @@ -2019,9 +2000,6 @@ var quellen: tWerteArray; s: string; Zeit: extended; - pSi: pTLLWerteSingle; - pDo: pTLLWerteDouble; - pEx: pTLLWerteExtended; begin result:=false; warteaufBeendigungDesLeseThreads; @@ -2150,36 +2128,30 @@ begin for i:=0 to length(quellen)-1 do case quellen[i].Genauigkeit of - gSingle: begin - pSi:=@(quellen[i].sWerte); + gSingle: eWerte.kopiereVonNach( - pSi, + pTLLWerteSingle(@quellen[i].sWerte), xmin,xmax, tmin,tmax, (1+xmax-xmin)*i*byte((Transformationen as tAgglomeration).horizontal), (1+tmax-tmin)*i*byte(not (Transformationen as tAgglomeration).horizontal) ); - end; - gDouble: begin - pDo:=@(quellen[i].dWerte); + gDouble: eWerte.kopiereVonNach( - pDo, + pTLLWerteDouble(@quellen[i].dWerte), xmin,xmax, tmin,tmax, (1+xmax-xmin)*i*byte((Transformationen as tAgglomeration).horizontal), (1+tmax-tmin)*i*byte(not (Transformationen as tAgglomeration).horizontal) ); - end; - gExtended: begin - pEx:=@(quellen[i].eWerte); + gExtended: eWerte.kopiereVonNach( - pEx, + pTLLWerteExtended(@quellen[i].eWerte), xmin,xmax, tmin,tmax, (1+xmax-xmin)*i*byte((Transformationen as tAgglomeration).horizontal), (1+tmax-tmin)*i*byte(not (Transformationen as tAgglomeration).horizontal) ); - end; end; gibAus('... fertig '+timetostr(now-Zeit),3); @@ -2374,9 +2346,6 @@ var fertig: boolean; korrelThreads: array of tKorrelThread; Zeit,pvFehler: extended; - pSi: pTLLWerteSingle; - pDo: pTLLWerteDouble; - pEx: pTLLWerteExtended; begin result:=false; warteaufBeendigungDesLeseThreads; @@ -2432,18 +2401,9 @@ begin gibAus(paramsDump,3); gibAus(quelle.paramsDump,3); case quelle.genauigkeit of - gSingle: begin - pSi:=@(quelle.sWerte); - eWerte.kopiereVon(st,pSi); - end; - gDouble: begin - pDo:=@(quelle.dWerte); - dWerte.kopiereVon(st,pDo); - end; - gExtended: begin - pEx:=@(quelle.eWerte); - eWerte.kopiereVon(st,pEx); - end; + gSingle: eWerte.kopiereVon(st,pTLLWerteSingle(@quelle.sWerte)); + gDouble: dWerte.kopiereVon(st,pTLLWerteDouble(@quelle.dWerte)); + gExtended: eWerte.kopiereVon(st,pTLLWerteExtended(@quelle.eWerte)); end{of case}; gibAus('... fertig '+timetostr(now-Zeit)+', berechne ...',3); end @@ -5800,56 +5760,35 @@ begin end; procedure tVerzerrThread.stExecute; -var - sw: pTLLWerteSingle; - dw: pTLLWerteDouble; - ew: pTLLWerteExtended; begin gibAus('Verzerrthread gestartet '+floattostr(qu._minW)+' '+floattostr(qu._maxW),1); - case qu.genauigkeit of - gSingle: begin - sw:=@(qu.sWerte); - dw:=nil; - ew:=nil; - end; - gDouble: begin - sw:=nil; - dw:=@(qu.dWerte); - ew:=nil; - end; - gExtended: begin - sw:=nil; - dw:=nil; - ew:=@(qu.eWerte); - end; - end{of case}; case zi.genauigkeit of gSingle: case qu.genauigkeit of gSingle: - zi.sWerte.kopiereVerzerrt(sw,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.sWerte.kopiereVerzerrt(pTLLWerteSingle(@qu.sWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); gDouble: - zi.sWerte.kopiereVerzerrt(dw,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.sWerte.kopiereVerzerrt(pTLLWerteDouble(@qu.dWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); gExtended: - zi.sWerte.kopiereVerzerrt(ew,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.sWerte.kopiereVerzerrt(pTLLWerteExtended(@qu.eWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); end{of case}; gDouble: case qu.genauigkeit of gSingle: - zi.dWerte.kopiereVerzerrt(sw,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.dWerte.kopiereVerzerrt(pTLLWerteSingle(@qu.sWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); gDouble: - zi.dWerte.kopiereVerzerrt(dw,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.dWerte.kopiereVerzerrt(pTLLWerteDouble(@qu.dWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); gExtended: - zi.dWerte.kopiereVerzerrt(ew,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.dWerte.kopiereVerzerrt(pTLLWerteExtended(@qu.eWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); end{of case}; gExtended: case qu.genauigkeit of gSingle: - zi.eWerte.kopiereVerzerrt(sw,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.eWerte.kopiereVerzerrt(pTLLWerteSingle(@qu.sWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); gDouble: - zi.eWerte.kopiereVerzerrt(dw,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.eWerte.kopiereVerzerrt(pTLLWerteDouble(@qu.dWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); gExtended: - zi.eWerte.kopiereVerzerrt(ew,ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); + zi.eWerte.kopiereVerzerrt(pTLLWerteExtended(@qu.eWerte),ZPs,ZGs,ZAs,xMi,xMa,tMi,tMa,vb,nb,va,na); end{of case}; end{of case}; gibAus('Verzerrthread beendet',1); -- cgit v1.2.3-70-g09d2