GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


man:scalb

SCALB(3) Linux Programmer's Manual SCALB(3)

NAME

     scalb,  scalbf,  scalbl  -  multiply  floating-point number by integral
     power of radix (OBSOLETE)

SYNOPSIS

     #include <math.h>
     double scalb(double x, double exp);
     float scalbf(float x, float exp);
     long double scalbl(long double x, long double exp);
     Link with -lm.
 Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
     scalb():
         _XOPEN_SOURCE >= 500
             || /* Since glibc 2.19: */ _DEFAULT_SOURCE
             || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
     scalbf(), scalbl():
         _XOPEN_SOURCE >= 600
             || /* Since glibc 2.19: */ _DEFAULT_SOURCE
             || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

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

RETURN VALUE

     On success, these functions return x * FLT_RADIX ** exp.
     If x or exp is a NaN, a NaN is returned.
     If  x is positive infinity (negative infinity), and exp is not negative
     infinity, positive infinity (negative infinity) is returned.
     If x is +0 (-0), and exp is not positive infinity, +0 (-0) is returned.
     If  x is zero, and exp is positive infinity, a domain error occurs, and
     a NaN is returned.
     If x is an infinity, and exp  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 exp is positive infinity, or x is positive
     infinity and exp is negative infinity and the other argument is  not  a
     NaN
            An invalid floating-point exception (FE_INVALID) is raised.
     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 set errno.

ATTRIBUTES

     For  an  explanation  of  the  terms  used   in   this   section,   see
     attributes(7).
     +----------------------------+---------------+---------+
     |Interface                   | Attribute     | Value   |
     +----------------------------+---------------+---------+
     |scalb(), scalbf(), scalbl() | Thread safety | MT-Safe |
     +----------------------------+---------------+---------+

CONFORMING TO

     scalb()   is   specified   in  POSIX.1-2001,  but  marked  obsolescent.
     POSIX.1-2008 removes the specification of scalb(), recommending the use
     of  scalbln(3), scalblnf(3), or scalblnl(3) instead.  The scalb() func-
     tion is from 4.3BSD.
     scalbf() and scalbl()  are  unstandardized;  scalbf()  is  nevertheless
     present on several other systems

SEE ALSO

     ldexp(3), scalbln(3)

COLOPHON

     This  page  is  part of release 4.16 of the Linux man-pages project.  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                          SCALB(3)
/home/gen.uk/domains/wiki.gen.uk/public_html/data/pages/man/scalb.txt · Last modified: 2019/05/17 09:47 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki