1#pragma once 2 3#if __cplusplus >= 201703L 4extern int abs (int __x) throw() __attribute__ ((__const__)) ; 5extern long int labs (long int __x) throw() __attribute__ ((__const__)) ; 6extern float fabs (float __x) throw() __attribute__ ((__const__)) ; 7#else 8extern int abs (int __x) __attribute__ ((__const__)) ; 9extern long int labs (long int __x) __attribute__ ((__const__)) ; 10extern float fabs (float __x) __attribute__ ((__const__)) ; 11#endif 12 13namespace std 14{ 15 16using ::abs; 17 18inline long 19abs(long __i) { return __builtin_labs(__i); } 20 21inline long long 22abs(long long __x) { return __builtin_llabs (__x); } 23} 24