Тригонометрия времени компиляции в C

В настоящее время у меня есть код, который выглядит

while (very_long_loop) {
    ...
    y1 = getSomeValue();
    ...
    x1 = y1*cos(PI/2);
    x2 = y2*cos(SOME_CONSTANT);
    ...
    outputValues(x1, x2, ...);
}

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

Изменить: Я знаю, что C не имеет оценки времени компиляции, но я был надеясь, что это был какой-то странный и уродливый способ сделать это с помощью макросов.

6
задан lhahne 9 January 2011 в 09:11
поделиться