Показать сообщение отдельно
Старый 02.11.2005, 01:44   #5
НУБ
Бывалый
 
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений
(для 102 пользователей)
>Выбор максимума из a,b в одну ф-лу
>x = ( Abs( a-b ) + ( a+b ) ) *.5

If a>b
x=a
else
x=b
endif

- это будет гораздо быстрее, чем куча умножений/сложений(раз в 5-6 примерно), вот тест(если не верите):

a=5
b=8

time1=MilliSecs()
For i=1 To 10000000
x = ( Abs( a-b ) + ( a+b ) ) *.5 
Next
time1=MilliSecs()-time1

time2=MilliSecs()
For i=1 To 10000000
If a>b 
x=a
Else
x=b
EndIf
Next
time2=MilliSecs()-time2


Print time1
Print time2
WaitKey()
(Offline)
 
Ответить с цитированием