blob: f6cf45396f95081f0f1ebeeeae229189efa9eeb8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/*
FUNCTION
<<clog10>>, <<clog10f>>---complex base-10 logarithm
INDEX
clog10
INDEX
clog10f
SYNOPSIS
#define _GNU_SOURCE
#include <complex.h>
double complex clog10(double complex <[z]>);
float complex clog10f(float complex <[z]>);
DESCRIPTION
These functions compute the complex base-10 logarithm of <[z]>.
<<clog10>> is equivalent to <<clog>>(<[z]>)/<<log>>(10).
<<clog10f>> is identical to <<clog10>>, except that it performs
its calculations on <<floats complex>>.
RETURNS
The clog10 functions return the complex base-10 logarithm value.
PORTABILITY
<<clog10>> and <<clog10f>> are GNU extensions.
*/
#include <complex.h>
#include <math.h>
double complex
clog10(double complex z)
{
double complex w;
double p, rr;
rr = cabs(z);
p = log10(rr);
rr = atan2(cimag(z), creal(z)) * M_IVLN10;
w = p + rr * I;
return w;
}
|