summaryrefslogtreecommitdiffstats
path: root/man3/remainder.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/remainder.3')
-rw-r--r--man3/remainder.3101
1 files changed, 101 insertions, 0 deletions
diff --git a/man3/remainder.3 b/man3/remainder.3
new file mode 100644
index 000000000..34fad7e53
--- /dev/null
+++ b/man3/remainder.3
@@ -0,0 +1,101 @@
+.\" 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 1993-07-24 by Rik Faith (faith@cs.unc.edu)
+.\" Modified 2002-08-10 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
+.\" Modified 2003-11-18, 2004-10-05 aeb
+.\"
+.TH REMAINDER 3 2003-11-18 "" "Linux Programmer's Manual"
+.SH NAME
+drem, dremf, dreml, remainder, remainderf, remainderl \- floating-point remainder function
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.sp
+/* The C99 versions */
+.BI "double remainder(double " x ", double " y );
+.BI "float remainderf(float " x ", float " y );
+.BI "long double remainderl(long double " x ", long double " y );
+.sp
+/* Obsolete synonyms */
+.BI "double drem(double " x ", double " y );
+.BI "float dremf(float " x ", float " y );
+.BI "long double dreml(long double " x ", long double " y );
+.sp
+.fi
+Link with \-lm.
+.SH DESCRIPTION
+The
+.B remainder()
+function computes the remainder of dividing
+.I x
+by
+.IR y .
+The return value is
+.IR x " - " n " * " y ,
+where
+.I n
+is the value
+.IR x " / " y ,
+rounded to the nearest integer.
+If this quotient is 1/2 (mod 1), it is rounded to the nearest even number
+(independent of the current rounding mode).
+If the return value is 0, it has the sign of
+.IR x .
+.LP
+The
+.B drem()
+function does precisely the same thing.
+.SH "RETURN VALUE"
+The
+.B remainder()
+function returns the remainder, unless
+.I y
+is zero, when the function fails and
+.I errno
+is set.
+.SH ERRORS
+.TP
+.B EDOM
+The denominator
+.I y
+is zero.
+.SH "CONFORMING TO"
+IEC 60559. The three
+.B remainder*()
+functions are from C99.
+The function
+.B drem()
+is from BSD 4.3. The float and long double variants
+.B dremf()
+and
+.B dreml()
+exist on some systems, such as Tru64 and glibc2.
+.SH EXAMPLE
+The call "remainder(29.0, 3.0)" returns \-1.
+.SH "SEE ALSO"
+.BR fmod (3)