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