diff options
author | Erich Eckner <git@eckner.net> | 2015-09-30 11:48:55 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2015-09-30 11:48:55 +0200 |
commit | b9c251fbb813025ed2f13c1ac5b6b90243385b1b (patch) | |
tree | b33afdb2cd4968b7faa99210a2b7a161a0292729 | |
parent | b2b8170095b90d3944096e76077d0fa9bef1187b (diff) | |
download | Plasmapropagation-b9c251fbb813025ed2f13c1ac5b6b90243385b1b.tar.xz |
jetzt vollständig auf double umgestellt und überprüfung der Arraylängen
implementiert
-rw-r--r-- | Physikunit.pas | 71 | ||||
-rw-r--r-- | Plasmapropagation.lps | 106 | ||||
-rwxr-xr-x | genLikoInc | 4 | ||||
-rw-r--r-- | linearkombination.inc | 2 | ||||
-rw-r--r-- | linearkombinationen.inc | 62 |
5 files changed, 141 insertions, 104 deletions
diff --git a/Physikunit.pas b/Physikunit.pas index f95dc32..b4b1456 100644 --- a/Physikunit.pas +++ b/Physikunit.pas @@ -106,8 +106,9 @@ type _aX,_aP: longint; _dX,_dP,iDX: double; ffts: array of array[0..1,boolean] of fftw_plan_double; // fft-Algorithmen - fftTmp: Pcomplex_double; // Zwischenspeicher für ffts + fftTmp,lFftTmp: Pcomplex_double; // Zwischenspeicher für ffts procedure initialisiereDichte(ort,tlc: longint; breite,n: double); inline; + procedure pruefeArrayEnden(fehler: string); public emFelder: array[tEMFeldGroesze,boolean] of pDouble; // EM-Felder und deren Zeitableitungen // dPhiDX und B[xyz] haben keine sinnvolle Ableitung hier! @@ -585,8 +586,9 @@ begin setlength(impulsRaumGradient,length(teilchen)); for i:=0 to length(impulsRaumGradient)-1 do for j:=0 to length(impulsRaumGradient[i])-1 do begin - fftw_getmem(impulsRaumGradient[i,j],aP*aX*sizeof(double)); + fftw_getmem(impulsRaumGradient[i,j],(aP*aX+1)*sizeof(double)); fillchar(impulsRaumGradient[i,j]^,aP*aX*sizeof(double),#0); + (impulsRaumGradient[i,j]+aP*aX)^:=pi; end; fillchar(iMGamma,sizeof(iMGamma),#0); setlength(iMGamma,length(teilchen)); @@ -639,8 +641,13 @@ begin lichters[true].grep('^rechts .*'); lichters[true].subst('^rechts *',''); - fftw_getmem(fftTmp,(aP+1)*(aX+1)*sizeof(complex_double)); - fillchar(fftTmp^,(aP+1)*(aX+1)*sizeof(complex_double),#0); + i:=max((aP div 2 + 1)*aX,(aX div 2 + 1)*aP); + fftw_getmem(fftTmp,(i+1)*sizeof(complex_double)); + fillchar(fftTmp^,(i+1)*sizeof(complex_double),#0); + lFftTmp:=fftTmp+i; + + lFftTmp^.re:=pi; + lFftTmp^.im:=sqr(pi); fillchar(ffts,sizeof(ffts),#0); setlength(ffts,length(teilchen)); @@ -651,11 +658,14 @@ begin fftw_plan_many_dft_c2r(1,@_aX,aP,fftTmp,nil,aP,1,impulsRaumGradient[i,0],nil,aP,1,[fftw_measure]); ffts[i,1,false]:= // Planung der Hintransformationen über p - fftw_plan_many_dft_r2c(1,@_aP,aX,impulsraum[i,false],nil,1,aP,fftTmp,nil,1,aP,[fftw_preserve_input,fftw_measure]); + fftw_plan_many_dft_r2c(1,@_aP,aX,impulsraum[i,false],nil,1,aP,fftTmp,nil,1,aP div 2 + 1,[fftw_preserve_input,fftw_measure]); ffts[i,1,true]:= // Planung der Rücktransformationen über p - fftw_plan_many_dft_c2r(1,@_aP,aX,fftTmp,nil,1,aP,impulsRaumGradient[i,1],nil,1,aP,[fftw_measure]); + fftw_plan_many_dft_c2r(1,@_aP,aX,fftTmp,nil,1,aP div 2 + 1,impulsRaumGradient[i,1],nil,1,aP,[fftw_measure]); end; - (* + + pruefeArrayEnden('FFT schreibt beim Planen über das Ende hinaus!'); + + (* fftw_plan_many_dft_r2c(int rank, const int *n, int howmany, double *in, const int *inembed, int istride, int idist, @@ -729,6 +739,26 @@ begin (impulsraum[tlc,false]+i+ort*aP)^:=(impulsraum[tlc,false]+i+ort*aP)^ * ges; end; +procedure tFelder.pruefeArrayEnden(fehler: string); +var + i,j: longint; +begin + if (abs(lFftTmp^.re-pi)>1e-10) or (abs(lFftTmp^.im-sqr(pi))>1e-10) then begin + gitter.prot.schreibe(fehler); + gitter.prot.schreibe(floattostr(lFftTmp^.re)+' vs. '+floattostr(pi)+' und '+floattostr(lFftTmp^.im)+' vs. '+floattostr(sqr(pi))); + gitter.prot.destroyall; + halt(1); + end; + for i:=0 to length(impulsRaumGradient)-1 do + for j:=0 to 1 do + if abs((impulsRaumGradient[i,j]+aP*aX)^-pi)>1e-10 then begin + gitter.prot.schreibe(fehler); + gitter.prot.schreibe(floattostr((impulsRaumGradient[i,j]+aP*aX)^)+' vs. '+floattostr(pi)); + gitter.prot.destroyall; + halt(1); + end; +end; + procedure tFelder.berechneAbleitungen; var i,j,k: longint; @@ -829,26 +859,35 @@ begin // Gradienten der Phasenraumbesetzungsdichte berechnen + pruefeArrayEnden('Jemand hat das FFT-Array überschrieben!'); + for i:=0 to length(ffts)-1 do begin - fftw_execute(ffts[i,0,false]); - for j:=0 to aX-1 do + fftw_execute(ffts[i,0,false]); // FFT in x + pruefeArrayEnden('Vorwärts-FFT ('+inttostr(i)+',0) schreibt beim Ausführen über das Ende hinaus!'); + + for j:=0 to aX div 2 do for k:=0 to aP-1 do begin // *i*k*2*pi; - tmp:=(fftTmp+j+k*aX)^.re; - (fftTmp+j+k*aX)^.re:=- 2*pi/dX/aX * j * (fftTmp+j+k*aX)^.im/aX; - (fftTmp+j+k*aX)^.im:= 2*pi/dX/aX * j * tmp/aX; + tmp:=(fftTmp+j+k*(aX div 2 + 1))^.re; + (fftTmp+j+k*(aX div 2 + 1))^.re:=- 2*pi/dX/aX * j * (fftTmp+j+k*(aX div 2 + 1))^.im/aX * byte(2*j<ax); + (fftTmp+j+k*(aX div 2 + 1))^.im:= 2*pi/dX/aX * j * tmp/aX * byte(2*j<ax); end; fftw_execute(ffts[i,0,true]); - fftw_execute(ffts[i,1,false]); + pruefeArrayEnden('Rückwärts-FFT ('+inttostr(i)+',0) schreibt beim Ausführen über das Ende hinaus!'); + + fftw_execute(ffts[i,1,false]); // FFT in p + pruefeArrayEnden('Vorwärts-FFT ('+inttostr(i)+',1) schreibt beim Ausführen über das Ende hinaus!'); for j:=0 to aX-1 do - for k:=0 to aP-1 do begin // *i*k*2*pi; + for k:=0 to aP div 2 do begin // *i*k*2*pi; tmp:=(fftTmp+j+k*aX)^.re; - (fftTmp+j+k*aX)^.re:=- 2*pi/dP/aP * k * (fftTmp+j+k*aX)^.im/aP; - (fftTmp+j+k*aX)^.im:= 2*pi/dP/aP * k * tmp/aP; + (fftTmp+j+k*aX)^.re:=- 2*pi/dP/aP * k * (fftTmp+j+k*aX)^.im/aP * byte(2*k < aP); + (fftTmp+j+k*aX)^.im:= 2*pi/dP/aP * k * tmp/aP * byte(2*k < aP); end; fftw_execute(ffts[i,1,true]); + pruefeArrayEnden('Rückwärts-FFT ('+inttostr(i)+',1) schreibt beim Ausführen über das Ende hinaus!'); + end; // Zeitableitung der Phasenraumbesetzungsdichte berechnen diff --git a/Plasmapropagation.lps b/Plasmapropagation.lps index d9cdf52..be47378 100644 --- a/Plasmapropagation.lps +++ b/Plasmapropagation.lps @@ -3,12 +3,12 @@ <ProjectSession> <Version Value="9"/> <BuildModes Active="Default"/> - <Units Count="19"> + <Units Count="20"> <Unit0> <Filename Value="Plasmapropagation.lpr"/> <IsPartOfProject Value="True"/> <TopLine Value="19"/> - <CursorPos Y="46"/> + <CursorPos Y="48"/> <UsageCount Value="200"/> <Loaded Value="True"/> </Unit0> @@ -17,9 +17,9 @@ <IsPartOfProject Value="True"/> <IsVisibleTab Value="True"/> <EditorIndex Value="1"/> - <TopLine Value="618"/> - <CursorPos X="59" Y="643"/> - <FoldState Value=" T3lM0{F5 pjdmK0G51214]DWuB0f3]9BkH031 pp4pD0G2 T0!0Pc071F311)"/> + <TopLine Value="1039"/> + <CursorPos Y="1106"/> + <FoldState Value=" T3lN0{F5 pjdmK0G514 pm0s30U3]K2k30f2 T0!dPc071F311Z"/> <UsageCount Value="200"/> <Loaded Value="True"/> </Unit1> @@ -28,14 +28,14 @@ <IsPartOfProject Value="True"/> <EditorIndex Value="-1"/> <CursorPos X="20" Y="8"/> - <UsageCount Value="168"/> + <UsageCount Value="170"/> </Unit2> <Unit3> <Filename Value="input.plap"/> <IsPartOfProject Value="True"/> <EditorIndex Value="3"/> <CursorPos X="33" Y="23"/> - <UsageCount Value="167"/> + <UsageCount Value="169"/> <Loaded Value="True"/> <DefaultSyntaxHighlighter Value="None"/> </Unit3> @@ -43,15 +43,15 @@ <Filename Value="linearkombination.inc"/> <IsPartOfProject Value="True"/> <EditorIndex Value="-1"/> - <CursorPos X="54" Y="16"/> - <UsageCount Value="115"/> + <TopLine Value="76"/> + <UsageCount Value="117"/> </Unit4> <Unit5> <Filename Value="linearkombinationen.inc"/> <IsPartOfProject Value="True"/> <EditorIndex Value="-1"/> - <CursorPos X="29" Y="16"/> - <UsageCount Value="78"/> + <TopLine Value="25"/> + <UsageCount Value="80"/> </Unit5> <Unit6> <Filename Value="input.epost"/> @@ -68,7 +68,7 @@ <TopLine Value="19"/> <CursorPos X="66" Y="48"/> <FoldState Value=" T3iA05B pj0jV034 piaj60U6 plLmM041p"/> - <UsageCount Value="24"/> + <UsageCount Value="25"/> <Loaded Value="True"/> </Unit7> <Unit8> @@ -114,8 +114,8 @@ <Unit14> <Filename Value="rk3_8.inc"/> <EditorIndex Value="-1"/> - <CursorPos X="41" Y="6"/> - <UsageCount Value="9"/> + <CursorPos X="71" Y="11"/> + <UsageCount Value="10"/> </Unit14> <Unit15> <Filename Value="/usr/lib/fpc/src/rtl/objpas/math.pp"/> @@ -145,137 +145,135 @@ <CursorPos X="60" Y="95"/> <UsageCount Value="10"/> </Unit18> + <Unit19> + <Filename Value="/usr/lib/fpc/src/rtl/inc/systemh.inc"/> + <EditorIndex Value="-1"/> + <TopLine Value="295"/> + <CursorPos X="3" Y="315"/> + <UsageCount Value="10"/> + </Unit19> </Units> <JumpHistory Count="30" HistoryIndex="29"> <Position1> <Filename Value="Physikunit.pas"/> - <Caret Line="595" TopLine="576"/> + <Caret Line="1534" TopLine="1518"/> </Position1> <Position2> <Filename Value="Physikunit.pas"/> - <Caret Line="597" TopLine="576"/> + <Caret Line="1070" TopLine="1050"/> </Position2> <Position3> <Filename Value="Physikunit.pas"/> - <Caret Line="604" TopLine="585"/> + <Caret Line="1074" TopLine="1050"/> </Position3> <Position4> <Filename Value="Physikunit.pas"/> - <Caret Line="605" TopLine="585"/> + <Caret Line="1077" TopLine="1062"/> </Position4> <Position5> <Filename Value="Physikunit.pas"/> - <Caret Line="606" TopLine="585"/> + <Caret Line="1079" TopLine="1062"/> </Position5> <Position6> <Filename Value="Physikunit.pas"/> - <Caret Line="608" TopLine="585"/> + <Caret Line="1079" TopLine="1062"/> </Position6> <Position7> - <Filename Value="Physikunit.pas"/> - <Caret Line="609" TopLine="585"/> + <Filename Value="Plasmapropagation.lpr"/> + <Caret Line="48" TopLine="19"/> </Position7> <Position8> <Filename Value="Physikunit.pas"/> - <Caret Line="615" TopLine="600"/> + <Caret Line="1074" TopLine="1062"/> </Position8> <Position9> <Filename Value="Physikunit.pas"/> - <Caret Line="616" TopLine="600"/> + <Caret Line="1077" TopLine="1062"/> </Position9> <Position10> <Filename Value="Physikunit.pas"/> - <Caret Line="617" TopLine="600"/> + <Caret Line="1079" TopLine="1062"/> </Position10> <Position11> <Filename Value="Physikunit.pas"/> - <Caret Line="618" TopLine="600"/> + <Caret Line="1079" TopLine="112"/> </Position11> <Position12> <Filename Value="Physikunit.pas"/> - <Caret Line="565" Column="39" TopLine="548"/> + <Caret Line="1079" TopLine="91"/> </Position12> <Position13> <Filename Value="Physikunit.pas"/> - <Caret Line="16" Column="100"/> + <Caret Line="109" Column="11" TopLine="85"/> </Position13> <Position14> <Filename Value="Physikunit.pas"/> - <Caret Line="108" Column="73" TopLine="88"/> + <Caret Line="645" Column="21" TopLine="617"/> </Position14> <Position15> <Filename Value="Physikunit.pas"/> - <Caret Line="109" Column="40" TopLine="89"/> + <Caret Line="651" Column="75" TopLine="619"/> </Position15> <Position16> <Filename Value="Physikunit.pas"/> - <Caret Line="642" Column="57" TopLine="622"/> + <Caret Line="653" Column="46" TopLine="621"/> </Position16> <Position17> <Filename Value="Physikunit.pas"/> - <Caret Line="650" Column="57" TopLine="630"/> + <Caret Line="656" Column="75" TopLine="624"/> </Position17> <Position18> <Filename Value="Physikunit.pas"/> - <Caret Line="112" Column="49" TopLine="83"/> + <Caret Line="660" Column="6" TopLine="629"/> </Position18> <Position19> <Filename Value="Physikunit.pas"/> + <Caret Line="108" Column="9" TopLine="88"/> </Position19> <Position20> <Filename Value="Physikunit.pas"/> - <Caret Line="88" Column="62" TopLine="83"/> + <Caret Line="109" Column="95" TopLine="88"/> </Position20> <Position21> <Filename Value="Physikunit.pas"/> - <Caret Line="936" Column="69" TopLine="486"/> + <Caret Line="650" Column="16" TopLine="618"/> </Position21> <Position22> <Filename Value="Physikunit.pas"/> + <Caret Line="663" Column="22" TopLine="639"/> </Position22> <Position23> <Filename Value="Physikunit.pas"/> - <Caret Line="108" Column="9" TopLine="93"/> + <Caret Line="719" Column="26" TopLine="687"/> </Position23> <Position24> <Filename Value="Physikunit.pas"/> - <Caret Line="109" Column="95" TopLine="93"/> + <Caret Line="724" Column="24" TopLine="690"/> </Position24> <Position25> <Filename Value="Physikunit.pas"/> - <Caret Line="562" TopLine="551"/> + <Caret Line="869" TopLine="831"/> </Position25> <Position26> <Filename Value="Physikunit.pas"/> - <Caret Line="644" Column="28" TopLine="627"/> + <Caret Line="665" Column="69" TopLine="487"/> </Position26> <Position27> <Filename Value="Physikunit.pas"/> - <Caret Line="672" Column="3" TopLine="548"/> + <Caret Line="747" TopLine="643"/> </Position27> <Position28> <Filename Value="Physikunit.pas"/> - <Caret Line="715" Column="2" TopLine="463"/> + <Caret Line="112" TopLine="99"/> </Position28> <Position29> <Filename Value="Physikunit.pas"/> - <Caret Line="843" Column="46" TopLine="811"/> + <Caret Line="761" Column="42" TopLine="682"/> </Position29> <Position30> <Filename Value="Physikunit.pas"/> - <Caret Line="834" Column="43" TopLine="819"/> + <Caret Line="747" Column="36" TopLine="689"/> </Position30> </JumpHistory> </ProjectSession> - <Debugging> - <BreakPoints Count="1"> - <Item1> - <Kind Value="bpkSource"/> - <WatchScope Value="wpsLocal"/> - <WatchKind Value="wpkWrite"/> - <Source Value="Plasmapropagation.lpr"/> - <Line Value="46"/> - </Item1> - </BreakPoints> - </Debugging> </CONFIG> @@ -21,7 +21,7 @@ do do echo -ne ",fak${j}" >> ${file} done - echo ": extended); overload; inline;" >> ${file} + echo ": double); overload; inline;" >> ${file} done echo "{\$ENDIF}" >> ${file} @@ -60,7 +60,7 @@ for ((i=3; i<=maximum; i++)) do echo -ne "\n{\$IFDEF lkA${i}},fak${i}{\$ENDIF}" >> ${file} done -echo ": extended);" >> ${file} +echo ": double);" >> ${file} echo "var" >> ${file} echo " i,j: longint;" >> ${file} echo " emF: tEMFeldGroesze;" >> ${file} diff --git a/linearkombination.inc b/linearkombination.inc index 8fca2c0..5727f04 100644 --- a/linearkombination.inc +++ b/linearkombination.inc @@ -62,7 +62,7 @@ fak2 {$IFDEF lkA29},fak29{$ENDIF} {$IFDEF lkA30},fak30{$ENDIF} {$IFDEF lkA31},fak31{$ENDIF} -{$IFDEF lkA32},fak32{$ENDIF}: extended); +{$IFDEF lkA32},fak32{$ENDIF}: double); var i,j: longint; emF: tEMFeldGroesze; diff --git a/linearkombinationen.inc b/linearkombinationen.inc index 5862886..1d11858 100644 --- a/linearkombinationen.inc +++ b/linearkombinationen.inc @@ -3,37 +3,37 @@ {$IFDEF LiKoInterface} // Werte werden auf (in1 + \sum_i faki * ini') gesetzt -procedure liKo(in1,in2: tFelder; fak2: extended); overload; inline; -procedure liKo(in1,in2,in3: tFelder; fak2,fak3: extended); overload; inline; -procedure liKo(in1,in2,in3,in4: tFelder; fak2,fak3,fak4: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5: tFelder; fak2,fak3,fak4,fak5: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6: tFelder; fak2,fak3,fak4,fak5,fak6: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7: tFelder; fak2,fak3,fak4,fak5,fak6,fak7: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29,in30: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29,fak30: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29,in30,in31: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29,fak30,fak31: extended); overload; inline; -procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29,in30,in31,in32: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29,fak30,fak31,fak32: extended); overload; inline; +procedure liKo(in1,in2: tFelder; fak2: double); overload; inline; +procedure liKo(in1,in2,in3: tFelder; fak2,fak3: double); overload; inline; +procedure liKo(in1,in2,in3,in4: tFelder; fak2,fak3,fak4: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5: tFelder; fak2,fak3,fak4,fak5: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6: tFelder; fak2,fak3,fak4,fak5,fak6: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7: tFelder; fak2,fak3,fak4,fak5,fak6,fak7: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29,in30: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29,fak30: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29,in30,in31: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29,fak30,fak31: double); overload; inline; +procedure liKo(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,in17,in18,in19,in20,in21,in22,in23,in24,in25,in26,in27,in28,in29,in30,in31,in32: tFelder; fak2,fak3,fak4,fak5,fak6,fak7,fak8,fak9,fak10,fak11,fak12,fak13,fak14,fak15,fak16,fak17,fak18,fak19,fak20,fak21,fak22,fak23,fak24,fak25,fak26,fak27,fak28,fak29,fak30,fak31,fak32: double); overload; inline; {$ENDIF} // implementation ************************************************************** |