# scalb

## NAME



           scalb, scalbf, scalbl - scale by an integer power of radix
           (OBSOLETE)
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#include <math.h>**
    
           **[[deprecated]] double scalb(double** _x_**, double** _e_**);**
           **[[deprecated]] float scalbf(float** _x_**, float** _e_**);**
           **[[deprecated]] long double scalbl(long double** _x_**, long double** _e_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **scalb**():
               _XOPEN_SOURCE >= 500
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
    
           **scalbf**(), **scalbl**():
               _XOPEN_SOURCE >= 600
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
    


## DESCRIPTION



           These functions multiply their first argument _x_ by **FLT_RADIX**
           (probably 2) to the power of _e_ , that is:
    
               x * FLT_RADIX ** e
    
           The definition of **FLT_RADIX** can be obtained by including
           _< float.h>_.
    


## RETURN VALUE



           On success, these functions return _x_ * **FLT_RADIX** ** _e_.
    
           If _x_ or _e_ is a NaN, a NaN is returned.
    
           If _x_ is positive infinity (negative infinity), and _e_ is not
           negative infinity, positive infinity (negative infinity) is
           returned.
    
           If _x_ is +0 (-0), and _e_ is not positive infinity, +0 (-0) is
           returned.
    
           If _x_ is zero, and _e_ is positive infinity, a domain error occurs,
           and a NaN is returned.
    
           If _x_ is an infinity, and _e_ is negative infinity, a domain error
           occurs, and a NaN is returned.
    
           If the result overflows, a range error occurs, and the functions
           return **HUGE_VAL** , **HUGE_VALF** , or **HUGE_VALL** , respectively, with a
           sign the same as _x_.
    
           If the result underflows, a range error occurs, and the functions
           return zero, with a sign the same as _x_.
    


## ERRORS



           See math_error(7) for information on how to determine whether an
           error has occurred when calling these functions.
    
           The following errors can occur:
    
           Domain error: _x_ is 0, and _e_ is positive infinity, or _x_ is positive
           infinity and _e_ is negative infinity and the other argument is not
           a NaN
                  _errno_ is set to **EDOM**.  An invalid floating-point exception
                  (**FE_INVALID**) is raised.
    
           Range error, overflow
                  _errno_ is set to **ERANGE**.  An overflow floating-point
                  exception (**FE_OVERFLOW**) is raised.
    
           Range error, underflow
                  _errno_ is set to **ERANGE**.  An underflow floating-point
                  exception (**FE_UNDERFLOW**) is raised.
    


## ATTRIBUTES



           For an explanation of the terms used in this section, see
           attributes(7).
           ┌──────────────────────────────────────┬───────────────┬─────────┐
           │ **Interface** │ **Attribute** │ **Value** │
           ├──────────────────────────────────────┼───────────────┼─────────┤
           │ **scalb**(), **scalbf**(), **scalbl**()          │ Thread safety │ MT-Safe │
           └──────────────────────────────────────┴───────────────┴─────────┘
    


## STANDARDS



           None.
    


## BUGS



           Before glibc 2.20, these functions did not set _errno_ for domain
           and range errors.
    


* * *