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