Hi, On Wed, Apr 23, 2014 at 2:27 PM, Julian Taylor <jtaylor.deb...@googlemail.com> wrote: > On 23.04.2014 21:25, Matthew Brett wrote: >> Hi, >> >> On Tue, Apr 15, 2014 at 12:34 AM, Julian Taylor >> <jtaylor.deb...@googlemail.com> wrote: >>> On Tue, Apr 15, 2014 at 4:30 AM, Matthew Brett <matthew.br...@gmail.com> >>> wrote: >>>> >>>> It looks as though mingw-w64 is at fault, and I was confused (still >>>> am) because of the different behavior with double and a constant: >>>> >>>> #include <stdio.h> >>>> #include <math.h> >>>> >>>> int main() { >>>> double z, i = -0.0; >>>> printf("With double %f=%f, with constant=%f\n", >>>> i, expm1(i), expm1(-0.)); >>>> } >>>> >>>> gives: >>>> >>>> With double -0.000000=0.000000, with constant=-0.000000 >>>> >>>> That was ugly to track down. >>>> >>>> What is the right way to work round this (using the numpy version >>>> instead of the system version I suppose)? >>>> >>> >>> The right way is to file a bug at mingw and get it fixed at the source. >> >> http://sourceforge.net/p/mingw-w64/code/6594/ > > great thanks for reporting it. > >> >>> Additionally as this time npymath seems to be better (thats 3 bugs in >>> npymath vs 1 in mingw on my scoreboard) one could use the mingw >>> preprocessor define instead of HAVE_EXP1M to select this function from >>> npymath. >> >> Sorry to be slow - could you unpack what you mean in this paragraph? >> Is there a way to force use of the numpy version of the function using >> environment variables or similar? >> > > I mean something along the line of attached patch, maybe you can try it. > If it works I can file a numpy PR.
Thanks for the patch - I see what you mean now. I wonder if there should be some mechanism by which different compilers can set these? What was the issue with MSVC for example - does it need something like this too? Cheers, Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion