Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

как работает корень квадратный?   Найти похожие ветки 

 
Vlad Oshin ©   (2005-07-29 14:40) [0]

как реализаван fsqrt в сопроцессоре?
а то есть мнение...


 
ocean   (2005-07-29 14:44) [1]

полагаю, приближает рядом Тэйлора


 
Jeer ©   (2005-07-29 15:03) [2]

Не факт.


 
Плохиш ©   (2005-07-29 15:22) [3]

Да ладно вам, обычный TStringList в формате <число>=<корень>.


 
wal ©   (2005-07-29 15:23) [4]

Возможно пополамным делением, возможно суммированием ряда, возможно там таблицы типа брадиса есть. Лично мне первый вариант нравится. А какая разница? Работает и не трогай :)

С уважением.


 
jack128 ©   (2005-07-29 15:28) [5]

wal ©   (29.07.05 15:23) [4]
Лично мне первый вариант нравится

скорее все таки каким то рядом... наврядли тейлора, наверника есть какие нить другие, которые быстрее сходятся...


 
Anatoly Podgoretsky ©   (2005-07-29 15:36) [6]

Давно читал, разложением рядов, каким именно не помню.


 
DiamondShark ©   (2005-07-29 15:38) [7]

Таблично.


 
oldman ©   (2005-07-29 15:38) [8]


>
> Vlad Oshin ©   (29.07.05 14:40)  
> как реализаван fsqrt в сопроцессоре?
> а то есть мнение...


хм...
Реши сам N способами. Заодно выяснишь, как реализован в сопроцессоре...
Хотя, если во всех N методах результат до 32 знака совпадет - какая разница?


 
jack128 ©   (2005-07-29 15:39) [9]

oldman ©   (29.07.05 15:38) [8]
Хотя, если во всех N методах результат до 32 знака совпадет - какая разница?

разница в скорости


 
Vlad Oshin ©   (2005-07-29 16:03) [10]


> oldman ©   (29.07.05 15:38) [8]

решил
есть замечательная ф-ла? рассмотренная недавно, по методу г.Перельмана
и последствия из нее

labl1:
c:=b+(a-b*b)/2*b
if abs(и-c)>0.00001 then goto labl1;

такое дает тики на (52000-50000) по сравнению с обычным sqrt
правда если бать примерное значение и
т.е. b*b~a
например для а<10
хватит b=2.5

или a<100 >10
b=8

или 7, 9, 10, 6
сходимость очень быстрая

тиков очень мало, 20%
где то
единственная пробдлема - чему равно Б?
в принципице, оно может быт любым, или чем точнее Б к sqrt от А тем быстрее сходимость


 
Vlad Oshin ©   (2005-07-29 16:07) [11]


> Anatoly Podgoretsky ©   (29.07.05 15:36) [6]
> Давно читал, разложением рядов, каким именно не помню.

чаще всего г.Ньютон фигурирует


 
Jeer ©   (2005-07-29 16:11) [12]

Для фиксированной сетки очень эффективны были методы "цифра за цифрой" (иные названия: алгоритм Волдера, CORDIC)

Кстати, у меня ощущение, что в сопроцессоре функция одновременного вычисления sin и cos (  SinCos() в Дельфи ) именно так и выполнена


 
Anatoly Podgoretsky ©   (2005-07-29 16:11) [13]

Главное, что раскладывают, пока относительно квадратным не станет.


 
Vlad Oshin ©   (2005-07-30 02:58) [14]


> Jeer ©   (29.07.05 16:11) [12]
> Для фиксированной сетки очень эффективны были методы "цифра
> за цифрой" (иные названия: алгоритм Волдера, CORDIC)
>
> Кстати, у меня ощущение, что в сопроцессоре функция одновременного
> вычисления sin и cos (  SinCos() в Дельфи ) именно так и
> выполнена

не понял ничего
sin, как и fsqrt объявлен, но не описан
т.е. это работает аппаратно? как бы
получается так
и, получается, что можно усовершенствовать
?


> DiamondShark ©   (29.07.05 15:38) [7]
> Таблично.

точно?


 
Vlad Oshin ©   (2005-07-30 03:17) [15]

был у нас препод
кстати, это он с БГ жил вместе на одной кв., в Ленинграде
вот он говрил: если Вы вдруг чего0то изобрели - приходите ко мне, я Вам 2 поставлю, и делов то.

:)
можть к нему пора сходить :)


 
Юрий Зотов ©   (2005-07-30 06:07) [16]

Все вышесказанное - фигня.

Правильный ответ такой - бесшумно.


 
vidiv ©   (2005-07-30 07:40) [17]


> Юрий Зотов ©   (30.07.05 06:07) [16]

Неправда, у меня проц начинает шуметь когда его напрягаешь! наверняка если напрягать его этой командой - он тоже шуметь будет!


 
uw ©   (2005-07-30 08:36) [18]

Ньютон сходится очень быстро, но все-таки требует много делений и сложений. Тем не менее, библиотеки С для микропроцессоров используют, как правило, именно Ньютона. Я их переписывал, используя школьный алгоритм извлечения корня: разбиваем число на группы по две цифры, начиная справа, для старшей группы подбираем наибольшее число, квадрат которого не превосходит значения этой групыы, и т.д. В двоичной арифметике этот алгоритм чрезвычайно эффективен, и извлечение корня оказывается только в пару раз медленнее, чем деление. Думаю, в сопроцессорах так и делается.


 
SergP ©   (2005-07-30 09:08) [19]


>  [17] vidiv ©   (30.07.05 07:40)
>
> > Юрий Зотов ©   (30.07.05 06:07) [16]
>
> Неправда, у меня проц начинает шуметь когда его напрягаешь!
>


Еще бы... Если там такая толпа битов бегает. :-))



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.049 c
14-1122486854
VEG
2005-07-27 21:54
2005.08.21
Бесплатныле программы


1-1122630880
Спросивший
2005-07-29 13:54
2005.08.21
Проблема при установке компонента


6-1115479399
SergP1
2005-05-07 19:23
2005.08.21
Не запускается dll под Apache


1-1122642655
mazepa
2005-07-29 17:10
2005.08.21
excell


3-1121148609
Aln
2005-07-12 10:10
2005.08.21
Ошибка при попытке присвоить значение ADOQuery.SQL.Text???