xref: /netbsd-src/lib/libm/man/log.3 (revision 7690962a143b99b7634b1782f4680d8cffeb0a2f)
1*7690962aSnros.\" $NetBSD: log.3,v 1.8 2024/01/26 19:27:30 nros Exp $
26fd7775fSjruoho.\"
36fd7775fSjruoho.\" Copyright (c) 2011 Jukka Ruohonen <jruohonen@iki.fi>
46fd7775fSjruoho.\" All rights reserved.
56fd7775fSjruoho.\"
66fd7775fSjruoho.\" Redistribution and use in source and binary forms, with or without
76fd7775fSjruoho.\" modification, are permitted provided that the following conditions
86fd7775fSjruoho.\" are met:
96fd7775fSjruoho.\" 1. Redistributions of source code must retain the above copyright
106fd7775fSjruoho.\"    notice, this list of conditions and the following disclaimer.
116fd7775fSjruoho.\" 2. Redistributions in binary form must reproduce the above copyright
126fd7775fSjruoho.\"    notice, this list of conditions and the following disclaimer in the
136fd7775fSjruoho.\"    documentation and/or other materials provided with the distribution.
146fd7775fSjruoho.\"
156fd7775fSjruoho.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
166fd7775fSjruoho.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
176fd7775fSjruoho.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
186fd7775fSjruoho.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
196fd7775fSjruoho.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
206fd7775fSjruoho.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
216fd7775fSjruoho.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
226fd7775fSjruoho.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
236fd7775fSjruoho.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
246fd7775fSjruoho.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
256fd7775fSjruoho.\" POSSIBILITY OF SUCH DAMAGE.
266fd7775fSjruoho.\"
27*7690962aSnros.Dd January 24, 2024
2845c370fcSwiz.Dt LOG 3
296fd7775fSjruoho.Os
306fd7775fSjruoho.Sh NAME
316fd7775fSjruoho.Nm log ,
326fd7775fSjruoho.Nm logf ,
33*7690962aSnros.Nm logl ,
346fd7775fSjruoho.Nm log10 ,
356fd7775fSjruoho.Nm log10f ,
36*7690962aSnros.Nm log10l ,
376fd7775fSjruoho.Nm log1p ,
38e7c2f0e6Ssevan.Nm log1pf ,
39*7690962aSnros.Nm log1pl ,
406fd7775fSjruoho.Nm log2 ,
41b59ab9a6Sabhinav.Nm log2f
42*7690962aSnros.Nm log2l
436fd7775fSjruoho.Nd logarithm functions
446fd7775fSjruoho.Sh LIBRARY
456fd7775fSjruoho.Lb libm
466fd7775fSjruoho.Sh SYNOPSIS
476fd7775fSjruoho.In math.h
486fd7775fSjruoho.Ft double
496fd7775fSjruoho.Fn log "double x"
506fd7775fSjruoho.Ft float
516fd7775fSjruoho.Fn logf "float x"
52*7690962aSnros.Ft long double
53*7690962aSnros.Fn logl "long double x"
546fd7775fSjruoho.Ft double
556fd7775fSjruoho.Fn log10 "double x"
566fd7775fSjruoho.Ft float
576fd7775fSjruoho.Fn log10f "float x"
58*7690962aSnros.Ft log double
59*7690962aSnros.Fn log10l "long double x"
606fd7775fSjruoho.Ft double
616fd7775fSjruoho.Fn log1p "double x"
626fd7775fSjruoho.Ft float
636fd7775fSjruoho.Fn log1pf "float x"
64*7690962aSnros.Ft long double
65*7690962aSnros.Fn log1pl "long double x"
666fd7775fSjruoho.Ft double
676fd7775fSjruoho.Fn log2 "double x"
686fd7775fSjruoho.Ft float
696fd7775fSjruoho.Fn log2f "float x"
70*7690962aSnros.Ft long double
71*7690962aSnros.Fn log2l "long double x"
726fd7775fSjruoho.Sh DESCRIPTION
736fd7775fSjruohoThe following functions compute logarithms:
746fd7775fSjruoho.Bl -bullet -offset 2n
756fd7775fSjruoho.It
766fd7775fSjruohoThe
77*7690962aSnros.Fn log ,
786fd7775fSjruoho.Fn logf
79*7690962aSnrosand
80*7690962aSnros.Fn logl
816fd7775fSjruohofunctions return the natural logarithm.
826fd7775fSjruoho.It
836fd7775fSjruohoThe
84*7690962aSnros.Fn log10 ,
856fd7775fSjruoho.Fn log10f
86*7690962aSnrosand
87*7690962aSnros.Fn log10l
886fd7775fSjruohofunctions return the base 10 logarithm.
896fd7775fSjruoho.It
906fd7775fSjruohoThe
91*7690962aSnros.Fn log1p ,
926fd7775fSjruoho.Fn log1pf
93*7690962aSnrosand
94*7690962aSnros.Fn log1pl
956fd7775fSjruohofunctions return the natural logarithm of (1.0 +
966fd7775fSjruoho.Fa x )
976fd7775fSjruohoaccurately even for very small values of
986fd7775fSjruoho.Fa x .
996fd7775fSjruoho.It
1006fd7775fSjruohoThe
101*7690962aSnros.Fn log2 ,
1026fd7775fSjruoho.Fn log2f
103*7690962aSnrosand
104*7690962aSnros.Fn log2l
1056fd7775fSjruohofunctions return the base 2 logarithm.
106d7d196e1Snjoly.El
1076fd7775fSjruoho.Sh RETURN VALUES
1086fd7775fSjruohoUpon successful completion, the functions return the logarithm of
1096fd7775fSjruoho.Fa x
1105f9e091fSabhinavas described above.
1116fd7775fSjruohoOtherwise the following may occur:
1126fd7775fSjruoho.Bl -enum -offset indent
1136fd7775fSjruoho.It
1146fd7775fSjruohoIf
1156fd7775fSjruoho.Fa x
1166fd7775fSjruohois \*(Na, all functions return \*(Na.
1176fd7775fSjruoho.It
1186fd7775fSjruohoIf
1196fd7775fSjruoho.Fa x
1206fd7775fSjruohois positive infinity, all functions return
1216fd7775fSjruoho.Fa x .
1226fd7775fSjruohoIf
1236fd7775fSjruoho.Fa x
1246fd7775fSjruohois negative infinity, all functions return \*(Na.
1256fd7775fSjruoho.It
1266fd7775fSjruohoIf
1276fd7775fSjruoho.Fa x
1286fd7775fSjruohois +0.0 or -0.0, the
1296fd7775fSjruoho.Fn log ,
1306fd7775fSjruoho.Fn log10 ,
1316fd7775fSjruohoand
1326fd7775fSjruoho.Fn log2
1336fd7775fSjruohofamilies return either
1346fd7775fSjruoho.Dv -HUGE_VAL ,
1356fd7775fSjruoho.Dv -HUGE_VALF ,
1366fd7775fSjruohoor
1376fd7775fSjruoho.Dv -HUGE_VALL ,
1386fd7775fSjruohowhereas the
1396fd7775fSjruoho.Fn log1p
1406fd7775fSjruohofamily returns
1416fd7775fSjruoho.Fa x .
1426fd7775fSjruoho.It
1436fd7775fSjruohoIf
1446fd7775fSjruoho.Fa x
1456fd7775fSjruohois +1.0, the
1466fd7775fSjruoho.Fn log ,
1476fd7775fSjruoho.Fn log10 ,
1486fd7775fSjruohoand
1496fd7775fSjruoho.Fn log2
1506fd7775fSjruohofamilies return +0.0.
1516fd7775fSjruohoIf
1526fd7775fSjruoho.Fa x
1536fd7775fSjruohois -1.0, the
1546fd7775fSjruoho.Fn log1p
1556fd7775fSjruohofamily returns
1566fd7775fSjruoho.Dv -HUGE_VAL ,
1576fd7775fSjruoho.Dv -HUGE_VALF ,
1586fd7775fSjruohoor
1596fd7775fSjruoho.Dv -HUGE_VALL .
1606fd7775fSjruoho.El
1616fd7775fSjruoho.Pp
1626fd7775fSjruohoIn addition, on a
1636fd7775fSjruoho.Tn VAX ,
1646fd7775fSjruoho.Va errno
1656fd7775fSjruohois set to
1666fd7775fSjruoho.Er EDOM
1676fd7775fSjruohoand the reserved operand is returned
1686fd7775fSjruohoby
1696fd7775fSjruoho.Fn log
1706fd7775fSjruohounless
1716fd7775fSjruoho.Fa x
17201869ca4Swiz> 0, by
1736fd7775fSjruoho.Fn log1p
1746fd7775fSjruohounless
1756fd7775fSjruoho.Fa x
17601869ca4Swiz> \-1.
1776fd7775fSjruoho.Sh SEE ALSO
1786fd7775fSjruoho.Xr exp 3 ,
1796fd7775fSjruoho.Xr ilogb 3 ,
1806fd7775fSjruoho.Xr math 3
1816fd7775fSjruoho.Sh STANDARDS
1826fd7775fSjruohoThe described functions conform to
1836fd7775fSjruoho.St -isoC-99 .
1846fd7775fSjruoho.Sh HISTORY
185e7c2f0e6SsevanA
186e7c2f0e6Ssevan.Fn log
187e7c2f0e6Ssevanfunction appeared in
188e7c2f0e6Ssevan.At v1 .
189