ln(x) & exp(x)

From
Evgeny Sharandin (2:5020/755.12)
To
Vladimir Vassilevsky
Date
2000-02-27T01:06Z
Area
RU.ALGORITHMS
Reply-To: shar@nep.cplire.ru

Привет Vladimir!

21 февраля 2000 года (а было тогда 08:36)
Vladimir Vassilevsky в своем письме к All писал:

 VV> Мне как-то потребовался возможно быстрый способ вычислений функций. Я
 VV> пробовал интерполировать по таблицам и/или кешировать предудущие
 VV> результаты (Во многих случаях функции вызываются от сравнительно
 VV> близкой области аргументов, что позволяет кешировать начальные
 VV> приближения и ускорять вычисления). Однако вычисления "в лоб" на
 VV> сопроцессоре оказались существенно быстрей на 486+ процессорах.

Для вычисления exp потребуется frndint (20тактов), fscale (2 по 30), f2xm1
(50), не считая мелочевки.  Такты приведены для iP. Это как же нужно
интерполировать значения, что бы не суметь уложиться в сотню с гаком тактов?

Постоянно пользуюсь подобным подходом с одной маленькой модификацией - в
таблице хранятся не только непосредственные, заранее просчитанные, значения, но
и их обратные величины. При этом исключаются весьма дорогостоящие операции
деления, и требуемый результат при интерполяции получается быстрее более чем на
порядок.

С уважением, Evgeny                           27 февраля 2000 года

---
 * Origin: LID (2:5020/755.12)