clog10
Compute the base-10 logarithm of a complex number.
Interface Definition
C interface:
float complex clog10f(float complex x);
double complex clog10(double complex x);
long double complex clog10l(long double complex x);
Parameters
Parameter |
Type |
Description |
Input/Output |
|---|---|---|---|
x |
|
Floating-point value of the input data. |
Input |
Return Value
- The base-10 logarithm y of x is returned.
- The special values are listed in the following table.
Real Part of the Input (x.real)
Imaginary Part of the Input (x.imag)
Real Part of the Output (y.real)
Imaginary Part of the Output (y.imag)
+0
+0
-inf
+0
+0
-0
-inf
-0
+0
inf
inf
0x3fe5d47c4cb2fba1(pi/2ln10)
+0
-inf
inf
0xbfe5d47c4cb2fba1(-pi/2ln10)
+0
SNaN
NaN
NaN
+0
–SNaN
NaN
NaN
+0
QNaN
NaN
NaN
+0
–QNaN
NaN
NaN
-0
+0
-inf
0x3ff5d47c4cb2fba1(pi/ln10)
-0
-0
-inf
0xbff5d47c4cb2fba1(-pi/ln10)
-0
inf
inf
0x3fe5d47c4cb2fba1(pi/2ln10)
-0
-inf
inf
0xbfe5d47c4cb2fba1(-pi/2ln10)
-0
SNaN
NaN
NaN
-0
–SNaN
NaN
NaN
-0
QNaN
NaN
NaN
-0
–QNaN
NaN
NaN
inf
+0
inf
+0
inf
-0
inf
-0
inf
inf
inf
0x3fd5d47c4cb2fba1(pi/4ln10)
inf
-inf
inf
0xbfd5d47c4cb2fba1(-pi/4ln10)
inf
SNaN
inf
NaN
inf
–SNaN
inf
NaN
inf
QNaN
inf
NaN
inf
–QNaN
inf
NaN
-inf
+0
inf
0x3ff5d47c4cb2fba1(pi/ln10)
-inf
-0
inf
0xbff5d47c4cb2fba1(-pi/ln10)
-inf
inf
inf
0x3ff05f5d39863cb9(3*pi/4ln10)
-inf
-inf
inf
0xbff05f5d39863cb9(-3*pi/4ln10)
-inf
SNaN
inf
NaN
-inf
–SNaN
inf
NaN
-inf
QNaN
inf
NaN
-inf
–QNaN
inf
NaN
SNaN
+0
NaN
NaN
SNaN
-0
NaN
NaN
SNaN
inf
inf
NaN
SNaN
-inf
inf
NaN
SNaN
SNaN
NaN
NaN
SNaN
–SNaN
NaN
NaN
SNaN
QNaN
NaN
NaN
SNaN
–QNaN
NaN
NaN
–SNaN
+0
NaN
NaN
–SNaN
-0
NaN
NaN
–SNaN
inf
inf
NaN
–SNaN
-inf
inf
NaN
–SNaN
SNaN
NaN
NaN
–SNaN
–SNaN
NaN
NaN
–SNaN
QNaN
NaN
NaN
–SNaN
–QNaN
NaN
NaN
QNaN
+0
NaN
NaN
QNaN
-0
NaN
NaN
QNaN
inf
inf
NaN
QNaN
-inf
inf
NaN
QNaN
SNaN
NaN
NaN
QNaN
–SNaN
NaN
NaN
QNaN
QNaN
NaN
NaN
QNaN
–QNaN
NaN
NaN
–QNaN
+0
NaN
NaN
–QNaN
-0
NaN
NaN
–QNaN
inf
inf
NaN
–QNaN
-inf
inf
NaN
–QNaN
SNaN
NaN
NaN
–QNaN
–SNaN
NaN
NaN
–QNaN
QNaN
NaN
NaN
–QNaN
–QNaN
NaN
NaN
Dependency
C: "kc.h"
Example
// typical usage
double x1 = INFINITY, y1 = INFINITY;
double x2 = 2.0, y2 = 3.0;
double x3 = -2.5, y3 = -3.4;
double x4 = NAN, y4 = NAN;
double x5 = 0, y5 = 0;
double complex z1 = clog10(__builtin_complex(x1, y1));
double complex z2 = clog10(__builtin_complex(x2, y2));
double complex z3 = clog10(__builtin_complex(x3, y3));
double complex z4 = clog10(__builtin_complex(x4, y4));
double complex z5 = clog10(__builtin_complex(x5, y5));
// print result
printf("/*\n");
printf(" * clog10(%.2f + %.2f*I) = %.6f + %.6f*I\n", x1, y1, __real__(z1), __imag__(z1));
printf(" * clog10(%.2f + %.2f*I) = %.6f + %.6f*I\n", x2, y2, __real__(z2), __imag__(z2));
printf(" * clog10(%.2f + %.2f*I) = %.6f + %.6f*I\n", x3, y3, __real__(z3), __imag__(z3));
printf(" * clog10(%.2f + %.2f*I) = %.6f + %.6f*I\n", x4, y4, __real__(z4), __imag__(z4));
printf(" * clog10(%.2f + %.2f*I) = %.6f + %.6f*I\n", x5, y5, __real__(z5), __imag__(z5));
printf(" **/\n");
/*
* clog10(inf + inf*I) = inf + 0.341094*I
* clog10(2.00 + 3.00*I) = 0.556972 + 0.426822*I
* clog10(-2.50 + -3.40*I) = 0.625332 + -0.957541*I
* clog10(nan + nan*I) = nan + nan*I
* clog10(0.00 + 0.00*I) = -inf + 0.000000*I
**/