|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Astafiev 2:5000/228.16 30 Jan 2003 21:48:04 To : Evgenij Masherov Subject : Оптимизация сплайн-функции -------------------------------------------------------------------------------- AA>> Требуется уменьшить количество умножений AA>> при кубической (степенной интерполяции): Ax^3 + Bx^2+Cx + D AA>> или того хлеще, в Ax^5 + Bx^3 + Cx + D AA>> предполагается что хотим посчитать все это с помощью ассемблера, AA>> на процессоре где умножение дорого. Чем можно заменить, включая AA>> _приближение_ или _эквивалент_ формулы выше? Приветствуются AA>> маленькие таблички логарифмов итп. Кстати, аргумент целочисленный AA>> и находится в диапазоне 0..4095 (12бит), а коэффициенты либо AA>> float, либо fixed-point. Либо вообще, зашиваются в табличку :) EM> EM> 1. Для многочлена четвертой и выше степени можно сократить число EM> умножений предварительной обработкой коэффициентов (см. Кнут, т.2, гл. EM> 4, п. 4.5.4) гляну, tnx! EM> 2. В свое время применялся метод замены умножения EM> квадрированием, основанный на тождестве a*b=1/4*((a+b)^2-(a-b)^2) Для EM> квадратов можно держать таблицы, а деление на 4 - сдвигом. все равно таблица квадратов требуется. EM> 3. Если EM> коэффициенты неизменны - то, может, просто зашить таблицу многочлена? Вот от этого я бы хотел уйти, потому что всего 16 каналов, и 16 таблиц не очень...нужна доп.память. --- * Origin: Фидонет - сеть друзей. Будьте дружественнее! (2:5000/228.16) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/174643e3990ae.html, оценка из 5, голосов 12
|