Можно ли вычислить значение pow (10, x) во время компиляции?
У меня есть процессор без поддержки с плавающей запятой и медленное целочисленное деление. Я пытаюсь выполнить как можно больше вычислений во время компиляции. Я могу резко ускорить одну конкретную функцию, если передать как x
, так и C/pow(10,x)
в качестве аргументов (x и C всегда являются постоянными целыми числами, но они являются разными константами для каждого вызова). Мне интересно, могу ли я сделать эти вызовы функций менее подверженными ошибкам, введя макрос, который делает 1/pow(10,x)
автоматически, вместо того, чтобы заставить программиста его вычислить?
Есть ли препроцессорный трюк? Могу ли я заставить компилятор оптимизировать вызов библиотеки?