[Numpy-discussion] How to include numpy headers in C across versions 1.1, 1.2, and 1.3
Charles R Harris
Mon May 11 19:11:30 CDT 2009
On Mon, May 11, 2009 at 4:49 PM, Peter Wang <email@example.com> wrote:
> Hey guys,
> I've got a small C extension that uses isnan() and (in numpy 1.1) had
> been importing it from ufuncobject.h. I see that it has now moved
> into npy_math.h in 1.3.
> What is the best way to ensure that I can reliably include this
> function across versions 1.1, 1.2, and 1.3? (Checking
> NPY_FEATURE_VERSION won't work, since it did not change from 1.2 to
> 1.3, although the location of the function definition did.)
> My best idea right now is to simply do a numpy version check in my
> setup.py, and hard-code some macros at the top of my C extension to
> #include the appropriate headers for each version.
> Any help or suggestions would be appreciated!
Oops, looks like we broke the ABI ;) For numpy itself we should fix things
by including npy_math in ufuncobject.h. Looks like a fixup release might be
in offing here. Otherwise there might be a workaround that would work.
<looks> In 1.1.x it looks like isnan is defined in ufuncobject iff it is
compiled on windows. Try
#define isnan(x) ((x) != (x))
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Numpy-discussion