В настоящее время у меня есть код, который выглядит
while (very_long_loop) {
...
y1 = getSomeValue();
...
x1 = y1*cos(PI/2);
x2 = y2*cos(SOME_CONSTANT);
...
outputValues(x1, x2, ...);
}
, очевидная оптимизация заключалась бы в предварительном вычислении косинусов. Я мог бы сделать это, заполнив массив значениями, но мне было интересно, можно ли заставить компилятор вычислять их во время компиляции?
Изменить: Я знаю, что C не имеет оценки времени компиляции, но я был надеясь, что это был какой-то странный и уродливый способ сделать это с помощью макросов.