[Numpy-discussion] Test error with ATLAS, Windows 64 bit

Carl Kleffner cmkleffner at gmail.com
Thu Apr 24 16:22:47 EDT 2014


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.debian at googlemail.com>:

> On 23.04.2014 21:25, Matthew Brett wrote:
> > Hi,
> >
> > On Tue, Apr 15, 2014 at 12:34 AM, Julian Taylor
> > <jtaylor.debian at googlemail.com> wrote:
> >> On Tue, Apr 15, 2014 at 4:30 AM, Matthew Brett <matthew.brett at 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 at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140424/575c5af3/attachment.html>


More information about the NumPy-Discussion mailing list