On Mon, May 11, 2009 at 4:49 PM, Peter Wang <pw...@enthought.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 #include ufuncobject.h #ifdef _MSC_VER #ifndef isnan #define isnan(x) ((x) != (x)) #endif #endif Chuck
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion