Introduce a new log(3) manpage and move the relevant functions there.

Document exp2l() in exp(3), and remove the quaint discussion of topics
such as what these functions were called on the HP-71B's variant of
BASIC.
This commit is contained in:
das 2008-01-18 21:43:00 +00:00
parent 0bde705160
commit 8f7624b016
2 changed files with 118 additions and 69 deletions

View File

@ -28,7 +28,7 @@
.\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91
.\" $FreeBSD$
.\"
.Dd April 5, 2005
.Dd January 17, 2008
.Dt EXP 3
.Os
.Sh NAME
@ -37,17 +37,12 @@
.\" The sorting error is intentional. exp and expf should be adjacent.
.Nm exp2 ,
.Nm exp2f ,
.Nm exp2l ,
.Nm expm1 ,
.Nm expm1f ,
.Nm log ,
.Nm logf ,
.Nm log10 ,
.Nm log10f ,
.Nm log1p ,
.Nm log1pf ,
.Nm pow ,
.Nm powf
.Nd exponential, logarithm, power functions
.Nd exponential and power functions
.Sh LIBRARY
.Lb libm
.Sh SYNOPSIS
@ -60,23 +55,13 @@
.Fn exp2 "double x"
.Ft float
.Fn exp2f "float x"
.Ft long double
.Fn exp2l "long double x"
.Ft double
.Fn expm1 "double x"
.Ft float
.Fn expm1f "float x"
.Ft double
.Fn log "double x"
.Ft float
.Fn logf "float x"
.Ft double
.Fn log10 "double x"
.Ft float
.Fn log10f "float x"
.Ft double
.Fn log1p "double x"
.Ft float
.Fn log1pf "float x"
.Ft double
.Fn pow "double x" "double y"
.Ft float
.Fn powf "float x" "float y"
@ -91,9 +76,10 @@ exponential value of the given argument
.Fa x .
.Pp
The
.Fn exp2
and the
.Fn exp2f
.Fn exp2 ,
.Fn exp2f ,
and
.Fn exp2l
functions compute the base 2 exponential of the given argument
.Fa x .
.Pp
@ -105,29 +91,6 @@ functions compute the value exp(x)\-1 accurately even for tiny argument
.Fa x .
.Pp
The
.Fn log
and the
.Fn logf
functions compute the value of the natural logarithm of argument
.Fa x .
.Pp
The
.Fn log10
and the
.Fn log10f
functions compute the value of the logarithm of argument
.Fa x
to base 10.
.Pp
The
.Fn log1p
and the
.Fn log1pf
functions compute
the value of log(1+x) accurately even for tiny argument
.Fa x .
.Pp
The
.Fn pow
and the
.Fn powf
@ -159,30 +122,7 @@ raise an invalid exception and return an \*(Na if
< 0 and
.Fa y
is not an integer.
An attempt to take the logarithm of \*(Pm0 will result in
a divide-by-zero exception, and an infinity will be returned.
An attempt to take the logarithm of a negative number will
result in an invalid exception, and an \*(Na will be generated.
.Sh NOTES
The functions exp(x)\-1 and log(1+x) are called
expm1 and logp1 in
.Tn BASIC
on the Hewlett\-Packard
.Tn HP Ns \-71B
and
.Tn APPLE
Macintosh,
.Tn EXP1
and
.Tn LN1
in Pascal, exp1 and log1 in C
on
.Tn APPLE
Macintoshes, where they have been provided to make
sure financial calculations of ((1+x)**n\-1)/x, namely
expm1(n\(**log1p(x))/x, will be accurate when x is tiny.
They also provide accurate inverse hyperbolic functions.
.Pp
The function
.Fn pow x 0
returns x**0 = 1 for all x including x = 0, \*(If, and \*(Na .
@ -229,4 +169,9 @@ and infinite x, i.e., independently of x.
.El
.Sh SEE ALSO
.Xr fenv 3 ,
.Xr ldexp 3 ,
.Xr log 3 ,
.Xr math 3
.Sh STANDARDS
These functions conform to
.St -isoC-99 .

104
lib/msun/man/log.3 Normal file
View File

@ -0,0 +1,104 @@
.\" Copyright (c) 2008 David Schultz <das@FreeBSD.org>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd January 17, 2008
.Dt LOG 3
.Os
.Sh NAME
.Nm log ,
.Nm logf ,
.Nm logl ,
.Nm log10 ,
.Nm log10f ,
.Nm log1p ,
.Nm log1pf
.Nd logarithm functions
.Sh LIBRARY
.Lb libm
.Sh SYNOPSIS
.In math.h
.Ft double
.Fn log "double x"
.Ft float
.Fn logf "float x"
.Ft double
.Fn log10 "double x"
.Ft float
.Fn log10f "float x"
.Ft double
.Fn log1p "double x"
.Ft float
.Fn log1pf "float x"
.Sh DESCRIPTION
The
.Fn log
and
.Fn logf
functions compute the natural logarithm of
.Fa x .
.Pp
The
.Fn log10
and
.Fn log10f
functions compute the logarithm base 10 of
.Fa x .
.Pp
The
.Fn log1p
and
.Fn log1pf
functions compute the natural logarithm of
.No "1 + x" .
Computing the natural logarithm as
.Li log1p(x)
is more accurate than computing it as
.Li log(1 + x)
when
.Fa x
is close to zero.
.Sh RETURN VALUES
These functions return the requested logarithm; the logarithm of 1 is +0.
An attempt to take the logarithm of \*(Pm0 results in a divide-by-zero
exception, and -\*(If is returned.
Otherwise, attempting to take the logarithm of a negative number
results in an invalid exception and a return value of \*(Na.
.Sh SEE ALSO
.Xr exp 3 ,
.Xr ilogb 3 ,
.Xr math 3 ,
.Xr pow 3
.Sh STANDARDS
The
.Fn log ,
.Fn logf ,
.Fn log10 ,
.Fn log10f ,
.Fn log1p ,
and
.Fn log1pf
functions conform to
.St -isoC-99 .