home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | CONFORMING TO | NOTES | SEE ALSO | COLOPHON


ABS(3)                        Linux Programmer's Manual                        ABS(3)

NAME         top

       abs, labs, llabs, imaxabs - compute the absolute value of an integer

SYNOPSIS         top

       #include <stdlib.h>

       int abs(int j);
       long int labs(long int j);
       long long int llabs(long long int j);

       #include <inttypes.h>

       intmax_t imaxabs(intmax_t j);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       llabs(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99

DESCRIPTION         top

       The abs() function computes the absolute value of the integer argument j.  The
       labs(), llabs() and imaxabs() functions compute the absolute value of the
       argument j of the appropriate integer type for the function.

RETURN VALUE         top

       Returns the absolute value of the integer argument, of the appropriate integer
       type for the function.

CONFORMING TO         top

       SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 only includes the abs() and labs()
       functions; the functions llabs() and imaxabs() were added in C99.

NOTES         top

       Trying to take the absolute value of the most negative integer is not defined.

       The llabs() function is included in glibc since version 2.0, but is not in
       libc5 or libc4.  The imaxabs() function is included in glibc since version
       2.1.1.

       For llabs() to be declared, it may be necessary to define _ISOC99_SOURCE or
       _ISOC9X_SOURCE (depending on the version of glibc) before including any
       standard headers.

       GCC handles abs() and labs() as built-in functions.  GCC 3.0 also handles
       llabs() and imaxabs() as built-ins.

SEE ALSO         top

       cabs(3), ceil(3), fabs(3), floor(3), rint(3)

COLOPHON         top

       This page is part of release 3.23 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

GNU                                   2007-07-26                               ABS(3)