diff options
author | Antonio Sanchez <cantonios@google.com> | 2020-12-11 14:34:31 -0800 |
---|---|---|
committer | Antonio Sanchez <cantonios@google.com> | 2020-12-11 14:34:31 -0800 |
commit | c6efc4e0ba4b9acb8f99e6e976d4853bedc21db5 (patch) | |
tree | 2324384da59139bc1d91f25e3283d6b5417b046e /test/packetmath.cpp | |
parent | e82722a4a7d69c31155c0de9ccee2c955323b620 (diff) |
Replace M_LOG2E and M_LN2 with custom macros.
For these to exist we would need to define `_USE_MATH_DEFINES` before
`cmath` or `math.h` is first included. However, we don't
control the include order for projects outside Eigen, so even defining
the macro in `Eigen/Core` does not fix the issue for projects that
end up including `<cmath>` before Eigen does (explicitly or transitively).
To fix this, we define `EIGEN_LOG2E` and `EIGEN_LN2` ourselves.
Diffstat (limited to 'test/packetmath.cpp')
-rw-r--r-- | test/packetmath.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp index 0e49d93a9..f19d72502 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -495,7 +495,7 @@ void packetmath() { // c++11 has std::log2 for real, but not for complex types. template <typename Scalar> Scalar log2(Scalar x) { - return Scalar(M_LOG2E) * std::log(x); + return Scalar(EIGEN_LOG2E) * std::log(x); } template <typename Scalar, typename Packet> |