]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/abs.3
abs.3: wfix
[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.\"
8980a500 34.TH ABS 3 2014-08-19 "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>
40.sp
41.BI "int abs(int " j );
42.br
43.BI "long int labs(long int " j );
44.br
45.BI "long long int llabs(long long int " j );
46.sp
47.B #include <inttypes.h>
48.sp
49.BI "intmax_t imaxabs(intmax_t " j );
50.fi
cc4615cc
MK
51.sp
52.in -4n
53Feature Test Macro Requirements for glibc (see
54.BR feature_test_macros (7)):
55.in
56.sp
e0a98111 57.ad l
cc4615cc 58.BR llabs ():
e0a98111 59.RS 4
6c3f0228
MK
60_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
61_POSIX_C_SOURCE\ >=\ 200112L;
e0a98111
MK
62.br
63or
cc4615cc 64.I cc\ -std=c99
c9f2ff9d 65.RE
e0a98111 66.ad
fea681da 67.SH DESCRIPTION
60a90ecd
MK
68The
69.BR abs ()
70function computes the absolute value of the integer
c13182ef 71argument \fIj\fP.
60a90ecd
MK
72The
73.BR labs (),
74.BR llabs ()
75and
76.BR imaxabs ()
fea681da
MK
77functions compute the absolute value of the argument \fIj\fP of the
78appropriate integer type for the function.
47297adb 79.SH RETURN VALUE
fea681da
MK
80Returns the absolute value of the integer argument, of the appropriate
81integer type for the function.
b6c6e0a3
PH
82.SH ATTRIBUTES
83.SS Multithreading (see pthreads(7))
84The
85.BR abs (),
86.BR labs (),
87.BR llabs (),
88and
89.BR imaxabs ()
90functions are thread-safe.
47297adb 91.SH CONFORMING TO
c13182ef 92SVr4, POSIX.1-2001, 4.3BSD, C99.
33a0ccb2 93.\" POSIX.1 (1996 edition) requires only the
a4401275
MK
94.\" .BR abs ()
95.\" function.
68e1685c 96C89 only
60a90ecd
MK
97includes the
98.BR abs ()
99and
100.BR labs ()
101functions; the functions
102.BR llabs ()
103and
104.BR imaxabs ()
105were added in C99.
fea681da
MK
106.SH NOTES
107Trying to take the absolute value of the most negative integer
108is not defined.
109.PP
60a90ecd
MK
110The
111.BR llabs ()
2de012be 112function is included in glibc since version 2.0.
60a90ecd
MK
113The
114.BR imaxabs ()
115function is included in
fea681da
MK
116glibc since version 2.1.1.
117.PP
60a90ecd
MK
118For
119.BR llabs ()
120to be declared, it may be necessary to define
fea681da
MK
121\fB_ISOC99_SOURCE\fP or \fB_ISOC9X_SOURCE\fP (depending on the
122version of glibc) before including any standard headers.
123.PP
60a90ecd 124GCC handles
36ad6ae0
MK
125.BR abs (),
126.BR labs (),
127and (since GCC 3.0)
60a90ecd
MK
128.BR llabs ()
129and
130.BR imaxabs ()
36ad6ae0 131as built-in functions.
47297adb 132.SH SEE ALSO
36268806 133.BR cabs (3),
fea681da
MK
134.BR ceil (3),
135.BR fabs (3),
136.BR floor (3),
137.BR rint (3)