On 8/31/07, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > The IEEE floating point standard allows for negative zero, but it's hard > to know that you have one in R. One reliable test is to take the > reciprocal. For example, > > > y <- 0 > > 1/y > [1] Inf > > y <- -y > > 1/y > [1] -Inf > > The other day I came across one in complex numbers, and it took me a > while to figure out that negative zero was what was happening: > > > x <- complex(real = -1) > > x > [1] -1+0i > > 1/x > [1] -1+0i > > x^(1/3) > [1] 0.5+0.8660254i > > (1/x)^(1/3) > [1] 0.5-0.8660254i > > (The imaginary part of 1/x is negative zero.) > > As a Friday question: are there other ways to create and detect > negative zero in R? > > And another somewhat more serious question: is the behaviour of > negative zero consistent across platforms? (The calculations above were > done in Windows in R-devel.)
No, I get > 1/ Im(1/complex(real = -1)) [1] Inf > sessionInfo() R version 2.6.0 Under development (unstable) (2007-08-16 r42532) x86_64-unknown-linux-gnu This is on an AMD 64, and I get -Inf on everything else I've tried so far, which are all Intel. -Deepayan ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel