Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

logb(3m) [opensolaris man page]

logb(3M)						  Mathematical Library Functions						  logb(3M)

NAME
logb, logbf, logbl - radix-independent exponent SYNOPSIS
c99 [ flag... ] file... -lm [ library... ] #include <math.h> double logb(double x); float logbf(float x); long double logbl(long double x); cc [ flag... ] file... -lm [ library... ] #include <math.h> double logb(double x); float logbf(float x); long double logbl(long double x); DESCRIPTION
These functions compute the exponent of x, which is the integral part of log(r) |x|, as a signed floating point value, for non-zero x, where r is the radix of the machine's floating-point arithmetic, which is the value of FLT_RADIX defined in the <float.h> header. RETURN VALUES
Upon successful completion, these functions return the exponent of x. If x is subnormal: o For SUSv3-conforming applications compiled with the c99 compiler driver (see standards(5)), the exponent of x as if x were nor- malized is returned. o Otherwise, if compiled with the cc compiler driver, -1022, -126, and -16382 are returned for logb(), logbf(), and logbl(), respectively. If x is +-0, a pole error occurs and logb(), logbf(), and logbl() return -HUGE_VAL, -HUGE_VALF, and -HUGE_VALL, respectively. If x is NaN, a NaN is returned. If x is +-Inf, +Inf is returned. ERRORS
These functions will fail if: Pole Error The value of x is +-0. If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, the divide-by-zero floating-point exception is raised. The logb() function sets errno to EDOM if the value of x is 0. USAGE
An application wanting to check for exceptions should call feclearexcept(FE_ALL_EXCEPT) before calling these functions. On return, if fetestexcept(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. An application can also set errno to 0 before calling logb(). On return, if errno is non-zero, an error has occurred. The logbf() and logbl() functions do not set errno. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
feclearexcept(3M), fetestexcept(3M), ilogb(3M), math.h(3HEAD), matherr(3M), scalb(3M), attributes(5), standards(5) SunOS 5.11 12 Jul 2006 logb(3M)

Check Out this Related Man Page

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

NAME
logb, logbf, logbl - get exponent of a floating-point value SYNOPSIS
#include <math.h> double logb(double x); float logbf(float x); long double logbl(long double x); Link with -lm. Feature Test Macro Requirements for glibc (see feature_test_macros(7)): logb(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or cc -std=c99 logbf(), logbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99 DESCRIPTION
These functions extract the exponent from the internal floating-point representation of x and return it as a floating-point value. The integer constant FLT_RADIX, defined in <float.h>, indicates the radix used for the system's floating-point representation. If FLT_RADIX is 2, logb(x) is equal to floor(log2(x)), except that it is probably faster. If x is subnormal, logb() returns the exponent x would have if it were normalized. RETURN VALUE
On success, these functions return the exponent of x. If x is a NaN, a NaN is returned. If x is zero, then a pole error occurs, and the functions return -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, respectively. If x is negative infinity or positive infinity, then positive infinity is returned. 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: Pole error: x is 0 A divide-by-zero floating-point exception (FE_DIVBYZERO) is raised. These functions do not set errno. CONFORMING TO
C99, POSIX.1-2001. SEE ALSO
ilogb(3), log(3) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2008-08-05 LOGB(3)
Man Page