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)