From c702264762e2d349209a2e474e2992bd090ab1a9 Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Fri, 4 Nov 2022 17:01:22 +0100 Subject: [PATCH] [libc++][math.h] Remove some code duplication Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D137500 --- libcxx/include/math.h | 42 ++---------------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/libcxx/include/math.h b/libcxx/include/math.h index 94b0a61..c4cf661 100644 --- a/libcxx/include/math.h +++ b/libcxx/include/math.h @@ -316,6 +316,7 @@ extern "C++" { # ifdef signbit # undef signbit +# endif // signbit template inline _LIBCPP_HIDE_FROM_ABI typename std::enable_if::value, bool>::type @@ -337,34 +338,11 @@ inline _LIBCPP_HIDE_FROM_ABI return false; } -# elif defined(_LIBCPP_MSVCRT) - -template -inline _LIBCPP_HIDE_FROM_ABI typename std::enable_if::value, bool>::type -signbit(_A1 __x) _NOEXCEPT { - return ::signbit(__x); -} - -template -inline _LIBCPP_HIDE_FROM_ABI - typename std::enable_if< std::is_integral<_A1>::value && std::is_signed<_A1>::value, bool>::type - signbit(_A1 __x) _NOEXCEPT { - return __x < 0; -} - -template -inline _LIBCPP_HIDE_FROM_ABI - typename std::enable_if< std::is_integral<_A1>::value && !std::is_signed<_A1>::value, bool>::type - signbit(_A1) _NOEXCEPT { - return false; -} - -# endif // signbit - // fpclassify # ifdef fpclassify # undef fpclassify +# endif // fpclassify template inline _LIBCPP_HIDE_FROM_ABI typename std::enable_if::value, int>::type @@ -378,22 +356,6 @@ fpclassify(_A1 __x) _NOEXCEPT { return __x == 0 ? FP_ZERO : FP_NORMAL; } -# elif defined(_LIBCPP_MSVCRT) - -template -inline _LIBCPP_HIDE_FROM_ABI typename std::enable_if::value, bool>::type -fpclassify(_A1 __x) _NOEXCEPT { - return ::fpclassify(__x); -} - -template -inline _LIBCPP_HIDE_FROM_ABI typename std::enable_if::value, int>::type -fpclassify(_A1 __x) _NOEXCEPT { - return __x == 0 ? FP_ZERO : FP_NORMAL; -} - -# endif // fpclassify - // isfinite # ifdef isfinite -- 2.7.4