> -----Original Message----- > From: Peter Dalgaard BSA [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 24, 2003 1:20 PM > To: Jeff Lewis > Cc: [EMAIL PROTECTED] > Subject: Re: [R] R-1.7.1 regression test failure on > alphaev68-dec-osf5.1 > > > "Jeff Lewis" <[EMAIL PROTECTED]> writes: > > > I'm attempting to compile and install R version 1.7.1 for > my statistical > > geneticists. It seems to compile correctly -- that is, it compiles > > without errors -- but the regression test is failing in the > following > > manner: > > > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > > ## log > > > stopifnot(all.equal(log(1:10), log(1:10, exp(1)))) > > > stopifnot(all.equal(log10(30), log(30, 10))) > > > stopifnot(all.equal(log2(2^pi), 2^log2(pi))) > > > stopifnot(Mod(pi - log(exp(pi*1i)) / 1i) < .Machine$double.eps) > > Error: Mod(pi - log(exp(pi * (0+1i)))/(0+1i)) < > .Machine$double.eps is > > not TRUE > > Execution halted > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > > > I'm compiling on Tru64UNIX 5.1A using DECs C and Fortran > compilers and > > perl 5.6.0. I found the above error in a file named > > 'reg-tests-1.Rout.fail'. Any help you can give me would be most > > appreciated. > > Well, it seems to be an accuracy issue, so the first question would be > what the values on both sides of the equality are (just start up R and > enter the expressions on te command line). You might have > > 1) Completely wrong results in complex arithmetic > 2) Slightly less than optimal accuracy > 3) An underestimated .Machine$double.eps > > Case 2) seems most likely, but case 3) has been observed with buggy > compilers that optimize calculations where they shouldn't.
Thanks for the quick response. The two sides of the equality are definately different. Here's what I'm seeing =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > pi [1] 3.141593 > 1i [1] 0+1i > pi*1i [1] 0+3.141593i > exp(pi*1i) [1] -1+1.224647e-16i > log(exp(pi*1i)) [1] 0+3.141593i > log(exp(pi*1i)) / 1i [1] 3.141593+0i > pi - log(exp(pi*1i)) / 1i [1] 4.440892e-16+0i > Mod(pi - log(exp(pi*1i)) / 1i) [1] 4.440892e-16 > .Machine$double.eps [1] 2.220446e-16 > Mod(pi - log(exp(pi*1i)) / 1i) < .Machine$double.eps [1] FALSE =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= I get the same thing from R 1.6.2, which I compiled about six months ago. Is there anything I can/should do to fix this? ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help