On Thu, 1 Apr 2010, Henrik Bengtsson wrote:

Hi,

I found in a bit of code the following test for infinity:

 if (x == Inf) ...

Is that valid

Yes, if you don't want to also include -Inf

, or should it be (as I always thought):

 if (is.infinite(x)) ...?

If you don't want to distinguish Inf and -Inf

Does it depend on whether 'x' is float or integer?

There isn't an integer infinity. Integer values larger than the maximum 
reprensentable give NA
eg > .Machine$integer.max+1L
[1] NA

My question is related to testing for missing values where is.na(x) is required.

NA is different, because NA by its nature can't compare equal to anything: x==NA asks: "Is x 
equal to some number I don't know?", to which the answer is "Don't know".

x==Inf asks "Is x positive infinite?", which is a perfectly well-defined 
question.

    -thomas

Thomas Lumley                   Assoc. Professor, Biostatistics
tlum...@u.washington.edu        University of Washington, Seattle

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to