.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
-.TH SCALBLN 3 2010-09-20 "" "Linux Programmer's Manual"
+.TH SCALBLN 3 2017-09-15 "" "Linux Programmer's Manual"
.SH NAME
scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl \-
multiply floating-point number by integral power of radix
.SH SYNOPSIS
.B #include <math.h>
-.sp
+.PP
.BI "double scalbln(double " x ", long int " exp );
.br
.BI "float scalblnf(float " x ", long int " exp );
.br
.BI "long double scalblnl(long double " x ", long int " exp );
-.sp
+.PP
.BI "double scalbn(double " x ", int " exp );
.br
.BI "float scalbnf(float " x ", int " exp );
.br
.BI "long double scalbnl(long double " x ", int " exp );
-.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 scalbln (),
.BR scalblnf (),
.BR scalblnl ():
.RS
-_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
-_POSIX_C_SOURCE\ >=\ 200112L;
-.br
-or
-.I cc\ -std=c99
+_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
+ || /* Since glibc 2.19: */ _DEFAULT_SOURCE
.RE
.br
.BR scalbn (),
.BR scalbnf (),
.BR scalbnl ():
.RS
-_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
-_POSIX_C_SOURCE\ >=\ 200112L;
-.br
-or
-.I cc\ -std=c99
+_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
+ || /* Since glibc 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.RE
.ad b
.SH DESCRIPTION
to the power of
.IR exp ,
that is:
+.PP
.nf
-
x * FLT_RADIX ** exp
.fi
-
+.PP
The definition of
.B FLT_RADIX
can be obtained by including
.\" not in /usr/include but in a gcc lib
.SH RETURN VALUE
On success, these functions return
-.IR x
+.IR x
*
.B FLT_RADIX
**
.IR exp .
-
+.PP
If
.I x
is a NaN, a NaN is returned.
-
+.PP
If
.I x
is positive infinity (negative infinity),
positive infinity (negative infinity) is returned.
-
+.PP
If
.I x
is +0 (\-0), +0 (\-0) is returned.
-
+.PP
If the result overflows,
a range error occurs,
and the functions return
.BR HUGE_VALL ,
respectively, with a sign the same as
.IR x .
-
+.PP
If the result underflows,
a range error occurs,
and the functions return zero, with a sign the same as
.SH VERSIONS
These functions first appeared in glibc in version 2.1.
.SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw33 lb lb
+l l l.
+Interface Attribute Value
+T{
.BR scalbn (),
.BR scalbnf (),
.BR scalbnl (),
+.br
.BR scalbln (),
.BR scalblnf (),
-and
.BR scalblnl ()
-functions are thread-safe.
+T} Thread safety MT-Safe
+.TE
.SH CONFORMING TO
-C99, POSIX.1-2001.
+C99, POSIX.1-2001, POSIX.1-2008.
.SH NOTES
These functions differ from the obsolete functions described in
.BR scalb (3)
.BR scalb (3)
have a second argument of type
.IR double .
-
+.PP
If
.B FLT_RADIX
equals 2 (which is usual), then