Очень быстрая приблизительная функция логарифма (натурального журнала) в C++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Очень быстрая приблизительная функция логарифма (натурального журнала) в C++?

Сообщение Anonymous »

Мы находим различные трюки для замены std::sqrt (квадратный корень времени) и некоторые для std::exp (с использованием более быстрого экспоненциального приближения), но я не нашел ничего, что могло бы заменить std::log .
Это часть циклов в моей программе, и она вызывается несколько раз, и хотя exp и sqrt были оптимизированы, Intel VTune теперь предлагает мне оптимизировать std::log >, после этого кажется, что только мой выбор дизайна будет ограничивать.
На данный момент я использую тейлоровскую аппроксимацию 3-го порядка ln(1+x) с x между -0,5 и +0,5 (90% случаев при максимальной ошибке 4%) и в противном случае вернуться к std::log. Это дало мне ускорение на 15 %.

Подробнее здесь: https://stackoverflow.com/questions/398 ... ction-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»