aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2015-11-17 02:31:11 +0100
committerMattias Andrée <maandree@operamail.com>2015-11-17 02:31:11 +0100
commitae942840140e38835e562e8d235578c017d00766 (patch)
treef71696eba1addd25ad0393926a3f0787f26a2e98 /include
parentsplit abs.c (diff)
downloadslibc-ae942840140e38835e562e8d235578c017d00766.tar.gz
slibc-ae942840140e38835e562e8d235578c017d00766.tar.bz2
slibc-ae942840140e38835e562e8d235578c017d00766.tar.xz
add macros for abs, labs, llabs, and imaxabs
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--include/inttypes.h3
-rw-r--r--include/stdlib.h9
2 files changed, 8 insertions, 4 deletions
diff --git a/include/inttypes.h b/include/inttypes.h
index 9463412..d99b334 100644
--- a/include/inttypes.h
+++ b/include/inttypes.h
@@ -57,8 +57,9 @@ imaxdiv_t imaxdiv(intmax_t, intmax_t)
* @param value The integer.
* @return The absolute value of the integer.
*/
-intmax_t imaxabs(intmax_t)
+intmax_t (imaxabs)(intmax_t)
__GCC_ONLY(__attribute__((__const__)));
+#define imaxabs(value) ((intmax_t)value < 0 ? -(intmax_t)value : (intmax_t)value)
diff --git a/include/stdlib.h b/include/stdlib.h
index fe0c5f7..075d3a4 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -107,8 +107,9 @@ lldiv_t lldiv(long long, long long)
* @param value The integer.
* @return The absolute value of the integer.
*/
-int abs(int)
+int (abs)(int)
__GCC_ONLY(__attribute__((__const__)));
+#define abs(value) ((int)value < 0 ? -(int)value : (int)value)
/**
* Return the absolute value of an integer.
@@ -121,8 +122,9 @@ int abs(int)
* @param value The integer.
* @return The absolute value of the integer.
*/
-long int labs(long int)
+long int (labs)(long int)
__GCC_ONLY(__attribute__((__const__)));
+#define labs(value) ((long int)value < 0 ? -(long int)value : (long int)value)
/**
* Return the absolute value of an integer.
@@ -135,8 +137,9 @@ long int labs(long int)
* @param value The integer.
* @return The absolute value of the integer.
*/
-long long int llabs(long long int)
+long long int (llabs)(long long int)
__GCC_ONLY(__attribute__((__const__)));
+#define llabs(value) ((long long int)value < 0 ? -(long long int)value : (long long int)value)
#if !defined(__PORTABLE)