]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/log1p.3
intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir...
[thirdparty/man-pages.git] / man3 / log1p.3
CommitLineData
fea681da 1.\" Copyright 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
caba2e47
MK
2.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
3.\" <mtk.manpages@gmail.com>
fea681da 4.\"
4b72fb64 5.\" %%%LICENSE_START(verbatim)
fea681da
MK
6.\" Permission is granted to make and distribute verbatim copies of this
7.\" manual provided the copyright notice and this permission notice are
8.\" preserved on all copies.
9.\"
10.\" Permission is granted to copy and distribute modified versions of this
11.\" manual under the conditions for verbatim copying, provided that the
12.\" entire resulting derived work is distributed under the terms of a
13.\" permission notice identical to this one.
c13182ef 14.\"
fea681da
MK
15.\" Since the Linux kernel and libraries are constantly changing, this
16.\" manual page may be incorrect or out-of-date. The author(s) assume no
17.\" responsibility for errors or omissions, or for damages resulting from
18.\" the use of the information contained herein. The author(s) may not
19.\" have taken the same level of care in the production of this manual,
20.\" which is licensed free of charge, as they might when working
21.\" professionally.
c13182ef 22.\"
fea681da
MK
23.\" Formatted or processed versions of this manual, if unaccompanied by
24.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 25.\" %%%LICENSE_END
fea681da
MK
26.\"
27.\" Modified 2002-07-27 by Walter Harms
28.\" (walter.harms@informatik.uni-oldenburg.de)
50831f9b 29.TH LOG1P 3 2010-09-20 "" "Linux Programmer's Manual"
fea681da 30.SH NAME
9a2d673e 31log1p, log1pf, log1pl \- logarithm of 1 plus argument
fea681da
MK
32.SH SYNOPSIS
33.nf
34.B #include <math.h>
35.sp
36.BI "double log1p(double " x );
d39541ec 37.br
fea681da 38.BI "float log1pf(float " x );
d39541ec 39.br
fea681da 40.BI "long double log1pl(long double " x );
c13182ef 41.sp
fea681da 42.fi
cc4615cc
MK
43Link with \fI\-lm\fP.
44.sp
45.in -4n
46Feature Test Macro Requirements for glibc (see
47.BR feature_test_macros (7)):
48.in
49.sp
50.ad l
caba2e47 51.BR log1p ():
1b5ffa62
MK
52.RS 4
53_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
54_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE ||
55_POSIX_C_SOURCE\ >=\ 200112L;
56.br
57or
caba2e47 58.I cc\ -std=c99
1b5ffa62 59.RE
caba2e47 60.br
cc4615cc
MK
61.BR log1pf (),
62.BR log1pl ():
1b5ffa62
MK
63.RS 4
64_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
65_POSIX_C_SOURCE\ >=\ 200112L;
66.br
67or
cc4615cc 68.I cc\ -std=c99
1b5ffa62 69.RE
cc4615cc 70.ad b
fea681da 71.SH DESCRIPTION
2d986c92
MK
72.I log1p(x)
73returns a value equivalent to
74.nf
75
76 log (1 + \fIx\fP)
77
78.fi
ca7b3c18 79It is computed in a way
fea681da 80that is accurate even if the value of \fIx\fP is near zero.
caba2e47
MK
81.SH RETURN VALUE
82On success, these functions return the natural logarithm of
83.IR "(1\ +\ x)" .
84
85If
86.I x
87is a NaN,
88a NaN is returned.
89
90If
91.I x
92is positive infinity, positive infinity is returned.
93
94If
95.I x
efe294cb 96is \-1, a pole error occurs,
caba2e47
MK
97and the functions return
98.RB - HUGE_VAL ,
99.RB - HUGE_VALF ,
100or
101.RB - HUGE_VALL ,
102respectively.
103
104If
105.I x
106is less than \-1 (including negative infinity),
efe294cb 107a domain error occurs,
caba2e47
MK
108and a NaN (not a number) is returned.
109.\" POSIX.1 specifies a possible range error if x is subnormal
110.\" glibc 2.8 doesn't do this
111.SH ERRORS
112See
113.BR math_error (7)
114for information on how to determine whether an error has occurred
115when calling these functions.
116.PP
117The following errors can occur:
118.TP
119Domain error: \fIx\fP is less than \-1
120.\" .I errno
121.\" is set to
122.\" .BR EDOM .
123An invalid floating-point exception
124.RB ( FE_INVALID )
125is raised.
126.TP
127Pole error: \fIx\fP is \-1
128.\" .I errno
129.\" is set to
130.\" .BR ERANGE .
131A divide-by-zero floating-point exception
132.RB ( FE_DIVBYZERO )
133is raised.
134.PP
135These functions do not set
136.IR errno .
137.\" FIXME . Is it intentional that these functions do not set errno?
138.\" log(), log2(), log10() do set errno
139.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6792
47297adb 140.SH CONFORMING TO
caba2e47
MK
141C99, POSIX.1-2001.
142.\" BSD
47297adb 143.SH SEE ALSO
fea681da
MK
144.BR exp (3),
145.BR expm1 (3),
146.BR log (3)