Charles R Harris wrote: > > > On Mon, May 11, 2009 at 4:49 PM, Peter Wang <pw...@enthought.com > <mailto: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. >
isnan is a C99 function (more exactly a macro), so we should not have defined it in the first place in public header, strictly speaking. The replacement in numpy 1.3 is npy_nan (and for every math function, replaced with the npy_ prefix). > 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! > You could just reproduce the logic used for numpy 1.3: check whether isnan is declared in math.h, and if not, use a replacement (the replacement are in npy_math.h - they are guaranteed to work on most platforms where numpy runs). It avoids hardcoding versions, which is often problematic if you need to support many platforms. cheers, David _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion