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
48namespace 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); }
69#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO
70 inline _GLIBCXX_CONSTEXPR
double
72 {
return __builtin_fabs(__x); }
74 inline _GLIBCXX_CONSTEXPR
float
76 {
return __builtin_fabsf(__x); }
78 inline _GLIBCXX_CONSTEXPR
long double
80 {
return __builtin_fabsl(__x); }
83#if defined(__GLIBCXX_TYPE_INT_N_0)
84 __extension__
inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_0
85 abs(__GLIBCXX_TYPE_INT_N_0 __x) {
return __x >= 0 ? __x : -__x; }
87#if defined(__GLIBCXX_TYPE_INT_N_1)
88 __extension__
inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_1
89 abs(__GLIBCXX_TYPE_INT_N_1 __x) {
return __x >= 0 ? __x : -__x; }
91#if defined(__GLIBCXX_TYPE_INT_N_2)
92 __extension__
inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_2
93 abs(__GLIBCXX_TYPE_INT_N_2 __x) {
return __x >= 0 ? __x : -__x; }
95#if defined(__GLIBCXX_TYPE_INT_N_3)
96 __extension__
inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_3
97 abs(__GLIBCXX_TYPE_INT_N_3 __x) {
return __x >= 0 ? __x : -__x; }
100#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128)
101 __extension__
inline _GLIBCXX_CONSTEXPR
104 {
return __x < 0 ? -__x : __x; }
107_GLIBCXX_END_NAMESPACE_VERSION
_Tp abs(const complex< _Tp > &)
Return magnitude of z.
ISO C++ entities toplevel namespace is std.