cimag
extern double cimag(double complex);
__MATHDECL (_Mdouble_,cimag, (_Mdouble_complex_ __z));
__MATH_PRECNAME(cimag) (_Mdouble_complex_ __z) __THROW
y = cimag(z);
return hypot(creal(z), cimag(z));
if (zineg) return CMPLX(cimag(z), -creal(z));
else return CMPLX(-cimag(z), creal(z));
int zineg = signbit(cimag(z));
return atan2(cimag(z), creal(z));
y = cimag(z);
z = catan(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
return ccosh(CMPLX(-cimag(z), creal(z)));
y = cimag(z);
return CMPLX(creal(z), cimag(z) * copysign(1, x));
y = cimag(z);
double (cimag)(double complex z)
return cimag(z);
return CMPLX(creal(z), -cimag(z));
if (isinf(creal(z)) || isinf(cimag(z)))
return CMPLX(INFINITY, copysign(0.0, cimag(z)));
z = csinh(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
y = cimag(z);
return CMPLX(creal(z) * copysign(1, x), cimag(z));
b = cimag(z);
z = ctanh(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
y = cimag(z);