I am trying to do something like:
#include <cmath>
template <unsigned A, unsigned B>
struct fu {
constexpr unsigned long power_A_of_B = std::pow(A, B);
};
But the compiler gives error because pow()
is not constexpr
.
Why are math functions in header <cmath>
not constexpr
?
For example, log()
, log2()
, pow()
, abs()
and fmax()
are not constexpr
but others in <algorithm>
are, such as max()
, min()
and `clamp()'.