Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.033 c
9-1114775613
Alex_C
2005-04-29 15:53
2005.08.21
Алгоритм создания части окружности


11-1104779637
Foxi
2005-01-03 22:13
2005.08.21
Ini-файлы в KOL - кто они?


14-1122581559
Katya21
2005-07-29 00:12
2005.08.21
Где ФОРУМ в архиве


14-1122496407
DiamondShark
2005-07-28 00:33
2005.08.21
Дятлы.


4-1120145501
RusLAN_
2005-06-30 19:31
2005.08.21
Запретить модему принимать звонки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский