OSDN Git Service

(split) Apply minor changes from v3.32 to v3.35 in the upstream.
[linuxjm/LDP_man-pages.git] / release / man3 / cacosh.3
index cfd8aff..0735635 100644 (file)
@@ -1,4 +1,5 @@
 .\" Copyright 2002 Walter Harms(walter.harms@informatik.uni-oldenburg.de)
+.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gamil.com>
 .\" Distributed under GPL
 .\"
 .\" Japanese Version Copyright (c) 2003  Akihiro MOTOKI
@@ -13,7 +14,7 @@
 .\"WORD:       real part       ¼ÂÉô
 .\"WORD:       imaginary part  µõÉô
 .\"
-.TH CACOSH 3 2008-08-06 "" "Linux Programmer's Manual"
+.TH CACOSH 3 2011-09-15 "" "Linux Programmer's Manual"
 .SH Ì¾Á°
 cacosh, cacoshf, cacoshl \- Ê£ÁÇ¿ô¤ÎµÕÁжÊÀþ;¸¹ (arc hyperbolic cosine)
 .SH ½ñ¼°
@@ -41,14 +42,45 @@ cacosh, cacoshf, cacoshl \- ʣ
 ¼¡¤Î´Ø·¸¤¬À®Î©¤¹¤ë:
 .nf
 
-    cacosh(z) = (0.5) * clog((1 + z) / (1 \- z))
+    cacosh(z) = 2 * clog(csqrt((z + 1) / 2) + csqrt((z \- 1) / 2))
 .fi
 .SH ¥Ð¡¼¥¸¥ç¥ó
 ¤³¤ì¤é¤Î´Ø¿ô¤Ï glibc ¥Ð¡¼¥¸¥ç¥ó 2.1 ¤Ç½é¤á¤ÆÅо줷¤¿¡£
 .SH ½àµò
 C99.
+.SH Îã
+.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;
+
+    if (argc != 3) {
+        fprintf(stderr, "Usage: %s <real> <imag>\\n", argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
+    z = atof(argv[1]) + atof(argv[2]) * I;
+
+    c = cacosh(z);
+    printf("cacosh() = %6.3f %6.3f*i\\n", creal(c), cimag(c));
+
+    f = 2 * clog(csqrt((z + 1)/2) + csqrt((z \- 1)/2));
+    printf("formula  = %6.3f %6.3f*i\\n", creal(f2), cimag(f2));
+
+    exit(EXIT_SUCCESS);
+}
+.fi
 .SH ´ØÏ¢¹àÌÜ
 .BR acosh (3),
 .BR cabs (3),
+.BR ccosh (3),
 .BR cimag (3),
 .BR complex (7)