- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
V := +2*C.C[SFX+S1]/DT-2*C.C[SFX+S4]/DT+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S4]/(DT*DU);
F := F+V*T1*U3;
FX := FX+1*V*T0*U3*DT;
FY := FY+3*V*T1*U2*DU;
FXY := FXY+3*V*T0*U2*DT*DU;
V := -3*C.C[SF+S1]+3*C.C[SF+S2]-2*C.C[SFX+S1]/DT-1*C.C[SFX+S2]/DT;
F := F+V*T2*U0;
FX := FX+2*V*T1*U0*DT;
V := -3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU);
F := F+V*T2*U1;
FX := FX+2*V*T1*U1*DT;
FY := FY+1*V*T2*U0*DU;
FXY := FXY+2*V*T1*U0*DT*DU;
V := +9*C.C[SF+S1]-9*C.C[SF+S2]+9*C.C[SF+S3]-9*C.C[SF+S4]+6*C.C[SFX+S1]/DT+3*C.C[SFX+S2]/DT-3*C.C[SFX+S3]/DT-6*C.C[SFX+S4]/DT+6*C.C[SFY+S1]/DU-6*C.C[SFY+S2]/DU-3*C.C[SFY+S3]/DU+3*C.C[SFY+S4]/DU+4*C.C[SFXY+S1]/(DT*DU)+2*C.C[SFXY+S2]/(DT*DU)+1*C.C[SFXY+S3]/(DT*DU)+2*C.C[SFXY+S4]/(DT*DU);
F := F+V*T2*U2;
FX := FX+2*V*T1*U2*DT;
FY := FY+2*V*T2*U1*DU;
FXY := FXY+4*V*T1*U1*DT*DU;
V := -6*C.C[SF+S1]+6*C.C[SF+S2]-6*C.C[SF+S3]+6*C.C[SF+S4]-4*C.C[SFX+S1]/DT-2*C.C[SFX+S2]/DT+2*C.C[SFX+S3]/DT+4*C.C[SFX+S4]/DT-3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU+3*C.C[SFY+S3]/DU-3*C.C[SFY+S4]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU)-1*C.C[SFXY+S3]/(DT*DU)-2*C.C[SFXY+S4]/(DT*DU);
F := F+V*T2*U3;
FX := FX+2*V*T1*U3*DT;
FY := FY+3*V*T2*U2*DU;
FXY := FXY+6*V*T1*U2*DT*DU;
V := +2*C.C[SF+S1]-2*C.C[SF+S2]+1*C.C[SFX+S1]/DT+1*C.C[SFX+S2]/DT;
F := F+V*T3*U0;
FX := FX+3*V*T2*U0*DT;
V := +2*C.C[SFY+S1]/DU-2*C.C[SFY+S2]/DU+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S2]/(DT*DU);
F := F+V*T3*U1;
FX := FX+3*V*T2*U1*DT;
FY := FY+1*V*T3*U0*DU;
FXY := FXY+3*V*T2*U0*DT*DU;
V := -6*C.C[SF+S1]+6*C.C[SF+S2]-6*C.C[SF+S3]+6*C.C[SF+S4]-3*C.C[SFX+S1]/DT-3*C.C[SFX+S2]/DT+3*C.C[SFX+S3]/DT+3*C.C[SFX+S4]/DT-4*C.C[SFY+S1]/DU+4*C.C[SFY+S2]/DU+2*C.C[SFY+S3]/DU-2*C.C[SFY+S4]/DU-2*C.C[SFXY+S1]/(DT*DU)-2*C.C[SFXY+S2]/(DT*DU)-1*C.C[SFXY+S3]/(DT*DU)-1*C.C[SFXY+S4]/(DT*DU);
F := F+V*T3*U2;
FX := FX+3*V*T2*U2*DT;
FY := FY+2*V*T3*U1*DU;
FXY := FXY+6*V*T2*U1*DT*DU;
V := +4*C.C[SF+S1]-4*C.C[SF+S2]+4*C.C[SF+S3]-4*C.C[SF+S4]+2*C.C[SFX+S1]/DT+2*C.C[SFX+S2]/DT-2*C.C[SFX+S3]/DT-2*C.C[SFX+S4]/DT+2*C.C[SFY+S1]/DU-2*C.C[SFY+S2]/DU-2*C.C[SFY+S3]/DU+2*C.C[SFY+S4]/DU+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S2]/(DT*DU)+1*C.C[SFXY+S3]/(DT*DU)+1*C.C[SFXY+S4]/(DT*DU);
guest 20.03.2010 15:15 # +1.4
guest 20.03.2010 16:30 # +8.8
guest 20.03.2010 17:57 # +0.6
guest 20.03.2010 21:10 # +2
megakoteyka 12.08.2010 14:50 # 0
Иногда оптимизируют от нефиг делать, иногда - в силу суровой необходимости.
А чтобы ракеты не падали - тестировать надо нормально.
xXx_totalwar 12.08.2010 15:19 # 0
>Delphi
>оптимизировать
забавно))
guest 20.03.2010 21:49 # +4.2
так что с вероятностью 99% - не говнокод!
guest 22.03.2010 10:06 # 0
murz 22.03.2010 10:43 # 0
Оптимизировать формулы себе дороже
adoconnection 25.03.2010 22:24 # −1
V := -3*C.C[SF+S1]+3*C.C[SF+S2]-2*C.C[SFX+S1]/DT-1*C.C[SFX+S2]/DT;
...
V := -3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU);
как минимум у каждой такой операции видимо есть смысл, и как минимум можно было бы проставить коменты. а еще вычисление каждой херни видимо можно было обозвать завернув в функцию.
типа V := calculateSomething(a, b, c) уже было бы куда понятнее.
На сайте с примерами реализации алгоритмов по моему куда важнее донести смысл алгоритма, чем заоптимайзить его выполнение с 200 мс до 174 (к примеру)
так что учитывая происхождение, 100% говнокод
MrShoor 20.03.2010 16:41 # +0.2
особый такой вот случай.
капитан очевидность как бы намекает
Решить!!!
guest 21.03.2010 02:03 # −0.8
guest 21.03.2010 07:25 # −1.4
guest 21.03.2010 08:35 # 0
guest 21.03.2010 09:06 # −3.4
http://www.govnokod.ru/2822
guest 22.03.2010 21:26 # +2.4
Была у меня давно книжка по компьютерной графики с примерами на Фортране - один в один. :-) Алгоритмы хитрые - программы соответствующие.
bugmenot 01.06.2010 21:36 # −1
guest 01.06.2010 23:22 # +1
Webkill 01.06.2010 23:50 # −1
guest7 25.08.2021 03:28 # 0