summaryrefslogtreecommitdiff
path: root/src/stdlib/llabs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/llabs.c')
-rw-r--r--src/stdlib/llabs.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/stdlib/llabs.c b/src/stdlib/llabs.c
index 6ccf9c49..9fc00ab6 100644
--- a/src/stdlib/llabs.c
+++ b/src/stdlib/llabs.c
@@ -1,19 +1,24 @@
#include <stdlib.h>
#include "limits.h"
+/** absolute value **/
+
long long int llabs(long long int j)
{
if (j == LLONG_MIN) {
/* undefined */
+ return LLONG_MIN;
}
- if (j < 0) {
- return -j;
- }
-
- return j;
+ return j < 0 ? -j : j;
}
+/***
+computes the absolute value of ARGUMENT(j).
+***/
+
/*
+UNDEFINED(ABS(ARGUMENT(j)) cannot be represented
+RETURN_SUCCESS(ABS(ARGUMENT(j))
STDC(199901)
*/