Manpages

名 前

catan, catanf, catanl − 複 素 数 の 逆 正 接 (arc tangent)

書 式

#include <complex.h>

double complex catan(double complex z);
float complex catanf(float complex
z);
long double complex catanl(long double complex
z);

−lm で リ ン ク す る 。

説 明

catan() 関 数 は 複 素 数 z の 逆 正 接 (arc tangent) を 計 算 す る 。 y = catan(z) な ら ば 、 z = ctan(y) が 成 立 す る 。 y の 実 部 の 値 は 区 間 [−pi/2,pi/2] か ら 選 択 さ れ る 。 次 の 関 係 が 成 立 す る :

catan(z) = (clog(1 + i * z) − clog(1 − i * z)) / (2 * i)

バ ー ジ ョ ン

こ れ ら の 関 数 は glibc バ ー ジ ョ ン 2.1 で 初 め て 登 場 し た 。

準 拠

C99.

/* "−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 = 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(f2), cimag(f2));

exit(EXIT_SUCCESS); }

関 連 項 目

ccos(3), clog(3), ctan(3), complex(7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。