On Fri, Dec 24, 2010 at 5:39 PM, Lisandro Dalcin <[email protected]> wrote: > On 24 December 2010 18:22, Wes McKinney <[email protected]> wrote: >> >> Tried this and no luck. I'd say it's definitely a 0.14 bug (I nuked >> everything tried 0.14 and it failed, then nuked everything again, >> installed 0.13 and things are back to working). >> >> Let me know how I can help debug. >> > > OK, now I understand what's going on. I seems Cython 0.14 do not > actually have the fix I was talking about. Any chance you could > install cython from github repo and give another try? > > Alternatively, you could apply the patch below to your copy of 0.14 > and rebuild+install Cython. > > > $ git show 29efcd449d933cab1405b98530e6272dea683987 > commit 29efcd449d933cab1405b98530e6272dea683987 > Author: Lisandro Dalcin <[email protected]> > Date: Mon Dec 13 20:10:55 2010 -0300 > > MSVC: fixes for complex types > > diff --git a/Cython/Compiler/PyrexTypes.py b/Cython/Compiler/PyrexTypes.py > index 38df20d..bde7356 100755 > --- a/Cython/Compiler/PyrexTypes.py > +++ b/Cython/Compiler/PyrexTypes.py > @@ -1371,10 +1371,10 @@ impl=""" > } > #if %(is_float)s > static CYTHON_INLINE %(real_type)s __Pyx_c_abs%(m)s(%(type)s z) { > - #if HAVE_HYPOT > - return hypot%(m)s(z.real, z.imag); > - #else > + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) > return sqrt%(m)s(z.real*z.real + z.imag*z.imag); > + #else > + return hypot%(m)s(z.real, z.imag); > #endif > } > static CYTHON_INLINE %(type)s __Pyx_c_pow%(m)s(%(type)s a, > %(type)s b) { > diff --git a/tests/run/complex_numbers_T305.pyx > b/tests/run/complex_numbers_T305.pyx > index f743330..9bcafe7 100644 > --- a/tests/run/complex_numbers_T305.pyx > +++ b/tests/run/complex_numbers_T305.pyx > @@ -28,8 +28,8 @@ def test_pow(double complex z, double complex w, tol=None): > Various implementations produce slightly different results... > > >>> a = complex(3, 1) > - >>> test_pow(a, 1) > - (3+1j) > + >>> test_pow(a, 1, 1e-15) > + True > >>> test_pow(a, 2, 1e-15) > True > >>> test_pow(a, a, 1e-15) > @@ -48,7 +48,7 @@ def test_int_pow(double complex z, int n, tol=None): > [True, True, True, True, True, True, True, True, True] > >>> [test_int_pow(complex(0, 2), k, 1e-15) for k in range(-4, 5)] > [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] > """ > if tol is None: > > > > -- > Lisandro Dalcin > --------------- > CIMEC (INTEC/CONICET-UNL) > Predio CONICET-Santa Fe > Colectora RN 168 Km 472, Paraje El Pozo > Tel: +54-342-4511594 (ext 1011) > Tel/Fax: +54-342-4511169 > _______________________________________________ > Cython-dev mailing list > [email protected] > http://codespeak.net/mailman/listinfo/cython-dev >
Works fine for me with the git HEAD-- maybe time for a bugfix release? :) I suspect that quite a few Windows users will be affected by this. _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
