newsare.net
Всем привет! Возникла потребность написать быстрое вычисление Sin и Cos. За основу для вычислений взял разложение по ряду Тейлора. Использую в[Из песочницы] Быстрый Sin и Cos на встроенном ASM для Delphi
Всем привет! Возникла потребность написать быстрое вычисление Sin и Cos. За основу для вычислений взял разложение по ряду Тейлора. Использую в 3D-системах (OpenGL и графическая библиотека своей разработки). К сожалению свести ряд «идеально» для Double не получается, но это компенсируется хорошим ускорением. Код написан на встроенном в Delphi XE6 ассемблере. Используется SSE2. Для научных вычислений не подходит, а для использования в играх вполне. Точности хватает, чтобы покрыть разрядность числа Single, которое используется для умножения на матрицу. В итоге: Достигнутая точность результата равна: 10.e-13 Максимальное расхождение с CPU — 0.000000000000045. Скорость увеличена в сравнении с CPU в 4.75 раза. Скорость увеличена в сравнении с Math.Sin и Math.Cos в 2.6 раза. Для теста использовал процессор Intel Core-i7 6950X Extreme 3.0 ГГц. Исходный текст на Delphi встроен в комментарии к ассемблеру. Читать дальше → Read more