[EMAIL PROTECTED] wrote: > > 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.
Okay, I hope this isn't line noise, but our AMD 64 with R version 2.5.1 gets: > 1/ Im(1/complex(real = -1)) [1] -Inf > sessionInfo() R version 2.5.1 (2007-06-27) x86_64-pc-linux-gnu locale: LC_CTYPE=en_US;LC_NUMERIC=C;LC_TIME=en_US;LC_COLLATE=en_US;LC_MONETARY=en_US;LC_MESSAGES=en_US;LC_PAPER=en_US;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US;LC_IDENTIFICATION=C attached base packages: [1] "stats" "graphics" "grDevices" "utils" "datasets" "methods" [7] "base" Should I compile R-devel and post the results of the above? Jeff -- http://biostat.mc.vanderbilt.edu/JeffreyHorner ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel