Or a slightly modification
#include <math.h>
#include <complex.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
complex double b=1,c=I*1,d = 1+I*1,z = 0.;
// This should produce (inf,0), not (nan,nan).
printf("(%f,%f) / (%f,%f) -> (%f,%f)\n",
creal(b),cimag(b),creal(z),cimag(z),creal(b/z),cimag(b/z));
// This should produce (0,inf), not (nan,nan).
printf("(%f,%f) / (%f,%f) -> (%f,%f)\n",
creal(c),cimag(c),creal(z),cimag(z),creal(c/z),cimag(c/z));
// This should produce (inf,inf), not (nan,nan).
printf("(%f,%f) / (%f,%f) -> (%f,%f)\n",
creal(d),cimag(d),creal(z),cimag(z),creal(d/z),cimag(d/z));
return 0;
}
that all return (nan,nan) for me.