# log2f(3m) [opensolaris man page]

```log2(3M)						  Mathematical Library Functions						  log2(3M)

NAME
log2, log2f, log2l - compute base 2 logarithm functions

SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include <math.h>

double log2(double x);

float log2f(float x);

long double log2l(long double x);

DESCRIPTION
These functions compute the base 2 logarithm of their argument x, log2(x).

RETURN VALUES
Upon successful completion, these functions return the base 2 logarithm of x.

If x is +-0, a pole error occurs and log2(), log2f(), and log2l() return -HUGE_VAL, -HUGE_VALF, and -HUGE_VALL, respectively.

For finite values of x that are less than 0,  or if x is -Inf a domain error occurs and a NaN is returned.

If x is NaN, a NaN is returned.

If x is 1, +0 is returned.

If x is +Inf, x is returned.

ERRORS
These functions will fail if:

Domain Error    The finite value of x is less than 0, or x is -Inf.

If  the	integer  expression  (math_errhandling & MATH_ERREXCEPT) is non-zero, then the invalid floating-point exception is
raised.

Pole Error      The value of x is 0.

If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the divide-by-zero floating-point exception
is raised.

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.

ATTRIBUTES
See attributes(5) for descriptions of the following attributes:

+-----------------------------+-----------------------------+
|      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
+-----------------------------+-----------------------------+
|Interface Stability	     |Standard			   |
+-----------------------------+-----------------------------+
|MT-Level		     |MT-Safe			   |
+-----------------------------+-----------------------------+

feclearexcept(3M), fetestexcept(3M), log(3M), math.h(3HEAD), attributes(5), standards(5)

SunOS 5.11							    12 Jul 2006 							  log2(3M)```

## Check Out this Related Man Page

```log10(3M)						  Mathematical Library Functions						 log10(3M)

NAME
log10, log10f, log10l - base 10 logarithm function

SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include <math.h>

double log10(double x);

float log10f(float x);

long double log10l(long double x);

DESCRIPTION
These functions compute the base 10 logarithm of x, log(10)(x).

RETURN VALUES
Upon successful completion, log10() returns the base 10 logarithm of x.

If x is +-0, a pole error occurs and log10(), log10f(), and log10l() return -HUGE_VAL, -HUGE_VALF, and -HUGE_VALL, respectively.

For finite values of x that are less than 0, or if x is -Inf, a domain error occurs and a NaN is returned.

If x is NaN, a NaN is returned.

If x is 1, +0 is returned.

If x is +Inf, x is returned.

For exceptional cases, matherr(3M) tabulates the values to be returned by log10() as specified by SVID3 and XPG3.

ERRORS
These functions will fail if:

Domain Error    The finite value of x is negative, or x is -Inf.

If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, the invalid floating-point exception is raised.

The log10() function sets errno to EDOM if the value of x is negative.

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.

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 log10(). On return, if errno is non-zero, an error has  occurred.	The  log10f()  and
log10l() 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			   |
+-----------------------------+-----------------------------+