double complex cproj(double complex z)
{
- union dcomplex u = {z};
-
- if (isinf(u.a[0]) || isinf(u.a[1]))
- return cpack(INFINITY, copysign(0.0, u.a[1]));
+ if (isinf(creal(z)) || isinf(cimag(z)))
+ return cpack(INFINITY, copysign(0.0, creal(z)));
return z;
}