logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl - multiply floating-point number by integral power

Attributes

       For an explanation of the terms used in this section, see attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAttributeValue   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ scalbn(), scalbnf(), scalbnl(), scalbln(), scalblnf(), scalblnl()           │ Thread safety │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

Bugs

       Before glibc 2.20, these functions did not set errno for range errors.

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>.

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:

       Range error, overflow
              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.

History

       These functions differ from the obsolete functions described in scalb(3) in  the  type  of  their  second
       argument.   The  functions described on this page have a second argument of an integral type, while those
       in scalb(3) have a second argument of type double.

Library

       Math library (libm, -lm)

Name

       scalbn,  scalbnf, scalbnl, scalbln, scalblnf, scalblnl - multiply floating-point number by integral power
       of radix

Notes

       If FLT_RADIX equals 2 (which is usual), then scalbn() is equivalent to ldexp(3).

Return Value

       On success, these functions return x * FLT_RADIX ** exp.

       If x is a NaN, a NaN is returned.

       If x is positive infinity (negative infinity), positive infinity (negative infinity) is returned.

       If x is +0 (-0), +0 (-0) 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.

See Also

ldexp(3), scalb(3)

Linux man-pages 6.9.1                              2024-05-02                                         scalbln(3)

Standards

       C11, POSIX.1-2008.

Synopsis

#include<math.h>doublescalbln(doublex,longexp);floatscalblnf(floatx,longexp);longdoublescalblnl(longdoublex,longexp);doublescalbn(doublex,intexp);floatscalbnf(floatx,intexp);longdoublescalbnl(longdoublex,intexp);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       scalbln(), scalblnf(), scalblnl():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE

       scalbn(), scalbnf(), scalbnl():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE