aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2025-05-12 12:56:17 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2025-05-15 16:33:16 +0100
commit270d23c5b201c8e000f60e05d17577498f409441 (patch)
tree725a77a8156cd14392e472c60eb9e29e99ba86b1 /libstdc++-v3
parent6dbcbd96e90159e87a339b98192b7e6e5534b0d7 (diff)
downloadgcc-270d23c5b201c8e000f60e05d17577498f409441.zip
gcc-270d23c5b201c8e000f60e05d17577498f409441.tar.gz
gcc-270d23c5b201c8e000f60e05d17577498f409441.tar.bz2
libstdc++: Micro-optimization in std::arg overload for scalars
Use __builtin_signbit directly instead of std::signbit. libstdc++-v3/ChangeLog: * include/std/complex (arg(T)): Use __builtin_signbit instead of std::signbit. Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/include/std/complex4
1 files changed, 2 insertions, 2 deletions
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index 67f37d4..d9d2d8a 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -2532,8 +2532,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
#if (_GLIBCXX11_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC)
- return std::signbit(__x) ? __type(3.1415926535897932384626433832795029L)
- : __type();
+ return __builtin_signbit(__type(__x))
+ ? __type(3.1415926535897932384626433832795029L) : __type();
#else
return std::arg(std::complex<__type>(__x));
#endif