Hi Julian, to distinguish between mingw32 and mingw-w64 we need something like this:
#include <stdlib.h> if !defined(HAVE_EXPM1) || defined(__MINGW64_VERSION_MAJOR) instead of if !defined(HAVE_EXPM1) || defined(__MINGW32__) the latter is true for both: mingw32 and mingw-w64. I guess the mingw32 implementation of expm1 is again different. stdlib.h has to be included to define __MINGW64_VERSION_MAJOR 2014-04-23 23:27 GMT+02:00 Julian Taylor <jtaylor.deb...@googlemail.com>: > 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. > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion