Я достиг точки в проекте, где имеет смысл начать строить некоторые классы поддержки для векторов и разной тригонометрии, чем продолжать использовать специальные функции. Я ожидаю, что для этого будет много библиотек С++, но я не хочу жертвовать скоростью и функциями, к которым я привык.
В частности, я хочу иметь возможность использовать целые углы, и я хочу сохранить сверкающую скорость, обеспечиваемую такими приближениями:
static inline int32_t sin_approx(int32_t angle)
//Angle is -32768 to 32767: Return -32768 to 32767
{
return (angle<<1) - ((angle*abs(angle))>>14);
}
Итак, до того, как я без лишних усилий откажусь от своего собственного, существуют ли действительно быстрые библиотеки с фиксированной точкой для С++ с такими классами шаблонов, как векторы, где я могу указать ширину используемого целого числа и который имеет быструю аппроксимацию, такую как приведенная выше, что я должен выглядеть?