]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/abs.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[thirdparty/man-pages.git] / man3 / abs.3
CommitLineData
fea681da
MK
1.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
2.\"
93015253 3.\" %%%LICENSE_START(VERBATIM)
fea681da
MK
4.\" Permission is granted to make and distribute verbatim copies of this
5.\" manual provided the copyright notice and this permission notice are
6.\" preserved on all copies.
7.\"
8.\" Permission is granted to copy and distribute modified versions of this
9.\" manual under the conditions for verbatim copying, provided that the
10.\" entire resulting derived work is distributed under the terms of a
11.\" permission notice identical to this one.
c13182ef 12.\"
fea681da
MK
13.\" Since the Linux kernel and libraries are constantly changing, this
14.\" manual page may be incorrect or out-of-date. The author(s) assume no
15.\" responsibility for errors or omissions, or for damages resulting from
16.\" the use of the information contained herein. The author(s) may not
17.\" have taken the same level of care in the production of this manual,
18.\" which is licensed free of charge, as they might when working
19.\" professionally.
c13182ef 20.\"
fea681da
MK
21.\" Formatted or processed versions of this manual, if unaccompanied by
22.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 23.\" %%%LICENSE_END
fea681da
MK
24.\"
25.\" References consulted:
26.\" Linux libc source code
27.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
28.\" 386BSD man pages
29.\" Modified Mon Mar 29 22:31:13 1993, David Metcalfe
30.\" Modified Sun Jun 6 23:27:50 1993, David Metcalfe
31.\" Modified Sat Jul 24 21:45:37 1993, Rik Faith (faith@cs.unc.edu)
32.\" Modified Sat Dec 16 15:02:59 2000, Joseph S. Myers
33.\"
97986708 34.TH ABS 3 2016-03-15 "GNU" "Linux Programmer's Manual"
fea681da
MK
35.SH NAME
36abs, labs, llabs, imaxabs \- compute the absolute value of an integer
37.SH SYNOPSIS
38.nf
39.B #include <stdlib.h>
68e4db0a 40.PP
fea681da 41.BI "int abs(int " j );
fea681da 42.BI "long int labs(long int " j );
fea681da 43.BI "long long int llabs(long long int " j );
f90f031e 44
fea681da 45.B #include <inttypes.h>
68e4db0a 46.PP
fea681da
MK
47.BI "intmax_t imaxabs(intmax_t " j );
48.fi
68e4db0a 49.PP
cc4615cc
MK
50.in -4n
51Feature Test Macro Requirements for glibc (see
52.BR feature_test_macros (7)):
53.in
68e4db0a 54.PP
e0a98111 55.ad l
cc4615cc 56.BR llabs ():
e0a98111 57.RS 4
e464f054 58_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
c9f2ff9d 59.RE
e0a98111 60.ad
fea681da 61.SH DESCRIPTION
60a90ecd
MK
62The
63.BR abs ()
64function computes the absolute value of the integer
c13182ef 65argument \fIj\fP.
60a90ecd
MK
66The
67.BR labs (),
68.BR llabs ()
69and
70.BR imaxabs ()
fea681da
MK
71functions compute the absolute value of the argument \fIj\fP of the
72appropriate integer type for the function.
47297adb 73.SH RETURN VALUE
fea681da
MK
74Returns the absolute value of the integer argument, of the appropriate
75integer type for the function.
b6c6e0a3 76.SH ATTRIBUTES
9baacb39
MK
77For an explanation of the terms used in this section, see
78.BR attributes (7).
79.ad l
80.TS
81allbox;
82lb lb lb
83l l l.
84Interface Attribute Value
85T{
b6c6e0a3
PH
86.BR abs (),
87.BR labs (),
88.BR llabs (),
b6c6e0a3 89.BR imaxabs ()
9baacb39
MK
90T} Thread safety MT-Safe
91.TE
92.ad
47297adb 93.SH CONFORMING TO
c5195941 94POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.
33a0ccb2 95.\" POSIX.1 (1996 edition) requires only the
a4401275
MK
96.\" .BR abs ()
97.\" function.
68e1685c 98C89 only
60a90ecd
MK
99includes the
100.BR abs ()
101and
102.BR labs ()
103functions; the functions
104.BR llabs ()
105and
106.BR imaxabs ()
107were added in C99.
fea681da
MK
108.SH NOTES
109Trying to take the absolute value of the most negative integer
110is not defined.
111.PP
60a90ecd
MK
112The
113.BR llabs ()
2de012be 114function is included in glibc since version 2.0.
60a90ecd
MK
115The
116.BR imaxabs ()
117function is included in
fea681da
MK
118glibc since version 2.1.1.
119.PP
60a90ecd
MK
120For
121.BR llabs ()
122to be declared, it may be necessary to define
fea681da
MK
123\fB_ISOC99_SOURCE\fP or \fB_ISOC9X_SOURCE\fP (depending on the
124version of glibc) before including any standard headers.
125.PP
63fe5027 126By default,
60a90ecd 127GCC handles
36ad6ae0
MK
128.BR abs (),
129.BR labs (),
130and (since GCC 3.0)
60a90ecd
MK
131.BR llabs ()
132and
133.BR imaxabs ()
36ad6ae0 134as built-in functions.
47297adb 135.SH SEE ALSO
36268806 136.BR cabs (3),
fea681da
MK
137.BR ceil (3),
138.BR fabs (3),
139.BR floor (3),
140.BR rint (3)