| SCALBN(3) | Library Functions Manual | SCALBN(3) | 
NAME
 scalbn, scalbnf, scalbnl — exponent using FLT_RADIX
LIBRARY
 Math Library (libm, -lm)
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
 The 
scalbn(), 
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.
 
STANDARDS
 The described functions conform to ISO/IEC 9899:1999 (“ISO C99”).