Библиотека C ++ для целочисленной тригонометрии, скорость оптимизирована с помощью дополнительных приближений?

Я дошел до того момента в проекте, когда имеет больше смысла начать создавать некоторые вспомогательные классы для векторов и разной тригонометрии, чем продолжать использовать специальные функции. Я ожидаю, что для этого будет много библиотек C ++, но я не хочу жертвовать скоростью и функциями, к которым я привык.

В частности, я хочу иметь возможность использовать целочисленные углы, и я хочу сохранить невероятную скорость, обеспечиваемую такими приближениями:

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);
}

Итак, прежде чем я напрасно разверну свой собственный, есть ли какие-нибудь действительно быстрые библиотеки с фиксированной точкой для c ++ с шаблонными классами, такими как векторы, где я могу указать ширину используемого целого числа и который имеет быстрые приближения, такие как приведенное выше, на которое я должен смотреть?

13
задан porgarmingduod 22 November 2011 в 09:53
поделиться