Xing Qiu <[EMAIL PROTECTED]> writes: > Thank you very much, I did try your simple C program and it works > without any problem. I even tried some more sophisticated examples, > and they all print out nan instead of a segfault. > > My computer has a Pentium 4 CPU, and I compiled R with the following > flags (these are just my default compiler Cflags): > > -O3 -march=pentium4 -pipe -fomit-frame-pointer -ffast-math > -mfpmath=sse,387 -msse2 -mmmx
Get rid of those math settings. fast-math tends to break IEEE compliance and fpmath=sse,387 is labeled experimental on the gcc man page (as you might well have found out for yourself...). -p > > > --- Prof Brian Ripley <[EMAIL PROTECTED]> wrote: > > > To expand on Dirk's answer, R relies on fairly close compliance to > > IEC60559 (aka IEEE754) arithmetic in which 0/0 = NaN. As R is > > C/Fortran > > program, this is a function of your C/Fortran compilers (it is most > > likely > > an FPU setting controlled by the compiler than libc). Problems in > > this > > area are documented in the R-admin manual. > > > > We don't know the CPU here, so ix86 is a plausible guess. That has > > a FPU > > control word that determines if 0/0 is NaN or an exception. Prior > > to > > glibc 2.1 it could be set by __setfpucw and R sets it if > > NEED___SETFPUCW > > is defined (only in older Linuxen). > > > > Other people using Gentoo are not reporting problems, so this has > > to be a > > very specific problem, one which is best addressed to a Gentoo > > list. Try > > a very simple C program such as > > > > #include <stdio.h> > > int main() > > { > > double x = 0.0; > > printf("x/x = %f\n", x/x); > > } > > > > R is doing nothing different on my Linux box (except it arranges to > > print > > NaN not nan regardless of platform). > > > > On Thu, 18 Aug 2005, Dirk Eddelbuettel wrote: > > > > > > > > On 18 August 2005 at 16:01, Xing Qiu wrote: > > > | Hi, > > > | > > > | I noticed that when I was conducting some calculation > > involving > > > | finding correlation coeficients, R stopped abnormally. So I did > > some > > > | research, and find out that 0/0 was the culprit. For sure 0/0 > > is not > > > | a valid expression, but R should give a warning, an error msg > > or NaN > > > | instead of segmentation fault. > > > | > > > | I am using R 2.1.0 under Gentoo Linux. My GCC version is > > 3.3.5. > > > > > > [EMAIL PROTECTED]:~> R > > > > > > R : Copyright 2005, The R Foundation for Statistical Computing > > > Version 2.1.1 (2005-06-20), ISBN 3-900051-07-0 > > > > > > R is free software and comes with ABSOLUTELY NO WARRANTY. > > > You are welcome to redistribute it under certain conditions. > > > Type 'license()' or 'licence()' for distribution details. > > > > > > R is a collaborative project with many contributors. > > > Type 'contributors()' for more information and > > > 'citation()' on how to cite R or R packages in publications. > > > > > > Type 'demo()' for some demos, 'help()' for on-line help, or > > > 'help.start()' for a HTML browser interface to help. > > > Type 'q()' to quit R. > > > > > >> 0/0 > > > [1] NaN > > >> > > > > > > No problem on Debian 'testing' with R 2.1.1. You may want to try > > a different > > > libc. > > > > > > Dirk > > > > > > -- > > > Statistics: The (futile) attempt to offer certainty about > > uncertainty. > > > -- Roger Koenker, 'Dictionary of Received Ideas of > > Statistics' > > > > > > ______________________________________________ > > > R-help@stat.math.ethz.ch mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-help > > > PLEASE do read the posting guide! > > http://www.R-project.org/posting-guide.html > > > > > > > -- > > Brian D. Ripley, [EMAIL PROTECTED] > > Professor of Applied Statistics, > > http://www.stats.ox.ac.uk/~ripley/ > > University of Oxford, Tel: +44 1865 272861 (self) > > 1 South Parks Road, +44 1865 272866 (PA) > > Oxford OX1 3TG, UK Fax: +44 1865 272595 > > > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > -- O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html