/* 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 #ifdef _HAVE_LONG_DOUBLE_MATH long double complex clog10l(long double complex z) { long double p, rr; rr = cabsl(z); p = log10l(rr); rr = atan2l(cimagl(z), creall(z)) * _M_IVLN10L; return (long double complex) p + rr * (long double complex) I; } #endif