Provided by: manpages-dev_5.02-1_all

**NAME**

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl - multiply floating-point number by integral power of radix

**SYNOPSIS**

#include<math.h>doublescalbln(doublex,longintexp);floatscalblnf(floatx,longintexp);longdoublescalblnl(longdoublex,longintexp);doublescalbn(doublex,intexp);floatscalbnf(floatx,intexp);longdoublescalbnl(longdoublex,intexp);Link with-lm. Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):scalbln(),scalblnf(),scalblnl(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCEscalbn(),scalbnf(),scalbnl(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

**DESCRIPTION**

These functions multiply their first argumentxbyFLT_RADIX(probably 2) to the power ofexp, that is: x * FLT_RADIX ** exp The definition ofFLT_RADIXcan be obtained by including<float.h>.

**RETURN** **VALUE**

On success, these functions returnx*FLT_RADIX**exp. Ifxis a NaN, a NaN is returned. Ifxis positive infinity (negative infinity), positive infinity (negative infinity) is returned. Ifxis +0 (-0), +0 (-0) is returned. If the result overflows, a range error occurs, and the functions returnHUGE_VAL,HUGE_VALF, orHUGE_VALL, respectively, with a sign the same asx. If the result underflows, a range error occurs, and the functions return zero, with a sign the same asx.

**ERRORS**

Seemath_error(7) for information on how to determine whether an error has occurred when calling these functions. The following errors can occur: Range error, overflow An overflow floating-point exception (FE_OVERFLOW) is raised. Range error, underflow An underflow floating-point exception (FE_UNDERFLOW) is raised. These functions do not seterrno.

**VERSIONS**

These functions first appeared in glibc in version 2.1.

**ATTRIBUTES**

For an explanation of the terms used in this section, seeattributes(7). ┌──────────────────────────────────┬───────────────┬─────────┐ │Interface│Attribute│Value│ ├──────────────────────────────────┼───────────────┼─────────┤ │scalbn(),scalbnf(),scalbnl(), │ Thread safety │ MT-Safe │ │scalbln(),scalblnf(),scalblnl() │ │ │ └──────────────────────────────────┴───────────────┴─────────┘

**CONFORMING** **TO**

C99, POSIX.1-2001, POSIX.1-2008.

**NOTES**

These functions differ from the obsolete functions described inscalb(3) in the type of their second argument. The functions described on this page have a second argument of an integral type, while those inscalb(3) have a second argument of typedouble. IfFLT_RADIXequals 2 (which is usual), thenscalbn() is equivalent toldexp(3).

**SEE** **ALSO**

ldexp(3),scalb(3)

**COLOPHON**

This page is part of release 5.02 of the Linuxman-pagesproject. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. 2017-09-15 SCALBLN(3)