Всем привет. Есть код, который, который делает вот так:
for (unsigned int k = 0; k < 50000; ++k) {
            float curSample = (float)samples.get()[k];
            complexSamples.get()[2 * k] = mycos((float)k*K)*curSample;
            complexSamples.get()[2 * k + 1] = mysin((float)k*K)*curSample;
        }
И это выполняется ну ооочень долго.
Если делать так:
inline float mysin(const float& x) {
    float x3 = x*x*x;
    return x - x3/6 + x3*x*x/120 - x3*x3*x/5040;
}
inline float mycos(const float& x) {
    float _sin = mysin(x);
    return sqrt(1-_sin*_sin);
}
, то время более-менее сокращается, но опять же не устраивает.
Табличный метод почему-то работает медленнее серии Тейлора.
Хочется, чтобы этот код мог вызываться по 500 раз в секунду и успевать работать долгое время на Intel Xeon 1220l v3.






