30 #ifndef _GLIBCXX_BITS_STD_ABS_H
31 #define _GLIBCXX_BITS_STD_ABS_H
33 #pragma GCC system_header
37 #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
38 #include_next <stdlib.h>
39 #ifdef __CORRECT_ISO_CPP_MATH_H_PROTO
40 # include_next <math.h>
42 #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
48 namespace std _GLIBCXX_VISIBILITY(default)
50 _GLIBCXX_BEGIN_NAMESPACE_VERSION
54 #ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO
56 abs(
long __i) {
return __builtin_labs(__i); }
59 #ifdef _GLIBCXX_USE_LONG_LONG
61 abs(
long long __x) {
return __builtin_llabs (__x); }
68 #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
69 inline _GLIBCXX_CONSTEXPR
double
71 {
return __builtin_fabs(__x); }
73 inline _GLIBCXX_CONSTEXPR
float
75 {
return __builtin_fabsf(__x); }
77 inline _GLIBCXX_CONSTEXPR
long double
79 {
return __builtin_fabsl(__x); }
82 #if defined(__GLIBCXX_TYPE_INT_N_0)
83 inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_0
84 abs(__GLIBCXX_TYPE_INT_N_0 __x) {
return __x >= 0 ? __x : -__x; }
86 #if defined(__GLIBCXX_TYPE_INT_N_1)
87 inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_1
88 abs(__GLIBCXX_TYPE_INT_N_1 __x) {
return __x >= 0 ? __x : -__x; }
90 #if defined(__GLIBCXX_TYPE_INT_N_2)
91 inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_2
92 abs(__GLIBCXX_TYPE_INT_N_2 __x) {
return __x >= 0 ? __x : -__x; }
94 #if defined(__GLIBCXX_TYPE_INT_N_3)
95 inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_3
96 abs(__GLIBCXX_TYPE_INT_N_3 __x) {
return __x >= 0 ? __x : -__x; }
99 #if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128)
100 inline _GLIBCXX_CONSTEXPR
103 {
return __x < 0 ? -__x : __x; }
106 _GLIBCXX_END_NAMESPACE_VERSION
110 #endif // _GLIBCXX_BITS_STD_ABS_H
_Tp abs(const complex< _Tp > &)
Return magnitude of z.