diff --git a/src/Magnum/Math/Complex.h b/src/Magnum/Math/Complex.h index 21e221e4a..c3b792149 100644 --- a/src/Magnum/Math/Complex.h +++ b/src/Magnum/Math/Complex.h @@ -369,14 +369,7 @@ template class Complex { * @f] * @see @ref isNormalized() */ - T length() const { - /** @todo Remove when newlib has this fixed */ - #ifndef CORRADE_TARGET_ANDROID - return std::hypot(_real, _imaginary); - #else - return std::sqrt(dot()); - #endif - } + T length() const { return std::hypot(_real, _imaginary); } /** * @brief Normalized complex number (of unit length) diff --git a/src/Magnum/Math/Functions.h b/src/Magnum/Math/Functions.h index b40d73fab..6dbae4903 100644 --- a/src/Magnum/Math/Functions.h +++ b/src/Magnum/Math/Functions.h @@ -459,22 +459,12 @@ template Vector floor(const Vector& template inline T round(const T& a); #else template inline typename std::enable_if::value, T>::type round(T a) { - /** @todo Remove when newlib has this fixed */ - #ifndef CORRADE_TARGET_ANDROID return std::round(a); - #else - return (a > T(0)) ? std::floor(a + T(0.5)) : std::ceil(a - T(0.5)); - #endif } template Vector round(const Vector& a) { Vector out{NoInit}; - for(std::size_t i = 0; i != size; ++i) { - #ifndef CORRADE_TARGET_ANDROID + for(std::size_t i = 0; i != size; ++i) out[i] = std::round(a[i]); - #else - out[i] = round(a[i]); - #endif - } return out; } #endif @@ -609,11 +599,9 @@ doing the computation manually. template inline T fma(const T& a, const T& b, const T& c); #else template inline typename std::enable_if::value, T>::type fma(T a, T b, T c) { - /** @todo Remove when newlib has this fixed */ /* On Emscripten it works with -O2 but not with -O1 (function not defined). - I guess that's only because -O2 optimizes it out, so disabling it there - also */ - #if !defined(CORRADE_TARGET_ANDROID) && !defined(CORRADE_TARGET_EMSCRIPTEN) + I guess that's only because -O2 optimizes it out, so disabling it there. */ + #ifndef CORRADE_TARGET_EMSCRIPTEN return std::fma(a, b, c); #else return a*b + c;