aboutsummaryrefslogtreecommitdiffstats
path: root/man3
diff options
context:
space:
mode:
Diffstat (limited to 'man3')
-rw-r--r--man3/scalbln.3162
1 files changed, 161 insertions, 1 deletions
diff --git a/man3/scalbln.3 b/man3/scalbln.3
index 5a33fb8203..ee61779a87 100644
--- a/man3/scalbln.3
+++ b/man3/scalbln.3
@@ -1 +1,161 @@
-.so man3/scalb.3
+.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
+.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
+.\" <mtk.manpages@gmail.com>
+.\"
+.\" 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.
+.\"
+.TH SCALBLN 3 2008-07-29 "" "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
+.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
+.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
+Link with \fI\-lm\fP.
+.sp
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.sp
+.ad l
+.BR scalbln (),
+.BR scalblnf (),
+.BR scalblnl ():
+_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE; or
+.I cc\ -std=c99
+.br
+.BR scalbn (),
+.BR scalbnf (),
+.BR scalbnl ():
+_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE; or
+.I cc\ -std=c99
+.ad b
+.SH DESCRIPTION
+These functions multiply their first argument
+.I x
+by
+.B FLT_RADIX
+(probably 2)
+to the power of
+.IR exp ,
+that is:
+.nf
+
+ x * FLT_RADIX ** exp
+.fi
+
+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 \fIx\fP * \fBFLT_RADIX\fP ** \fIexp\fP.
+
+If
+.I x
+is a NaN, a NaN is returned.
+
+If
+.I x
+is positive infinity (negative infinity),
+positive infinity (negative infinity) is returned.
+
+If
+.I x
+is +0 (\-0), +0 (\-0) is returned.
+
+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 .
+
+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.
+.PP
+These functions do not set
+.IR errno .
+.\" FIXME . Is it intentional that these functions do not set errno?
+.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6803
+.SH "CONFORMING TO"
+C99, POSIX.1-2001.
+.SH NOTES
+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 .
+
+If
+.B FLT_RADIX
+equals 2 (which is usual), then
+.BR scalbn ()
+is equivalent to
+.BR ldexp (3).
+.SH "SEE ALSO"
+.BR ldexp (3),
+.BR scalb (3)