]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/atan2.3
ctanh.3: Add introductory sentence explaining what these functions calculate
[thirdparty/man-pages.git] / man3 / atan2.3
CommitLineData
fea681da 1.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
f71288ac
MK
2.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
3.\" <mtk.manpages@gmail.com>
fea681da 4.\"
93015253 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.\" References consulted:
28.\" Linux libc source code
29.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
30.\" 386BSD man pages
31.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
32.\" Modified 2002-07-27 by Walter Harms
33.\" (walter.harms@informatik.uni-oldenburg.de)
34.\"
fe0fefbf 35.TH ATAN2 3 2015-03-02 "" "Linux Programmer's Manual"
fea681da
MK
36.SH NAME
37atan2, atan2f, atan2l \- arc tangent function of two variables
38.SH SYNOPSIS
39.nf
40.B #include <math.h>
1cdac39d 41
fea681da 42.BI "double atan2(double " y ", double " x );
fea681da 43.BI "float atan2f(float " y ", float " x );
fea681da 44.BI "long double atan2l(long double " y ", long double " x );
1cdac39d 45
fea681da 46.fi
20c58d70 47Link with \fI\-lm\fP.
f71288ac
MK
48.sp
49.in -4n
50Feature Test Macro Requirements for glibc (see
51.BR feature_test_macros (7)):
52.in
53.sp
54.ad l
55.BR atan2f (),
56.BR atan2l ():
fd39aa34 57.RS
8b0d34e4
MK
58_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
59_POSIX_C_SOURCE\ >=\ 200112L;
fd39aa34
MK
60.br
61or
f71288ac 62.I cc\ -std=c99
fd39aa34 63.RE
f71288ac 64.ad b
fea681da 65.SH DESCRIPTION
60a90ecd
MK
66The
67.BR atan2 ()
f71288ac
MK
68function calculates the principal value of the arc tangent of
69.IR y/x ,
70using the signs of the two arguments to determine
71the quadrant of the result.
47297adb 72.SH RETURN VALUE
f71288ac
MK
73On success, these functions return the principal value of the arc tangent of
74.IR y/x
d62d92dc 75in radians; the return value is in the range [\-pi,\ pi].
f71288ac
MK
76
77If
78.I y
79is +0 (\-0) and
80.I x
81is less than 0, +pi (\-pi) is returned.
82
83If
84.I y
85is +0 (\-0) and
86.I x
87is greater than 0, +0 (\-0) is returned.
88
89If
90.I y
91is less than 0 and
92.I x
93is +0 or \-0, \-pi/2 is returned.
94
95If
96.I y
97is greater than 0 and
98.I x
99is +0 or \-0, pi/2 is returned.
100
101.\" POSIX.1 says:
102.\" If
103.\" .I x
104.\" is 0, a pole error shall not occur.
105.\"
106If either
107.I x
108or
109.I y
110is NaN, a NaN is returned.
111
112.\" POSIX.1 says:
4e836144 113.\" If the result underflows, a range error may occur and
f71288ac
MK
114.\" .I y/x
115.\" should be returned.
116.\"
117If
118.I y
119is +0 (\-0) and
120.I x
121is \-0, +pi (\-pi) is returned.
122
123If
124.I y
125is +0 (\-0) and
126.I x
127is +0, +0 (\-0) is returned.
128
129If
130.I y
131is a finite value greater (less) than 0, and
132.I x
133is negative infinity, +pi (\-pi) is returned.
134
135If
136.I y
137is a finite value greater (less) than 0, and
138.I x
139is positive infinity, +0 (\-0) is returned.
140
141If
142.I y
143is positive infinity (negative infinity), and
144.I x
145is finite,
146pi/2 (\-pi/2) is returned.
147
148If
149.I y
150is positive infinity (negative infinity) and
151.I x
c3074d70 152is negative infinity, +3*pi/4 (\-3*pi/4) is returned.
f71288ac
MK
153
154If
155.I y
156is positive infinity (negative infinity) and
157.I x
c3074d70 158is positive infinity, +pi/4 (\-pi/4) is returned.
f71288ac
MK
159.\"
160.\" POSIX.1 says:
161.\" If both arguments are 0, a domain error shall not occur.
162.SH ERRORS
163No errors occur.
164.\" POSIX.1 documents an optional underflow error
165.\" glibc 2.8 does not do this.
54e5aeaa
MS
166.SH ATTRIBUTES
167For an explanation of the terms used in this section, see
168.BR attributes (7).
169.TS
170allbox;
171lbw28 lb lb
172l l l.
173Interface Attribute Value
174T{
175.BR atan2 (),
176.BR atan2f (),
177.BR atan2l ()
178T} Thread safety MT-Safe
179.TE
47297adb 180.SH CONFORMING TO
9a74e018 181C99, POSIX.1-2001, POSIX.1-2008.
e05e3635 182
f71288ac
MK
183The variant returning
184.I double
185also conforms to
f71288ac 186SVr4, 4.3BSD, C89.
47297adb 187.SH SEE ALSO
fea681da
MK
188.BR acos (3),
189.BR asin (3),
190.BR atan (3),
a1759255 191.BR carg (3),
fea681da
MK
192.BR cos (3),
193.BR sin (3),
194.BR tan (3)