SCALB(3M) Mathematical Library Functions SCALB(3M)

# NAME

`scalb`, `scalbf`, `scalbl`load exponent of a radix-independent floating-point number

# SYNOPSIS

`c99` [flag...] file... `-lm` [library...]

`#include <math.h>`

double
`scalb`(double x, double n);

float
`scalbf`(float x, float n);

long double
`scalbl`(long double x, long double n);

# DESCRIPTION

These functions compute x * r^n, where r is the radix of the machine's floating point arithmetic. When r is 2, () is equivalent to ldexp(3M). The value of r is `FLT_RADIX` which is defined in `<float.h>`.

# RETURN VALUES

Upon successful completion, the `scalb`() function returns x * r^n.

If x or n is NaN, a NaN is returned.

If n is 0, x is returned.

If x is ±Inf and n is not −Inf, x is returned.

If x is ±0 and n is not +Inf, x is returned.

If x is ±0 and n is +Inf, a domain error occurs and a NaN is returned.

If x is ±Inf and Fa n is −Inf, a domain error occurs and a NaN is returned.

If the result would cause an overflow, a range error occurs and `±HUGE_VAL` (according to the sign of x) is returned.

For exceptional cases, matherr(3M) tabulates the values to be returned by `scalb`() as specified by SVID3 and XPG3. See standards(7).

# ERRORS

These functions will fail if:

If x is 0 and n is +Inf, or x is and n is −Inf.

If the integer expression (math_errhandling & `MATH_ERREXCEPT`) is non-zero, then the invalid floating-point exception is raised.

The result would overflow.

If the integer expression (math_errhandling & `MATH_ERREXCEPT`) is non-zero, then the overflow floating-point exception is raised.

# USAGE

An application wanting to check for exceptions should call (FE_ALL_EXCEPT) before calling these functions. On return, if (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an exception has been raised. An application should either examine the return value or check the floating point exception flags to detect exceptions.

These functions are Obsolete. The scalbln(3M), scalblnf(3M), or scalblnl(3M) functions should be used instead.

# INTERFACE STABILITY

The () function is Obsolete Standard. The () and () functions are Obsolete Committed.