Какой самый быстрый способ вычислить sin и cos вместе?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Какой самый быстрый способ вычислить sin и cos вместе?

Сообщение Anonymous »

Я хотел бы вычислить синус и косинус значения вместе (например, чтобы создать матрицу вращения). Конечно, я мог бы вычислить их отдельно один за другим, например a = cos(x); b = sin(x);, но мне интересно, есть ли более быстрый способ, когда нужны оба значения.

Изменить:
Подводя итог ответам на данный момент:


[*]Влад сказал, что есть asm-команда FSINCOS вычисляет оба из них (почти за то же время, что и вызов только FSIN)
[*]Как Чи заметил, что эта оптимизация иногда уже выполняется компилятором (при использовании флагов оптимизации).
[*]caf указал Оказывается, функции sincos и sincosf, вероятно, доступны и могут быть вызваны напрямую, просто включив math.h
[*]
tanascius подход к использованию справочной таблицы вызывает споры. (Однако на моем компьютере и в тестовом сценарии он работает в 3 раза быстрее, чем sincos, с почти такой же точностью для 32-битных чисел с плавающей запятой.)
[*]
Джоэл Гудвин рассказал об интересном методе чрезвычайно быстрой аппроксимации с довольно хорошей точностью (для меня это даже быстрее, чем поиск по таблице)


Подробнее здесь: https://stackoverflow.com/questions/268 ... s-together
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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