diff options
Diffstat (limited to 'src/stdlib/llabs.c')
| -rw-r--r-- | src/stdlib/llabs.c | 15 |
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) */ |
