.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL .\" %%%LICENSE_END .\" .TH CARG 3 2008-08-11 "" "Linux Programmer's Manual" .SH NAME carg, cargf, cargl \- calculate the complex argument .SH SYNOPSIS .B #include .sp .BI "double carg(double complex " z ");" .br .BI "float cargf(float complex " z ");" .br .BI "long double cargl(long double complex " z ");" .sp Link with \fI\-lm\fP. .SH DESCRIPTION A complex number can be described by two real coordinates. One may use rectangular coordinates and gets .nf z = x + I * y .fi where .IR "x\ =\ creal(z)" and .IR "y\ =\ cimag(z)" . .LP Or one may use polar coordinates and gets .nf z = r * cexp(I * a) .fi where .IR "r\ =\ cabs(z)" is the "radius", the "modulus", the absolute value of .IR z , and .IR "a\ =\ carg(z)" is the "phase angle", the argument of .IR z . .LP One has: .nf tan(carg(z)) = cimag(z) / creal(z) .fi .SH RETURN VALUE The return value is the range of [\-pi,pi]. .SH VERSIONS These functions first appeared in glibc in version 2.1. .SH CONFORMING TO C99. .SH SEE ALSO .BR cabs (3), .BR complex (7)