2013/2/21 Ulrich Drepper <drep...@gmail.com>: > How about the attached file as a start for <ext/math>. I used the > constexpr approach (instead of function calls) and replicated the > constants that are available in <math.h> in Unix.
1) In this case I miss the corresponding variable definitions, because you violate the ODR, when you have something like the following: #include <iostream> template<class T> void print(const T& t) { std::cout << t; } int main() { print(__math_constants<double>::__pi); } 2) You need to use either braced initializers *or* using initializers with equal, a parenthesized initializer isn't supported (/brace-or-equal-initializer/). - Daniel