summaryrefslogtreecommitdiffstats
path: root/man3/scalbln.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/scalbln.3')
-rw-r--r--man3/scalbln.3175
1 files changed, 175 insertions, 0 deletions
diff --git a/man3/scalbln.3 b/man3/scalbln.3
new file mode 100644
index 0000000..0651456
--- /dev/null
+++ b/man3/scalbln.3
@@ -0,0 +1,175 @@
+'\" t
+.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
+.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
+.\" <mtk.manpages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH scalbln 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl \-
+multiply floating-point number by integral power of radix
+.SH LIBRARY
+Math library
+.RI ( libm ", " \-lm )
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.BI "double scalbln(double " x ", long " exp );
+.BI "float scalblnf(float " x ", long " exp );
+.BI "long double scalblnl(long double " x ", long " exp );
+.PP
+.BI "double scalbn(double " x ", int " exp );
+.BI "float scalbnf(float " x ", int " exp );
+.BI "long double scalbnl(long double " x ", int " exp );
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR scalbln (),
+.BR scalblnf (),
+.BR scalblnl ():
+.nf
+ _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
+ || /* Since glibc 2.19: */ _DEFAULT_SOURCE
+.fi
+.PP
+.BR scalbn (),
+.BR scalbnf (),
+.BR scalbnl ():
+.nf
+ _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
+ || /* Since glibc 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+.fi
+.SH DESCRIPTION
+These functions multiply their first argument
+.I x
+by
+.B FLT_RADIX
+(probably 2)
+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
+.IR <float.h> .
+.\" not in /usr/include but in a gcc lib
+.SH RETURN VALUE
+On success, these functions return
+.I 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_VAL ,
+.BR HUGE_VALF ,
+or
+.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
+.IR x .
+.SH ERRORS
+See
+.BR math_error (7)
+for information on how to determine whether an error has occurred
+when calling these functions.
+.PP
+The following errors can occur:
+.TP
+Range error, overflow
+.\" .I errno
+.\" is set to
+.\" .BR ERANGE .
+An overflow floating-point exception
+.RB ( FE_OVERFLOW )
+is raised.
+.TP
+Range error, underflow
+.I errno
+is set to
+.BR ERANGE .
+An underflow floating-point exception
+.RB ( FE_UNDERFLOW )
+is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR scalbn (),
+.BR scalbnf (),
+.BR scalbnl (),
+.BR scalbln (),
+.BR scalblnf (),
+.BR scalblnl ()
+T} Thread safety MT-Safe
+.TE
+.sp 1
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
+.SH HISTORY
+These functions differ from the obsolete functions described in
+.BR scalb (3)
+in the type of their second argument.
+The functions described on this page have a second argument
+of an integral type, while those in
+.BR scalb (3)
+have a second argument of type
+.IR double .
+.SH NOTES
+If
+.B FLT_RADIX
+equals 2 (which is usual), then
+.BR scalbn ()
+is equivalent to
+.BR ldexp (3).
+.SH BUGS
+Before glibc 2.20,
+.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6803
+these functions did not set
+.I errno
+for range errors.
+.SH SEE ALSO
+.BR ldexp (3),
+.BR scalb (3)