|
2 / 2 / 0
Регистрация: 05.09.2020
Сообщений: 18
|
||||||
Быстрая функция вычисления логарифма с одиночной точностью12.09.2020, 12:48. Показов 7425. Ответов 26
Метки нет (Все метки)
Отписываюсь о результатах. Идеально подошло решение со статическими константам - к ним применимо выражение offset.
Привожу также весь код функции - возможно, он кому-то окажется полезным, тем более, что в интернете я не встречал более эффективных решений.
0
|
||||||
| 12.09.2020, 12:48 | |
|
Ответы с готовыми решениями:
26
Нужно вывести на экран число e (основание натурального логарифма) с точностью до десятых Вычислить значение натурального логарифма с точностью до ε=10-7 через суммы трех рядов: Описать функцию вычисления логарифма |
|
E=m*c^2
|
|||||||||||||||||
| 06.10.2020, 15:42 | |||||||||||||||||
buf создается как локальная переменная в стеке еще до вызова функции.
[esp + 4]Добавлено через 5 минут без __declspec(naked) для __cdecl компилятор создаст
0
|
|||||||||||||||||
|
2 / 2 / 0
Регистрация: 05.09.2020
Сообщений: 18
|
||||||
| 06.10.2020, 20:11 [ТС] | ||||||
|
Выкладываю аналогичную функцию логарифма с двойной точностью. Оптимизации особо не делал. Главные оптимизации, которые можно сделать, - разворачивание цикла и передача аргумента/результата через xmm0.
1
|
||||||
|
3134 / 1731 / 273
Регистрация: 19.02.2010
Сообщений: 4,526
|
|||
| 06.10.2020, 20:17 | |||
|
Если бы вызываемая функция была в другом модуле (т.е. в месте вызова функции была бы известна только её сигнатура из инклюда - а о локальных переменных в ней ничего бы не было известно) - тогда бы компилятор сгенерил бы другой код? (это я так - просто мысли вслух)
0
|
|||
|
2 / 2 / 0
Регистрация: 05.09.2020
Сообщений: 18
|
|
| 06.10.2020, 20:25 [ТС] | |
|
Первая команда внутри ассемблерного кода написана по ошибке (она дублирует вторую команду), её нужно исключить.
0
|
|
|
E=m*c^2
|
||
| 06.10.2020, 20:32 | ||
fldln2 не дремлет и бахает что одинарную точность что двойную за один и тот же отрезок времени.походу только возможность вычислить два числа одновременно может оправдать векторизацию процесса.
0
|
||
|
2 / 2 / 0
Регистрация: 05.09.2020
Сообщений: 18
|
|
| 06.10.2020, 20:42 [ТС] | |
|
K-ILYA-V, я сравнивал производительность с x87-вариантом без оптимизаций. Когда делал на SSE2, то на некоторых процессорах производительность была примерно одинаковая, на некоторых - до 2-х раз быстрее, чем на x87. На AVX+FMA и с оптимизациями преимущество будет более очевидным на всех процессорах. Главная оптимизация - убрать бессмысленную пересылку результата xmm0 -> память -> FPU -> память -> xmm0. Именно так и происходит при работе функции с ключом /o2.
0
|
|
| 06.10.2020, 20:42 | |
|
функция логарифма Используя функцию для вычисления логарифма, найти значения выражения Алгоритм вычисления логарифма без использования разложения в ряд Тейлора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|