]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/frexp.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[thirdparty/man-pages.git] / man3 / frexp.3
index e5fc4f9e1814fbd6a086ff06c90b84cb4e181442..5d33712e0af6130e73cb386abb12728f1bf4de2a 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" 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.
@@ -19,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" References consulted:
 .\"     Linux libc source code
 .\" Modified 2002-07-27 by Walter Harms
 .\"    (walter.harms@informatik.uni-oldenburg.de)
 .\"
-.TH FREXP 3 2008-10-29 "" "Linux Programmer's Manual"
+.TH FREXP 3 2017-09-15 "" "Linux Programmer's Manual"
 .SH NAME
 frexp, frexpf, frexpl \- convert floating-point number to fractional
 and integral components
 .SH SYNOPSIS
 .nf
 .B #include <math.h>
-.sp
+.PP
 .BI "double frexp(double " x ", int *" exp );
-.br
 .BI "float frexpf(float " x ", int *" exp );
-.br
 .BI "long double frexpl(long double " x ", int *" exp );
 .fi
-.sp
+.PP
 Link with \fI\-lm\fP.
-.sp
+.PP
 .in -4n
 Feature Test Macro Requirements for glibc (see
 .BR feature_test_macros (7)):
 .in
-.sp
+.PP
 .ad l
 .BR frexpf (),
 .BR frexpl ():
-_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE; or
-.I cc\ -std=c99
-.ad b
+.RS 4
+_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
+    || /* Since glibc 2.19: */ _DEFAULT_SOURCE
+    || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.RE
+.ad
 .SH DESCRIPTION
-The
-.BR frexp ()
-function is used to split the number \fIx\fP into a
-normalized fraction and an exponent which is stored in \fIexp\fP.
-.SH "RETURN VALUE"
-The
-.BR frexp ()
-function returns the normalized fraction.
-If the argument \fIx\fP is not zero,
-the normalized fraction is \fIx\fP times a power of two,
+These functions are used to split the number
+.I x
+into a
+normalized fraction and an exponent which is stored in
+.IR exp .
+.SH RETURN VALUE
+These functions return the normalized fraction.
+If the argument
+.I x
+is not zero,
+the normalized fraction is
+.I x
+times a power of two,
 and its absolute value is always in the range 1/2 (inclusive) to
 1 (exclusive), that is, [0.5,1).
-
-If \fIx\fP is zero, then the normalized fraction is
-zero and zero is stored in \fIexp\fP.
-
+.PP
+If
+.I x
+is zero, then the normalized fraction is
+zero and zero is stored in
+.IR exp .
+.PP
 If
 .I x
 is a NaN,
 a NaN is returned, and the value of
 .I *exp
 is unspecified.
-
+.PP
 If
 .I x
 is positive infinity (negative infinity),
@@ -88,26 +97,41 @@ positive infinity (negative infinity) is returned, and the value of
 is unspecified.
 .SH ERRORS
 No errors occur.
-.SH "CONFORMING TO"
-C99, POSIX.1-2001.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR frexp (),
+.BR frexpf (),
+.BR frexpl ()
+T}     Thread safety   MT-Safe
+.TE
+.SH CONFORMING TO
+C99, POSIX.1-2001, POSIX.1-2008.
+.PP
 The variant returning
 .I double
 also conforms to
 SVr4, 4.3BSD, C89.
 .SH EXAMPLE
 The program below produces results such as the following:
-.sp
-.nf
+.PP
 .in +4n
+.EX
 .RB "$" " ./a.out 2560"
 frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560
 .RB "$" " ./a.out \-4"
-frexp(\-4, &e) = \-0.5: \-0.5 * 2^3 = -4
+frexp(\-4, &e) = \-0.5: \-0.5 * 2^3 = \-4
+.EE
 .in
-.fi
 .SS Program source
 \&
-.nf
+.EX
 #include <math.h>
 #include <float.h>
 #include <stdio.h>
@@ -125,8 +149,8 @@ main(int argc, char *argv[])
     printf("frexp(%g, &e) = %g: %g * %d^%d = %g\\n",
            x, r, r, FLT_RADIX, exp, x);
     exit(EXIT_SUCCESS);
-} /* main */
-.fi
-.SH "SEE ALSO"
+}
+.EE
+.SH SEE ALSO
 .BR ldexp (3),
 .BR modf (3)