File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -29,17 +29,29 @@ namespace __math {
29
29
// signbit
30
30
31
31
template <class _A1 , __enable_if_t <is_floating_point<_A1>::value, int > = 0 >
32
- _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool signbit (_A1 __x) _NOEXCEPT {
32
+ _LIBCPP_NODISCARD inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool signbit (_A1 __x) _NOEXCEPT {
33
+ return __builtin_signbit (__x);
34
+ }
35
+
36
+ _LIBCPP_NODISCARD inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool signbit (float __x) _NOEXCEPT {
37
+ return __builtin_signbit (__x);
38
+ }
39
+
40
+ _LIBCPP_NODISCARD inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool signbit (double __x) _NOEXCEPT {
41
+ return __builtin_signbit (__x);
42
+ }
43
+
44
+ _LIBCPP_NODISCARD inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool signbit (long double __x) _NOEXCEPT {
33
45
return __builtin_signbit (__x);
34
46
}
35
47
36
48
template <class _A1 , __enable_if_t <is_integral<_A1>::value && is_signed<_A1>::value, int > = 0 >
37
- _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool signbit (_A1 __x) _NOEXCEPT {
49
+ _LIBCPP_NODISCARD inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool signbit (_A1 __x) _NOEXCEPT {
38
50
return __x < 0 ;
39
51
}
40
52
41
53
template <class _A1 , __enable_if_t <is_integral<_A1>::value && !is_signed<_A1>::value, int > = 0 >
42
- _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool signbit (_A1) _NOEXCEPT {
54
+ _LIBCPP_NODISCARD inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool signbit (_A1) _NOEXCEPT {
43
55
return false ;
44
56
}
45
57
You can’t perform that action at this time.
0 commit comments