summaryrefslogtreecommitdiffstats
path: root/man3/abs.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/abs.3')
-rw-r--r--man3/abs.380
1 files changed, 80 insertions, 0 deletions
diff --git a/man3/abs.3 b/man3/abs.3
new file mode 100644
index 000000000..4c60f1d38
--- /dev/null
+++ b/man3/abs.3
@@ -0,0 +1,80 @@
+.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
+.\" 386BSD man pages
+.\" Modified Mon Mar 29 22:31:13 1993, David Metcalfe
+.\" Modified Sun Jun 6 23:27:50 1993, David Metcalfe
+.\" Modified Sat Jul 24 21:45:37 1993, Rik Faith (faith@cs.unc.edu)
+.\" Modified Sat Dec 16 15:02:59 2000, Joseph S. Myers
+.\"
+.TH ABS 3 2000-12-17 "GNU" "Linux Programmer's Manual"
+.SH NAME
+abs, labs, llabs, imaxabs \- compute the absolute value of an integer
+.SH SYNOPSIS
+.nf
+.B #include <stdlib.h>
+.sp
+.BI "int abs(int " j );
+.br
+.BI "long int labs(long int " j );
+.br
+.BI "long long int llabs(long long int " j );
+.sp
+.B #include <inttypes.h>
+.sp
+.BI "intmax_t imaxabs(intmax_t " j );
+.fi
+.SH DESCRIPTION
+The \fBabs()\fP function computes the absolute value of the integer
+argument \fIj\fP. The \fBlabs()\fP, \fBllabs()\fP and \fBimaxabs()\fP
+functions compute the absolute value of the argument \fIj\fP of the
+appropriate integer type for the function.
+.SH "RETURN VALUE"
+Returns the absolute value of the integer argument, of the appropriate
+integer type for the function.
+.SH "CONFORMING TO"
+SVID 3, POSIX.1, BSD 4.3, ISO/IEC 9899 (C99). POSIX.1 (1996 edition) only
+requires the \fBabs()\fP function. ISO/IEC 9899:1990 (C89) only
+includes the \fBabs()\fP and \fBlabs()\fP functions; the functions
+\fBllabs()\fP and \fBimaxabs()\fP were added in C99.
+.SH NOTES
+Trying to take the absolute value of the most negative integer
+is not defined.
+.PP
+The \fBllabs()\fP function is included in glibc since version 2.0, but
+is not in libc5 or libc4. The \fBimaxabs()\fP function is included in
+glibc since version 2.1.1.
+.PP
+For \fBllabs()\fP to be declared, it may be necessary to define
+\fB_ISOC99_SOURCE\fP or \fB_ISOC9X_SOURCE\fP (depending on the
+version of glibc) before including any standard headers.
+.PP
+GCC handles \fBabs()\fP and \fBlabs()\fP as builtin functions. GCC
+3.0 also handles \fBllabs()\fP and \fBimaxabs()\fP as builtins.
+.SH "SEE ALSO"
+.BR ceil (3),
+.BR fabs (3),
+.BR floor (3),
+.BR rint (3)