名 前
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/ に 書 か れ て い る 。