scalb man page on DigitalUNIX

Printed from

frexp(3)							      frexp(3)

       frexp, ldexp, logb, scalb - Manipulate floating-point numbers

       #include <math.h>

       double frexp(
	       double x,
	       int *n ); float frexpf(
	       float x,
	       int *n ); long double frexpl(
	       long double x,
	       int *n ); double ldexp(
	       double y,
	       int n ); float ldexpf(
	       float y,
	       int n ); long double ldexpl(
	       long double y,
	       int n ); double logb(
	       double x ); float logbf(
	       float x ); long double logbl(
	       long double x ); double scalb(
	       double x,
	       double n ); float scalbf(
	       float x,
	       float n ); long double scalbl(
	       long double x,
	       long double n );

       Math Library (libm)

       Interfaces  documented on this reference page conform to industry stan‐
       dards as follows:

       frexp():	 XPG4

       ldexp():	 XPG4

       logb():	XPG4-UNIX

       scalb():	 XPG4-UNIX

       Refer to the standards(5) reference page	 for  more  information	 about
       industry standards and associated tags.

       Every nonzero number can be written uniquely as the normalized mantissa
       (fraction) z times 2 raised to the power p, where the absolute value of
       z is in the range [0.5, 1.0), and the exponent p, is an integer.

       The  frexp(),  frexpf(),	 and frexpl() functions break a floating-point
       number into a normalized fraction and an integral power of 2. The func‐
       tions store the integer in the int object pointed to by the n parameter
       and return the fraction part.

       The ldexp(), ldexpf(), and ldexpl() functions multiply a floating-point
       number, y, by an integral power of 2.

       The logb(), logbf(), and logbl() functions return a signed integer con‐
       verted to double-precision floating-point  and  so  chosen  that	 1  <=
       |x|/2**n < 2 unless x = 0 or |x| = infinity or x lies between 0 and the
       Underflow Threshold.

       IEEE 754 defines logb(+infinity) = +infinity and logb(0)	 =  -infinity.
       The latter is required to signal Division-by-Zero.

       The  scalb(),  scalbf(), and scalbl() functions are defined as x*(2**n)
       for integer n.

       The following table describes function behavior in response  to	excep‐
       tional arguments:

       Function			       Exceptional Argument	Routine Behavior
       frexp(), frexpf(), frexpl()     |x| = infinity		Invalid argument
       logb(), logbf(), logbl()	       |x| = infinity		Invalid argument
       scalb(), scalbf(), scalbl()     x*(2**n) > max_float	Overflow
       scalb(), scalbf(), scalbl()     x*(2**n) < min_float	Underflow
       ldexp(), ldexpf(), ldexpl()     x*(2**n) > max_float	Overflow
       ldexp(), ldexpf(), ldexpl()     x*(2**n) < min_float	Underflow

       The following table lists boundary values used by these functions:

       Value Name   Data Type	Hexadecimal Value   Decimal Value
       max_float    S_FLOAT	7F7FFFFF	    3.402823e38
		    T_FLOAT	7FEFFFFFFFFFFFFF    1.797693134862316e308
       min_float    S_FLOAT	00000001	    1.4012985e-45
		    T_FLOAT	0000000000000001    4.940656458412465e-324


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net