Commit 29efcd44 authored by Lisandro Dalcin's avatar Lisandro Dalcin

MSVC: fixes for complex types

parent b734ecc0
...@@ -1371,10 +1371,10 @@ impl=""" ...@@ -1371,10 +1371,10 @@ impl="""
} }
#if %(is_float)s #if %(is_float)s
static CYTHON_INLINE %(real_type)s __Pyx_c_abs%(m)s(%(type)s z) { static CYTHON_INLINE %(real_type)s __Pyx_c_abs%(m)s(%(type)s z) {
#if HAVE_HYPOT #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
return hypot%(m)s(z.real, z.imag);
#else
return sqrt%(m)s(z.real*z.real + z.imag*z.imag); return sqrt%(m)s(z.real*z.real + z.imag*z.imag);
#else
return hypot%(m)s(z.real, z.imag);
#endif #endif
} }
static CYTHON_INLINE %(type)s __Pyx_c_pow%(m)s(%(type)s a, %(type)s b) { static CYTHON_INLINE %(type)s __Pyx_c_pow%(m)s(%(type)s a, %(type)s b) {
......
...@@ -28,8 +28,8 @@ def test_pow(double complex z, double complex w, tol=None): ...@@ -28,8 +28,8 @@ def test_pow(double complex z, double complex w, tol=None):
Various implementations produce slightly different results... Various implementations produce slightly different results...
>>> a = complex(3, 1) >>> a = complex(3, 1)
>>> test_pow(a, 1) >>> test_pow(a, 1, 1e-15)
(3+1j) True
>>> test_pow(a, 2, 1e-15) >>> test_pow(a, 2, 1e-15)
True True
>>> test_pow(a, a, 1e-15) >>> test_pow(a, a, 1e-15)
...@@ -48,7 +48,7 @@ def test_int_pow(double complex z, int n, tol=None): ...@@ -48,7 +48,7 @@ def test_int_pow(double complex z, int n, tol=None):
[True, True, True, True, True, True, True, True, True] [True, True, True, True, True, True, True, True, True]
>>> [test_int_pow(complex(0, 2), k, 1e-15) for k in range(-4, 5)] >>> [test_int_pow(complex(0, 2), k, 1e-15) for k in range(-4, 5)]
[True, True, True, True, True, True, True, True, True] [True, True, True, True, True, True, True, True, True]
>>> [test_int_pow(complex(2, 0.5), k, 1e-15) for k in range(0, 10)] >>> [test_int_pow(complex(2, 0.5), k, 1e-14) for k in range(0, 10)]
[True, True, True, True, True, True, True, True, True, True] [True, True, True, True, True, True, True, True, True, True]
""" """
if tol is None: if tol is None:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment