tsearch.3: NAME: add twalk_r
[man-pages.git] / man3 / carg.3
blob99dd8145b8906fcd0893f5ce39ed5e17e041a5f2
1 .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
2 .\"
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" Distributed under GPL
5 .\" %%%LICENSE_END
6 .\"
7 .TH CARG 3 2021-03-22 "" "Linux Programmer's Manual"
8 .SH NAME
9 carg, cargf, cargl \- calculate the complex argument
10 .SH SYNOPSIS
11 .nf
12 .B #include <complex.h>
13 .PP
14 .BI "double carg(double complex " z ");"
15 .BI "float cargf(float complex " z ");"
16 .BI "long double cargl(long double complex " z ");"
17 .PP
18 Link with \fI\-lm\fP.
19 .fi
20 .SH DESCRIPTION
21 These functions calculate the complex argument (also called phase angle) of
22 .IR z ,
23 with a branch cut along the negative real axis.
24 .PP
25 A complex number can be described by two real coordinates.
26 One may use rectangular coordinates and gets
27 .PP
28 .nf
29     z = x + I * y
30 .fi
31 .PP
32 where
33 .IR "x\ =\ creal(z)"
34 and
35 .IR "y\ =\ cimag(z)" .
36 .PP
37 Or one may use polar coordinates and gets
38 .PP
39 .nf
40     z = r * cexp(I * a)
41 .fi
42 .PP
43 where
44 .IR "r\ =\ cabs(z)"
45 is the "radius", the "modulus", the absolute value of
46 .IR z ,
47 and
48 .IR "a\ =\ carg(z)"
49 is the "phase angle", the argument of
50 .IR z .
51 .PP
52 One has:
53 .PP
54 .nf
55     tan(carg(z)) = cimag(z) / creal(z)
56 .fi
57 .SH RETURN VALUE
58 The return value is in the range of [\-pi,pi].
59 .SH VERSIONS
60 These functions first appeared in glibc in version 2.1.
61 .SH ATTRIBUTES
62 For an explanation of the terms used in this section, see
63 .BR attributes (7).
64 .ad l
65 .nh
66 .TS
67 allbox;
68 lbx lb lb
69 l l l.
70 Interface       Attribute       Value
72 .BR carg (),
73 .BR cargf (),
74 .BR cargl ()
75 T}      Thread safety   MT-Safe
76 .TE
77 .hy
78 .ad
79 .sp 1
80 .SH CONFORMING TO
81 C99, POSIX.1-2001, POSIX.1-2008.
82 .SH SEE ALSO
83 .BR cabs (3),
84 .BR complex (7)