diff options
author | Antonio Sanchez <cantonios@google.com> | 2021-02-26 15:25:00 -0800 |
---|---|---|
committer | David Tellenbach <david.tellenbach@me.com> | 2021-02-27 21:32:06 +0000 |
commit | c65c2b31d49adea63d31e3ea8f5685a47018e682 (patch) | |
tree | 4bdac396ca186a374de6c86133ab1dd6dd7202b2 /test | |
parent | 39a590dfb66db999ace422be51513c0f04939f09 (diff) |
Make half/bfloat16 constructor take inputs by value, fix powerpc test.
Since `numeric_limits<half>::max_exponent` is a static inline constant,
it cannot be directly passed by reference. This triggers a linker error
in recent versions of `g++-powerpc64le`.
Changing `half` to take inputs by value fixes this. Wrapping
`max_exponent` with `int(...)` to make an addressable integer also fixes this
and may help with other custom `Scalar` types down-the-road.
Also eliminated some compile warnings for powerpc.
Diffstat (limited to 'test')
-rw-r--r-- | test/array_cwise.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/array_cwise.cpp b/test/array_cwise.cpp index 92abf6968..6a88e0e27 100644 --- a/test/array_cwise.cpp +++ b/test/array_cwise.cpp @@ -25,7 +25,7 @@ void pow_test() { 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>(std::numeric_limits<Scalar>::max_exponent) * Scalar(EIGEN_LN2)) / eps; + const Scalar max_exp = (static_cast<Scalar>(int(std::numeric_limits<Scalar>::max_exponent)) * Scalar(EIGEN_LN2)) / eps; const static Scalar abs_vals[] = {zero, denorm_min, |