This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] C++ math constants


2013/2/21 Ulrich Drepper <drepper@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]