Lines Matching full:imag
143 if (!Py_IS_FINITE((z).real) || !Py_IS_FINITE((z).imag)) { \
146 [special_type((z).imag)]; \
185 if (fabs(z.real) > CM_LARGE_DOUBLE || fabs(z.imag) > CM_LARGE_DOUBLE) { in cmath_acos_impl()
187 r.real = atan2(fabs(z.imag), z.real); in cmath_acos_impl()
191 r.imag = -copysign(log(hypot(z.real/2., z.imag/2.)) + in cmath_acos_impl()
192 M_LN2*2., z.imag); in cmath_acos_impl()
194 r.imag = copysign(log(hypot(z.real/2., z.imag/2.)) + in cmath_acos_impl()
195 M_LN2*2., -z.imag); in cmath_acos_impl()
199 s1.imag = -z.imag; in cmath_acos_impl()
202 s2.imag = z.imag; in cmath_acos_impl()
205 r.imag = asinh(s2.real*s1.imag - s2.imag*s1.real); in cmath_acos_impl()
228 if (fabs(z.real) > CM_LARGE_DOUBLE || fabs(z.imag) > CM_LARGE_DOUBLE) { in cmath_acosh_impl()
230 r.real = log(hypot(z.real/2., z.imag/2.)) + M_LN2*2.; in cmath_acosh_impl()
231 r.imag = atan2(z.imag, z.real); in cmath_acosh_impl()
234 s1.imag = z.imag; in cmath_acosh_impl()
237 s2.imag = z.imag; in cmath_acosh_impl()
239 r.real = asinh(s1.real*s2.real + s1.imag*s2.imag); in cmath_acosh_impl()
240 r.imag = 2.*atan2(s1.imag, s2.real); in cmath_acosh_impl()
258 s.real = -z.imag; in cmath_asin_impl()
259 s.imag = z.real; in cmath_asin_impl()
261 r.real = s.imag; in cmath_asin_impl()
262 r.imag = -s.real; in cmath_asin_impl()
283 if (fabs(z.real) > CM_LARGE_DOUBLE || fabs(z.imag) > CM_LARGE_DOUBLE) { in cmath_asinh_impl()
284 if (z.imag >= 0.) { in cmath_asinh_impl()
285 r.real = copysign(log(hypot(z.real/2., z.imag/2.)) + in cmath_asinh_impl()
288 r.real = -copysign(log(hypot(z.real/2., z.imag/2.)) + in cmath_asinh_impl()
291 r.imag = atan2(z.imag, fabs(z.real)); in cmath_asinh_impl()
293 s1.real = 1.+z.imag; in cmath_asinh_impl()
294 s1.imag = -z.real; in cmath_asinh_impl()
296 s2.real = 1.-z.imag; in cmath_asinh_impl()
297 s2.imag = z.real; in cmath_asinh_impl()
299 r.real = asinh(s1.real*s2.imag-s2.real*s1.imag); in cmath_asinh_impl()
300 r.imag = atan2(z.imag, s1.real*s2.real-s1.imag*s2.imag); in cmath_asinh_impl()
319 s.real = -z.imag; in cmath_atan_impl()
320 s.imag = z.real; in cmath_atan_impl()
322 r.real = s.imag; in cmath_atan_impl()
323 r.imag = -s.real; in cmath_atan_impl()
332 if (Py_IS_NAN(z.real) || Py_IS_NAN(z.imag)) in c_atan2()
334 if (Py_IS_INFINITY(z.imag)) { in c_atan2()
338 return copysign(0.25*Py_MATH_PI, z.imag); in c_atan2()
341 return copysign(0.75*Py_MATH_PI, z.imag); in c_atan2()
344 return copysign(0.5*Py_MATH_PI, z.imag); in c_atan2()
346 if (Py_IS_INFINITY(z.real) || z.imag == 0.) { in c_atan2()
349 return copysign(0., z.imag); in c_atan2()
352 return copysign(Py_MATH_PI, z.imag); in c_atan2()
354 return atan2(z.imag, z.real); in c_atan2()
380 ay = fabs(z.imag); in cmath_atanh_impl()
385 of z.imag) in cmath_atanh_impl()
387 h = hypot(z.real/2., z.imag/2.); /* safe from overflow */ in cmath_atanh_impl()
393 r.imag = -copysign(Py_MATH_PI/2., -z.imag); in cmath_atanh_impl()
399 r.imag = z.imag; in cmath_atanh_impl()
403 r.imag = copysign(atan2(2., -ay)/2, z.imag); in cmath_atanh_impl()
408 r.imag = -atan2(-2.*z.imag, (1-z.real)*(1+z.real) - ay*ay)/2.; in cmath_atanh_impl()
427 r.real = -z.imag; in cmath_cos_impl()
428 r.imag = z.real; in cmath_cos_impl()
451 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in cmath_cosh_impl()
452 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) && in cmath_cosh_impl()
453 (z.imag != 0.)) { in cmath_cosh_impl()
455 r.real = copysign(INF, cos(z.imag)); in cmath_cosh_impl()
456 r.imag = copysign(INF, sin(z.imag)); in cmath_cosh_impl()
459 r.real = copysign(INF, cos(z.imag)); in cmath_cosh_impl()
460 r.imag = -copysign(INF, sin(z.imag)); in cmath_cosh_impl()
465 [special_type(z.imag)]; in cmath_cosh_impl()
469 if (Py_IS_INFINITY(z.imag) && !Py_IS_NAN(z.real)) in cmath_cosh_impl()
480 r.real = cos(z.imag) * cosh(x_minus_one) * Py_MATH_E; in cmath_cosh_impl()
481 r.imag = sin(z.imag) * sinh(x_minus_one) * Py_MATH_E; in cmath_cosh_impl()
483 r.real = cos(z.imag) * cosh(z.real); in cmath_cosh_impl()
484 r.imag = sin(z.imag) * sinh(z.real); in cmath_cosh_impl()
487 if (Py_IS_INFINITY(r.real) || Py_IS_INFINITY(r.imag)) in cmath_cosh_impl()
512 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in cmath_exp_impl()
513 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) in cmath_exp_impl()
514 && (z.imag != 0.)) { in cmath_exp_impl()
516 r.real = copysign(INF, cos(z.imag)); in cmath_exp_impl()
517 r.imag = copysign(INF, sin(z.imag)); in cmath_exp_impl()
520 r.real = copysign(0., cos(z.imag)); in cmath_exp_impl()
521 r.imag = copysign(0., sin(z.imag)); in cmath_exp_impl()
526 [special_type(z.imag)]; in cmath_exp_impl()
530 if (Py_IS_INFINITY(z.imag) && in cmath_exp_impl()
541 r.real = l*cos(z.imag)*Py_MATH_E; in cmath_exp_impl()
542 r.imag = l*sin(z.imag)*Py_MATH_E; in cmath_exp_impl()
545 r.real = l*cos(z.imag); in cmath_exp_impl()
546 r.imag = l*sin(z.imag); in cmath_exp_impl()
549 if (Py_IS_INFINITY(r.real) || Py_IS_INFINITY(r.imag)) in cmath_exp_impl()
562 The usual formula for the real part is log(hypot(z.real, z.imag)). in c_log()
573 z.real and z.imag are within a factor of 1/sqrt(2) of DBL_MAX) in c_log()
595 ay = fabs(z.imag); in c_log()
608 r.imag = atan2(z.imag, z.real); in c_log()
622 r.imag = atan2(z.imag, z.real); in c_log()
644 r.imag = r.imag / M_LN10; in cmath_log10_impl()
662 s.real = -z.imag; in cmath_sin_impl()
663 s.imag = z.real; in cmath_sin_impl()
665 r.real = s.imag; in cmath_sin_impl()
666 r.imag = -s.real; in cmath_sin_impl()
689 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in cmath_sinh_impl()
690 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) in cmath_sinh_impl()
691 && (z.imag != 0.)) { in cmath_sinh_impl()
693 r.real = copysign(INF, cos(z.imag)); in cmath_sinh_impl()
694 r.imag = copysign(INF, sin(z.imag)); in cmath_sinh_impl()
697 r.real = -copysign(INF, cos(z.imag)); in cmath_sinh_impl()
698 r.imag = copysign(INF, sin(z.imag)); in cmath_sinh_impl()
703 [special_type(z.imag)]; in cmath_sinh_impl()
707 if (Py_IS_INFINITY(z.imag) && !Py_IS_NAN(z.real)) in cmath_sinh_impl()
716 r.real = cos(z.imag) * sinh(x_minus_one) * Py_MATH_E; in cmath_sinh_impl()
717 r.imag = sin(z.imag) * cosh(x_minus_one) * Py_MATH_E; in cmath_sinh_impl()
719 r.real = cos(z.imag) * sinh(z.real); in cmath_sinh_impl()
720 r.imag = sin(z.imag) * cosh(z.real); in cmath_sinh_impl()
723 if (Py_IS_INFINITY(r.real) || Py_IS_INFINITY(r.imag)) in cmath_sinh_impl()
745 = z.imag are nonnegative. Then the real part of the result is in cmath_sqrt_impl()
776 if (z.real == 0. && z.imag == 0.) { in cmath_sqrt_impl()
778 r.imag = z.imag; in cmath_sqrt_impl()
783 ay = fabs(z.imag); in cmath_sqrt_impl()
798 r.imag = copysign(d, z.imag); in cmath_sqrt_impl()
801 r.imag = copysign(s, z.imag); in cmath_sqrt_impl()
820 s.real = -z.imag; in cmath_tan_impl()
821 s.imag = z.real; in cmath_tan_impl()
823 r.real = s.imag; in cmath_tan_impl()
824 r.imag = -s.real; in cmath_tan_impl()
859 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in cmath_tanh_impl()
860 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) in cmath_tanh_impl()
861 && (z.imag != 0.)) { in cmath_tanh_impl()
864 r.imag = copysign(0., in cmath_tanh_impl()
865 2.*sin(z.imag)*cos(z.imag)); in cmath_tanh_impl()
869 r.imag = copysign(0., in cmath_tanh_impl()
870 2.*sin(z.imag)*cos(z.imag)); in cmath_tanh_impl()
875 [special_type(z.imag)]; in cmath_tanh_impl()
877 /* need to set errno = EDOM if z.imag is +/-infinity and in cmath_tanh_impl()
879 if (Py_IS_INFINITY(z.imag) && Py_IS_FINITE(z.real)) in cmath_tanh_impl()
886 /* danger of overflow in 2.*z.imag !*/ in cmath_tanh_impl()
889 r.imag = 4.*sin(z.imag)*cos(z.imag)*exp(-2.*fabs(z.real)); in cmath_tanh_impl()
892 ty = tan(z.imag); in cmath_tanh_impl()
897 r.imag = ((ty/denom)*cx)*cx; in cmath_tanh_impl()
1041 z.imag = copysign(INF, sin(phi)); in cmath_rect_impl()
1045 z.imag = -copysign(INF, sin(phi)); in cmath_rect_impl()
1063 z.imag = r * phi; in cmath_rect_impl()
1068 z.imag = r * sin(phi); in cmath_rect_impl()
1088 return PyBool_FromLong(Py_IS_FINITE(z.real) && Py_IS_FINITE(z.imag)); in cmath_isfinite_impl()
1101 return PyBool_FromLong(Py_IS_NAN(z.real) || Py_IS_NAN(z.imag)); in cmath_isnan_impl()
1115 Py_IS_INFINITY(z.imag)); in cmath_isinf_impl()
1156 if ( (a.real == b.real) && (a.imag == b.imag) ) { in cmath_isclose_impl()
1170 if (Py_IS_INFINITY(a.real) || Py_IS_INFINITY(a.imag) || in cmath_isclose_impl()
1171 Py_IS_INFINITY(b.real) || Py_IS_INFINITY(b.imag)) { in cmath_isclose_impl()
1249 #define C(REAL, IMAG) p->real = REAL; p->imag = IMAG; ++p; in cmath_exec() argument