mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-16 14:49:39 +08:00
Fix MSVC atan2 test.
This commit is contained in:
parent
2dfbf1b251
commit
c15b386203
@ -100,7 +100,18 @@ void binary_ops_test() {
|
||||
[](const auto& x, const auto& y) { return std::pow(x, y); });
|
||||
binary_op_test<Scalar>("atan2",
|
||||
[](const auto& x, const auto& y) { return Eigen::atan2(x, y); },
|
||||
[](const auto& x, const auto& y) { return std::atan2(x, y); });
|
||||
[](const auto& x, const auto& y) {
|
||||
auto t = std::atan2(x, y);
|
||||
#if EIGEN_COMP_MSVC
|
||||
// Work around MSVC return value on underflow.
|
||||
// |atan(y/x)| is bounded above by |y/x|, so on underflow return y/x according to POSIX spec.
|
||||
// MSVC otherwise returns denorm_min.
|
||||
if (EIGEN_PREDICT_FALSE(std::abs(t) == std::numeric_limits<decltype(t)>::denorm_min())) {
|
||||
return x/y;
|
||||
}
|
||||
#endif
|
||||
return t;
|
||||
});
|
||||
}
|
||||
|
||||
template <typename Scalar>
|
||||
|
Loading…
x
Reference in New Issue
Block a user