NaN value processing in weave.inline code

Hi, I was wondering if it is possible to process (in if statement - check if the given value is NaN) numpy NaN value inside the weave.inline c code. testcode = ''' if (test(0)) { return_val = test(0); } ''' err = weave.inline(testcode, ['test'], type_converters = converters.blitz, force = 0, verbose = 1) with test(0) = nan returns err = nan correctly, but I don't know how to check the nan value inside the c inline c code. Is there any way I can get similar functionality as isnan? Thank you, Joon --

On Fri, Jan 14, 2011 at 12:03 PM, Joon Ro <joonpyro@gmail.com> wrote:
Hi, I was wondering if it is possible to process (in if statement - check if the given value is NaN) numpy NaN value inside the weave.inline c code.
testcode = ''' if (test(0)) { return_val = test(0); } '''
err = weave.inline(testcode, ['test'], type_converters = converters.blitz, force = 0, verbose = 1)
with test(0) = nan returns err = nan correctly, but I don't know how to check the nan value inside the c inline c code. Is there any way I can get similar functionality as isnan?
To check if a scalar, x, is NaN: if x == x: # No, it is not a NaN else: # Yes, it is a NaN

Oops .. I guess isnan() inside the weave code just works fine. Should have tried this first. By the way, is there any speed lost doing this? Should I convert all NaN values into a integer and use it inside the weave inline c code? -Joon On Fri, 14 Jan 2011 14:03:16 -0600, Joon Ro <joonpyro@gmail.com> wrote:
Hi,
I was wondering if it is possible to process (in if statement - check if the given value is NaN) numpy NaN value inside the weave.inline c code.
testcode = ''' if (test(0)) { return_val = test(0); } '''
err = weave.inline(testcode, ['test'], type_converters = converters.blitz, force = 0, verbose = 1)
with test(0) = nan returns err = nan correctly, but I don't know how to check the nan value inside the c inline c code. Is there any way I can get similar functionality as isnan?
Thank you, Joon --
--
participants (2)
-
Joon Ro
-
Keith Goodman