NAME
scalbn
, scalbnf
,
scalbnl
—
exponent using FLT_RADIX
LIBRARY
library “libm”
SYNOPSIS
#include
<math.h>
double
scalbn
(double
x, int n);
float
scalbnf
(float
x, int n);
long double
scalbnl
(long
double x, int
n);
DESCRIPTION
Thescalbn
(),
scalbnf
(),
and
scalbnl
()
functions compute x * r^n, where
r is the radix of the machine's floating point
arithmetic, defined by the FLT_RADIX
constant in
<float.h>
. The rationale is
efficiency; r^n is not computed explicitly.
RETURN VALUES
As described above, upon successful completion, the described
functions return the exponent computed using
FLT_RADIX
. Otherwise the following may occur:
- When the result would cause an overflow, a range error occurs and
±HUGE_VAL
,±HUGE_VALF
, or±HUGE_VALL
is returned according to the sign of x and the return type of the corresponding function. - When the correct value would cause an underflow and it is not representable, a range error occurs and either 0.0 or an implementation-defined value is returned. When an underflow occurs but the correct value is representable, a range error occurs but the correct value is returned.
- If x is ±0 or ±Inf, x is returned. Likewise, if n is zero, x is returned. If x is NaN, NaN is returned.
SEE ALSO
STANDARDS
The described functions conform to ISO/IEC 9899:1999 (“ISO C99”).