Earlier GCC, this worked and produced the results you'd expect if (like previous me) you didn't properly understand the C99 tgmath, which then stopped working with more recent GCC:
#include <tgmath.h>
void main() {
complex double z = 1.0;
z = log10(z);
printf("%f%+fi\n", creal(z), cimag(z));
}
See https://en.cppreference.com/w/c/numeric/tgmath for more. Note log10 is in the "real-only" section; GCC incorporated it into their "real or imag" tgmath for a while incorporating their own clog10 extension, but then evidently changed their minds. The presence or absence of clog10 is not relevant to log10 working or not with tgmath. | [reply] |
Earlier GCC, this worked and produced the results you'd expect if (like previous me) you didn't properly understand the C99 tgmath, which then stopped working with more recent GCC:
Thank you for elaborating.
Cheers, Rob
| [reply] |