Войти
ПрограммированиеФорумОбщее

Быстрые и точные тригонометрические функции (5 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 3 4 5 6 Следующая »
#60
13:17, 8 апр. 2009

asvp
выложи свой полином пожалуста, хочу пересчитать для 32бит и точности ~0,5*10-5

(нужно по скорости выжать)


#61
15:09, 8 апр. 2009

cant_101
>asvp
>выложи свой полином пожалуста, хочу пересчитать для 32бит и точности ~0,5*10-5
>(нужно по скорости выжать)
Для Sin:
0.9999997192673006 x - 0.1666657564532464 x^3 +
0.008332803647181511 x^5 - 0.00019830197237204295 x^7 +
2.7444305061093514*10^-6 x^9 - 2.442176561869478*10^-8 x^11 +
1.407555708887347*10^-10 x^13 - 4.240664814288337*10^-13 x^15

#62
16:37, 8 апр. 2009


ого! не ожидал что так быстро, спасибо.

если не влом, брось для cos еще, мне и то и то считать: а приводить cos к sin - потеря тактов.


а вообще зачетный алгоритм. мало где требуется очень высокая точность.

#63
17:00, 8 апр. 2009

0.9999998463898181- 0.49999936965939956 x^2 +
0.04166618835924503 x^4 - 0.0013887622181887756 x^6 +
0.000024784900892630595 x^8 - 2.743322595275911*10^-7 x^10 +
2.032903084683995*10^-9 x^12 - 1.0033150303719427*10^-11 x^14 +
2.6449272167846918*10^-14 x^16

Прошло более 1 года
#64
14:12, 16 июня 2010

Hybernaculum
Привет. Есть ли где реализация по Чебышеву на SSE?
Мне как раз для трёх углов xyz ориентации надо за раз посчитать.

#65
19:53, 16 июня 2010

Kroll
> Привет. Есть ли где реализация по Чебышеву на SSE?
> Мне как раз для трёх углов xyz ориентации надо за раз посчитать.
Лучше инлайнить. Если разрешена компиляция под SSE, то и так всё будет с применением SSE.

#66
2:05, 17 июня 2010

Ghost2
Попробуй откомпилить свой код как C++-ый, а не как C-ный

#67
12:03, 17 июня 2010

vigor

Он как C++ и собирался.

BTW, obviously, it doesn't matter.

#68
12:35, 17 июня 2010

asvp
> Если разрешена компиляция под SSE, то и так всё будет с применением SSE
VS2008 тогда вобще всё компилит с sse в скалярных операциях, что не есть гуд.
Лучше самому выборочно интринсиками.

#69
12:53, 17 июня 2010

Kroll
> VS2008 тогда вобще всё компилит с sse в скалярных операциях, что не есть гуд.
Не понимаю что в этом плохого. Сейчас мало процов которые не имеют SSE.
> Лучше самому выборочно интринсиками.
Тоже вариант.

#70
14:11, 17 июня 2010

asvp
Плохо тем, что FPU быстрее на скалярах.
Я кстати реализовал твои полиномы из п.61, 63. Работает намного быстрее fcos/fsin в синтетическом тесте, точность до 6 знака после запятой.
Плохо, что читать надо константы из памяти. В реальной работе кеш-мис наверно весь буст сожрёт. Придумаю тест с засорением кеша, посмотрю.

Прошло более 2 лет
#71
16:39, 14 фев. 2013

Уважаемый asvp :)
Очень приглянулась Ваша функция косинуса. А случайно нет еще функции синуса (хотя конечно можно и вычислить через косинус), а что немаловажно - арккосинуса и арксинуса.
Был бы премного благодарен. А то надо на микроконтроллере запрограммировать, стандартными функциями языка из math.h не воспользуешься, а старая моя библиотека под этот компилятор отказалась работать.... :(
Нужда возникла острая...

#72
16:51, 14 фев. 2013

Именно для интервала -2Пи до 2Пи надо... как в первом посте...

#73
17:51, 14 фев. 2013

RPE
у интела есть библиотечка amath посмотри там подобные функции
по моему там были все
есть еще пдфник с описанием этого всего добра
но форуме это много раз выкладывалось, можешь поискать здесь

#74
20:09, 14 фев. 2013

Да вот хотелось бы что-то типа такого разложения в ряд, а не ассемблерный код. Мне надо под OpenRISK архитектуру, есть уверенность что этот ассемблерный код будет лучше, чем если просто позволить СИшное разложение в ряд оптимизировать компилятору?
Спасибо конечно, архив с Amath скачал, но теперь засунуть его под наш проект со своей самописной операционной системой - тоже целая трагедия будет... Поковыряюсь конечно, если с таким вот разложением не найду ничего.

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.