Цитата(Kuzmi4 @ May 6 2008, 19:23)

Касательно "fast integer square root" - может кто-то доступно объяснить подоплёку отого чЮда ?
Всмысле вроде метод нъютона - это где производные, а откуда там взялись эти махинации с битами ?? .....

Если махинации с битами - то это уже не Ньютона :-)
Вот, нашёл в гуглогрупсах
старое(там цитирования надо поразворачивать)
О, тут не вся тема, зато чистым текстом
http://files.kpv.nnov.ru/sqrt16b.txtА для компенсации постоянки отдельно вычислять среднее арифметическое и вычитать его
из каждого отсчёта не нужно (заодно массив отсчётов пропадает, экономия ОЗУ).
Делается это так:
Накапиливается в двух накопителях - сумма квадратов и сумма отсчётов.
В конце цикла измерения вычисляем средний квадрат без компенсации постоянки и среднее значение (постоянку).
Из среднего квадрата вычитаем квадрат среднего.
Всё, получили среднее квадрата отклонения от постоянки.
Т.е. (тут нормально формулы не написать - нет ни тегов sup/sub, ни надчерка)
sqr() - это возведение в квадрат
average( sqr( x - average(x) ) ) = average( sqr(x) ) - sqr( average( x ) )
При необходимости из этого извлечь корень.
О, нашёл в RU.EMBEDDED ещё более старую тему, но там есть С-шный
8-битниковый вариант, писался под 8051.
И где-то в сети есть ассемблерный вариант для AVR, автор Александр Труш (тоже на грани тысячелетий в эхе/ньюсах где-то пробегало, я на паре сайтов видел вывешенное, но не помню где).