diff options
Diffstat (limited to 'upstream/opensuse-leap-15-6/man3/catan.3')
-rw-r--r-- | upstream/opensuse-leap-15-6/man3/catan.3 | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/upstream/opensuse-leap-15-6/man3/catan.3 b/upstream/opensuse-leap-15-6/man3/catan.3 new file mode 100644 index 00000000..c2ad870e --- /dev/null +++ b/upstream/opensuse-leap-15-6/man3/catan.3 @@ -0,0 +1,95 @@ +'\" t +.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gmail.com> +.\" +.\" SPDX-License-Identifier: GPL-1.0-or-later +.\" +.TH catan 3 2023-03-30 "Linux man-pages 6.04" +.SH NAME +catan, catanf, catanl \- complex arc tangents +.SH LIBRARY +Math library +.RI ( libm ", " \-lm ) +.SH SYNOPSIS +.nf +.B #include <complex.h> +.PP +.BI "double complex catan(double complex " z ); +.BI "float complex catanf(float complex " z ); +.BI "long double complex catanl(long double complex " z ); +.fi +.SH DESCRIPTION +These functions calculate the complex arc tangent of +.IR z . +If \fIy\~=\~catan(z)\fP, then \fIz\~=\~ctan(y)\fP. +The real part of y is chosen in the interval [\-pi/2,pi/2]. +.PP +One has: +.PP +.in +4n +.EX +catan(z) = (clog(1 + i * z) \- clog(1 \- i * z)) / (2 * i) +.EE +.in +.SH ATTRIBUTES +For an explanation of the terms used in this section, see +.BR attributes (7). +.ad l +.nh +.TS +allbox; +lbx lb lb +l l l. +Interface Attribute Value +T{ +.BR catan (), +.BR catanf (), +.BR catanl () +T} Thread safety MT-Safe +.TE +.hy +.ad +.sp 1 +.SH STANDARDS +C11, POSIX.1-2008. +.SH HISTORY +glibc 2.1. +C99, POSIX.1-2001. +.SH EXAMPLES +.\" SRC BEGIN (catan.c) +.EX +/* Link with "\-lm" */ + +#include <complex.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +int +main(int argc, char *argv[]) +{ + double complex z, c, f; + double complex i = I; + + if (argc != 3) { + fprintf(stderr, "Usage: %s <real> <imag>\en", argv[0]); + exit(EXIT_FAILURE); + } + + z = atof(argv[1]) + atof(argv[2]) * I; + + c = catan(z); + printf("catan() = %6.3f %6.3f*i\en", creal(c), cimag(c)); + + f = (clog(1 + i * z) \- clog(1 \- i * z)) / (2 * i); + printf("formula = %6.3f %6.3f*i\en", creal(f), cimag(f)); + + exit(EXIT_SUCCESS); +} +.EE +.\" SRC END +.SH SEE ALSO +.BR ccos (3), +.BR clog (3), +.BR ctan (3), +.BR complex (7) |