Martin Maechler
1998-Dec-23 11:59 UTC
hist(1) results in a segmentation fault (at least on my machine) (PR#86)
I've fixed hist.default(); the case for hist(0) and hist(-1) also needed consideration. Here is the patch I've committed: cvs diff -bw -r1.2.2.1 src/library/base/R/hist.R diff -b -w -r1.2.2.1 -r1.2.2.4 16,18c16,18 < use.br <- !missing(breaks) && length(breaks) > 1 < breaks <- < if(use.br) sort(breaks) ---> use.br <- !missing(breaks) && (nB <- length(breaks)) > 1 > if(use.br) > breaks <- sort(breaks)20,22c20,22 < rx <- range(x) < pretty (rx + c(0, diff(rx)/1000), < n = if(missing(breaks)) 1 + log2(n) ---> dx <- diff(rx <- range(x)) > nnb <- > if(missing(breaks)) 1 + log2(n)27d26 < }) 28a28> breaks <- pretty (rx + c(-1,1)/1000 * dx, n = nnb)29a30,35> if(nB == 1) {## search anew for breaks; dx is (always ?) 0. > breaks <- > if(abs(breaks) > 1e-20) sort(breaks * c(.8, 1.2)) else c(-.2,.2) > nB <- length(breaks) > } > }As you may see, I've also changed from a potentially asymmetric rx + c(0, dx/1000) to a symmetric interval rx + c(-1,1)/1000 * dx Hope this okay even so it changes current behavior in some cases. ------------- Merry Christmas to all! I'm gone for the next few days.. Martin -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._