Fixed clang-cl errors on Windows native builds.
Partially resolves MLCE-739
Change-Id: Ice06a96d6a8a26b31e334ba4e697cd41d352b026
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7364
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/support/ToolchainSupport.h b/support/ToolchainSupport.h
index 8ea50eb..0557d1d 100644
--- a/support/ToolchainSupport.h
+++ b/support/ToolchainSupport.h
@@ -297,7 +297,7 @@
template <typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
inline bool isfinite(T value)
{
- return std::isfinite(value);
+ return std::isfinite(static_cast<double>(value));
}
inline bool isfinite(half_float::half value)
@@ -310,12 +310,11 @@
return std::isfinite(float(value));
}
-#if !defined(_WIN64)
// std::signbit
template <typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value>::type>
inline bool signbit(T value)
{
- return std::signbit(value);
+ return std::signbit(static_cast<double>(value));
}
inline bool signbit(half_float::half value)
@@ -327,7 +326,6 @@
{
return std::signbit(float(value));
}
-#endif // !defined(_WIN64)
} // namespace cpp11
} // namespace support
} // namespace arm_compute