catan(3) Library Functions Manual catan(3) catan, catanf, catanl - (libm -lm) #include double complex catan(double complex z); float complex catanf(float complex z); long double complex catanl(long double complex z); z. y = catan(z) z = ctan(y). y [-pi/2, pi/2]. : catan(z) = (clog(1 + i * z) - clog(1 - i * z)) / (2 * i) attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |catan(), | | MT-Safe | |catanf(), | | | |catanl() | | | +------------+------------------------------------+--------------------+ C11, POSIX.1-2008. glibc 2.1. C99 POSIX.1-2001. /* Link with "-lm" */ #include #include #include #include int main(int argc, char *argv[]) { double complex z, c, f; double complex i = I; if (argc != 3) { fprintf(stderr, "Usage: %s \n", argv[0]); exit(EXIT_FAILURE); } z = atof(argv[1]) + atof(argv[2]) * I; c = catan(z); printf("catan() = %6.3f %6.3f*i\n", creal(c), cimag(c)); f = (clog(1 + i * z) - clog(1 - i * z)) / (2 * i); printf("formula = %6.3f %6.3f*i\n", creal(f), cimag(f)); exit(EXIT_SUCCESS); } ccos(3), clog(3), ctan(3), complex(7) 3 . . : . 6.18 8 2026 catan(3)