diff options
| author | Michael Kerrisk <mtk.manpages@gmail.com> | 2008-08-01 05:37:29 +0000 |
|---|---|---|
| committer | Michael Kerrisk <mtk.manpages@gmail.com> | 2008-08-01 05:37:29 +0000 |
| commit | d65519e819ee26a66dd1833a022b0398e6ca44ba (patch) | |
| tree | 0712790ed6d4da98f5595bd55f0895270d22db7e /man3 | |
| parent | 17d2ffdfb14eab5c3b8695958f41ee9bae43386e (diff) | |
| download | man-pages-d65519e819ee26a66dd1833a022b0398e6ca44ba.tar.gz | |
New page.
Created after removing the scalbln*() and scalbn*() material
from scalb.3. Documents scalbln() and scalbn() functions.
Included ERRORS section; noted that errno is not set; see
also http://sources.redhat.com/bugzilla/show_bug.cgi?id=6803.
Diffstat (limited to 'man3')
| -rw-r--r-- | man3/scalbln.3 | 162 |
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) |
