/* Copyright (c) 2016 Yaakov Selkowitz */ /* FUNCTION <>, <>---complex base-10 logarithm INDEX clog10 INDEX clog10f SYNOPSIS #define _DEFAULT_SOURCE #include double complex clog10(double complex <[z]>); float complex clog10f(float complex <[z]>); DESCRIPTION These functions compute the complex base-10 logarithm of <[z]>. <> is equivalent to <>(<[z]>)/<>(10). <> is identical to <>, except that it performs its calculations on <>. RETURNS The clog10 functions return the complex base-10 logarithm value. PORTABILITY <> and <> are GNU extensions. */ #define _DEFAULT_SOURCE #include #include 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 * (double complex) I; return w; }