diff options
author | Antonio Sanchez <cantonios@google.com> | 2021-03-16 20:12:46 -0700 |
---|---|---|
committer | Antonio Sanchez <cantonios@google.com> | 2021-03-16 20:12:46 -0700 |
commit | 8dfe1029a5012774d50bfc39569e49e34d3152e0 (patch) | |
tree | 699510b229742363b7c51d416815de69affaa04a /test/array_cwise.cpp | |
parent | eb71e5db988d4a23e619ed054efd3eb751cdd026 (diff) |
Augment NumTraits with min/max_exponent() again.
Replace usage of `std::numeric_limits<...>::min/max_exponent` in
codebase where possible. Also replaced some other `numeric_limits`
usages in affected tests with the `NumTraits` equivalent.
The previous MR !443 failed for c++03 due to lack of `constexpr`.
Because of this, we need to keep around the `std::numeric_limits`
version in enum expressions until the switch to c++11.
Fixes #2148
Diffstat (limited to 'test/array_cwise.cpp')
-rw-r--r-- | test/array_cwise.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/test/array_cwise.cpp b/test/array_cwise.cpp index 6a88e0e27..1bc8e19f9 100644 --- a/test/array_cwise.cpp +++ b/test/array_cwise.cpp @@ -14,18 +14,18 @@ template<typename Scalar> void pow_test() { const Scalar zero = Scalar(0); - const Scalar eps = std::numeric_limits<Scalar>::epsilon(); + const Scalar eps = Eigen::NumTraits<Scalar>::epsilon(); const Scalar one = Scalar(1); const Scalar two = Scalar(2); const Scalar three = Scalar(3); const Scalar sqrt_half = Scalar(std::sqrt(0.5)); const Scalar sqrt2 = Scalar(std::sqrt(2)); - const Scalar inf = std::numeric_limits<Scalar>::infinity(); - const Scalar nan = std::numeric_limits<Scalar>::quiet_NaN(); + const Scalar inf = Eigen::NumTraits<Scalar>::infinity(); + const Scalar nan = Eigen::NumTraits<Scalar>::quiet_NaN(); const Scalar denorm_min = std::numeric_limits<Scalar>::denorm_min(); const Scalar min = (std::numeric_limits<Scalar>::min)(); const Scalar max = (std::numeric_limits<Scalar>::max)(); - const Scalar max_exp = (static_cast<Scalar>(int(std::numeric_limits<Scalar>::max_exponent)) * Scalar(EIGEN_LN2)) / eps; + const Scalar max_exp = (static_cast<Scalar>(int(Eigen::NumTraits<Scalar>::max_exponent())) * Scalar(EIGEN_LN2)) / eps; const static Scalar abs_vals[] = {zero, denorm_min, @@ -613,7 +613,7 @@ template<typename ArrayType> void min_max(const ArrayType& m) // min/max with various NaN propagation options. if (m1.size() > 1 && !NumTraits<Scalar>::IsInteger) { - m1(0,0) = std::numeric_limits<Scalar>::quiet_NaN(); + m1(0,0) = NumTraits<Scalar>::quiet_NaN(); maxM1 = m1.template maxCoeff<PropagateNaN>(); minM1 = m1.template minCoeff<PropagateNaN>(); VERIFY((numext::isnan)(maxM1)); |