Lines Matching full:real

39    square roots accurately when the real and imaginary parts of the argument
101 if (!Py_IS_FINITE((z).real) || !Py_IS_FINITE((z).imag)) { \
103 return table[special_type((z).real)] \
115 /* First, the C functions that do the real work. Each of the c_*
133 if (fabs(z.real) > CM_LARGE_DOUBLE || fabs(z.imag) > CM_LARGE_DOUBLE) { in c_acos()
135 r.real = atan2(fabs(z.imag), z.real); in c_acos()
138 if (z.real < 0.) { in c_acos()
139 r.imag = -copysign(log(hypot(z.real/2., z.imag/2.)) + in c_acos()
142 r.imag = copysign(log(hypot(z.real/2., z.imag/2.)) + in c_acos()
146 s1.real = 1.-z.real; in c_acos()
149 s2.real = 1.+z.real; in c_acos()
152 r.real = 2.*atan2(s1.real, s2.real); in c_acos()
153 r.imag = m_asinh(s2.real*s1.imag - s2.imag*s1.real); in c_acos()
174 if (fabs(z.real) > CM_LARGE_DOUBLE || fabs(z.imag) > CM_LARGE_DOUBLE) { in c_acosh()
176 r.real = log(hypot(z.real/2., z.imag/2.)) + M_LN2*2.; in c_acosh()
177 r.imag = atan2(z.imag, z.real); in c_acosh()
179 s1.real = z.real - 1.; in c_acosh()
182 s2.real = z.real + 1.; in c_acosh()
185 r.real = m_asinh(s1.real*s2.real + s1.imag*s2.imag); in c_acosh()
186 r.imag = 2.*atan2(s1.imag, s2.real); in c_acosh()
203 s.real = -z.imag; in c_asin()
204 s.imag = z.real; in c_asin()
206 r.real = s.imag; in c_asin()
207 r.imag = -s.real; in c_asin()
226 if (fabs(z.real) > CM_LARGE_DOUBLE || fabs(z.imag) > CM_LARGE_DOUBLE) { in c_asinh()
228 r.real = copysign(log(hypot(z.real/2., z.imag/2.)) + in c_asinh()
229 M_LN2*2., z.real); in c_asinh()
231 r.real = -copysign(log(hypot(z.real/2., z.imag/2.)) + in c_asinh()
232 M_LN2*2., -z.real); in c_asinh()
234 r.imag = atan2(z.imag, fabs(z.real)); in c_asinh()
236 s1.real = 1.+z.imag; in c_asinh()
237 s1.imag = -z.real; in c_asinh()
239 s2.real = 1.-z.imag; in c_asinh()
240 s2.imag = z.real; in c_asinh()
242 r.real = m_asinh(s1.real*s2.imag-s2.real*s1.imag); in c_asinh()
243 r.imag = atan2(z.imag, s1.real*s2.real-s1.imag*s2.imag); in c_asinh()
260 s.real = -z.imag; in c_atan()
261 s.imag = z.real; in c_atan()
263 r.real = s.imag; in c_atan()
264 r.imag = -s.real; in c_atan()
273 if (Py_IS_NAN(z.real) || Py_IS_NAN(z.imag)) in c_atan2()
276 if (Py_IS_INFINITY(z.real)) { in c_atan2()
277 if (copysign(1., z.real) == 1.) in c_atan2()
287 if (Py_IS_INFINITY(z.real) || z.imag == 0.) { in c_atan2()
288 if (copysign(1., z.real) == 1.) in c_atan2()
295 return atan2(z.imag, z.real); in c_atan2()
314 /* Reduce to case where z.real >= 0., using atanh(z) = -atanh(-z). */ in c_atanh()
315 if (z.real < 0.) { in c_atanh()
320 if (z.real > CM_SQRT_LARGE_DOUBLE || ay > CM_SQRT_LARGE_DOUBLE) { in c_atanh()
326 h = hypot(z.real/2., z.imag/2.); /* safe from overflow */ in c_atanh()
327 r.real = z.real/4./h/h; in c_atanh()
334 } else if (z.real == 1. && ay < CM_SQRT_DBL_MIN) { in c_atanh()
337 r.real = INF; in c_atanh()
341 r.real = -log(sqrt(ay)/sqrt(hypot(ay, 2.))); in c_atanh()
346 r.real = m_log1p(4.*z.real/((1-z.real)*(1-z.real) + ay*ay))/4.; in c_atanh()
347 r.imag = -atan2(-2.*z.imag, (1-z.real)*(1+z.real) - ay*ay)/2.; in c_atanh()
364 r.real = -z.imag; in c_cos()
365 r.imag = z.real; in c_cos()
386 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in c_cosh()
387 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) && in c_cosh()
389 if (z.real > 0) { in c_cosh()
390 r.real = copysign(INF, cos(z.imag)); in c_cosh()
394 r.real = copysign(INF, cos(z.imag)); in c_cosh()
399 r = cosh_special_values[special_type(z.real)] in c_cosh()
404 if (Py_IS_INFINITY(z.imag) && !Py_IS_NAN(z.real)) in c_cosh()
411 if (fabs(z.real) > CM_LOG_LARGE_DOUBLE) { in c_cosh()
412 /* deal correctly with cases where cosh(z.real) overflows but in c_cosh()
414 x_minus_one = z.real - copysign(1., z.real); in c_cosh()
415 r.real = cos(z.imag) * cosh(x_minus_one) * Py_MATH_E; in c_cosh()
418 r.real = cos(z.imag) * cosh(z.real); in c_cosh()
419 r.imag = sin(z.imag) * sinh(z.real); in c_cosh()
422 if (Py_IS_INFINITY(r.real) || Py_IS_INFINITY(r.imag)) in c_cosh()
445 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in c_exp()
446 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) in c_exp()
448 if (z.real > 0) { in c_exp()
449 r.real = copysign(INF, cos(z.imag)); in c_exp()
453 r.real = copysign(0., cos(z.imag)); in c_exp()
458 r = exp_special_values[special_type(z.real)] in c_exp()
464 (Py_IS_FINITE(z.real) || in c_exp()
465 (Py_IS_INFINITY(z.real) && z.real > 0))) in c_exp()
472 if (z.real > CM_LOG_LARGE_DOUBLE) { in c_exp()
473 l = exp(z.real-1.); in c_exp()
474 r.real = l*cos(z.imag)*Py_MATH_E; in c_exp()
477 l = exp(z.real); in c_exp()
478 r.real = l*cos(z.imag); in c_exp()
482 if (Py_IS_INFINITY(r.real) || Py_IS_INFINITY(r.imag)) in c_exp()
501 The usual formula for the real part is log(hypot(z.real, z.imag)). in c_log()
512 z.real and z.imag are within a factor of 1/sqrt(2) of DBL_MAX) in c_log()
517 change of 1ulp in the real or imaginary part of z can result in a in c_log()
533 ax = fabs(z.real); in c_log()
537 r.real = log(hypot(ax/2., ay/2.)) + M_LN2; in c_log()
541 r.real = log(hypot(ldexp(ax, DBL_MANT_DIG), in c_log()
546 r.real = -INF; in c_log()
547 r.imag = atan2(z.imag, z.real); in c_log()
556 r.real = m_log1p((am-1)*(am+1)+an*an)/2.; in c_log()
558 r.real = log(h); in c_log()
561 r.imag = atan2(z.imag, z.real); in c_log()
575 r.real = r.real / M_LN10; in c_log10()
592 s.real = -z.imag; in c_sin()
593 s.imag = z.real; in c_sin()
595 r.real = s.imag; in c_sin()
596 r.imag = -s.real; in c_sin()
617 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in c_sinh()
618 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) in c_sinh()
620 if (z.real > 0) { in c_sinh()
621 r.real = copysign(INF, cos(z.imag)); in c_sinh()
625 r.real = -copysign(INF, cos(z.imag)); in c_sinh()
630 r = sinh_special_values[special_type(z.real)] in c_sinh()
635 if (Py_IS_INFINITY(z.imag) && !Py_IS_NAN(z.real)) in c_sinh()
642 if (fabs(z.real) > CM_LOG_LARGE_DOUBLE) { in c_sinh()
643 x_minus_one = z.real - copysign(1., z.real); in c_sinh()
644 r.real = cos(z.imag) * sinh(x_minus_one) * Py_MATH_E; in c_sinh()
647 r.real = cos(z.imag) * sinh(z.real); in c_sinh()
648 r.imag = sin(z.imag) * cosh(z.real); in c_sinh()
651 if (Py_IS_INFINITY(r.real) || Py_IS_INFINITY(r.imag)) in c_sinh()
670 Method: use symmetries to reduce to the case when x = z.real and y in c_sqrt()
671 = z.imag are nonnegative. Then the real part of the result is in c_sqrt()
702 if (z.real == 0. && z.imag == 0.) { in c_sqrt()
703 r.real = 0.; in c_sqrt()
708 ax = fabs(z.real); in c_sqrt()
722 if (z.real >= 0.) { in c_sqrt()
723 r.real = s; in c_sqrt()
726 r.real = d; in c_sqrt()
744 s.real = -z.imag; in c_tan()
745 s.imag = z.real; in c_tan()
747 r.real = s.imag; in c_tan()
748 r.imag = -s.real; in c_tan()
781 if (!Py_IS_FINITE(z.real) || !Py_IS_FINITE(z.imag)) { in c_tanh()
782 if (Py_IS_INFINITY(z.real) && Py_IS_FINITE(z.imag) in c_tanh()
784 if (z.real > 0) { in c_tanh()
785 r.real = 1.0; in c_tanh()
790 r.real = -1.0; in c_tanh()
796 r = tanh_special_values[special_type(z.real)] in c_tanh()
800 z.real is finite */ in c_tanh()
801 if (Py_IS_INFINITY(z.imag) && Py_IS_FINITE(z.real)) in c_tanh()
809 if (fabs(z.real) > CM_LOG_LARGE_DOUBLE) { in c_tanh()
810 r.real = copysign(1., z.real); in c_tanh()
811 r.imag = 4.*sin(z.imag)*cos(z.imag)*exp(-2.*fabs(z.real)); in c_tanh()
813 tx = tanh(z.real); in c_tanh()
815 cx = 1./cosh(z.real); in c_tanh()
818 r.real = tx*(1.+ty*ty)/denom; in c_tanh()
991 z.real = copysign(INF, cos(phi)); in cmath_rect()
995 z.real = -copysign(INF, cos(phi)); in cmath_rect()
1013 z.real = r; in cmath_rect()
1018 z.real = r * cos(phi); in cmath_rect()
1040 return PyBool_FromLong(Py_IS_NAN(z.real) || Py_IS_NAN(z.imag)); in cmath_isnan()
1045 Checks if the real or imaginary part of z not a number (NaN)");
1053 return PyBool_FromLong(Py_IS_INFINITY(z.real) || in cmath_isinf()
1059 Checks if the real or imaginary part of z is infinite.");
1107 #define C(REAL, IMAG) p->real = REAL; p->imag = IMAG; ++p; in initcmath() argument