OSDN Git Service

(split) LDP_man-pages: update original to v3.34.
[linuxjm/LDP_man-pages.git] / original / man3 / cacos.3
index b483a0c..0b275d8 100644 (file)
@@ -1,7 +1,8 @@
 .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
+.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gamil.com>
 .\" Distributed under GPL
 .\"
-.TH CACOS 3 2008-08-11 "" "Linux Programmer's Manual"
+.TH CACOS 3 2011-09-15 "" "Linux Programmer's Manual"
 .SH NAME
 cacos, cacosf, cacosl \- complex arc cosine
 .SH SYNOPSIS
@@ -27,12 +28,45 @@ is chosen in the interval [0,pi].
 One has:
 .nf
 
-    cacos(z) = \-i clog(z + csqrt(z * z \- 1))
+    cacos(z) = \-i * clog(z + i * csqrt(1 \- z * z))
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH "CONFORMING TO"
 C99.
+.SH EXAMPLE
+.nf
+/* Link with "\-lm" */
+
+#include <complex.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.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>\\n", argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
+    z = atof(argv[1]) + atof(argv[2]) * I;
+
+    c = cacos(z);
+
+    printf("cacos() = %6.3f %6.3f*i\\n", creal(c), cimag(c));
+
+    f = \-i * clog(z + i * csqrt(1 \- z * z));
+
+    printf("formula = %6.3f %6.3f*i\\n", creal(f), cimag(f));
+
+    exit(EXIT_SUCCESS);
+}
+.fi
 .SH "SEE ALSO"
 .BR ccos (3),
 .BR clog (3),