Full_Name: John Nolan Version: 2.0.1 OS: Win XP Submission from: (NULL) (151.200.9.43) I think there are two small bugs in the Kolmogorov Smirnov test routines. (1) In the R function ks.test, toward the bottom, the internal function pkstwo does: p[IND] <- .C("pkstwo", as.integer(length(x)), p = as.double(x[IND]), as.double(tol), PACKAGE = "stats")$p Instead of length(x), shouldn't length(x[IND]) be passed? If there are NAs, length(x) > length(x[IND]) and the called C routine will try to process more values than it should. (2) In C routine ks.c, the function pkstwo describes two series it evaluates, depending on whether x > 1 or x < 1. The second case uses a formula described in the comments at the head of the function as * = \sqrt{2\pi/x} \sum_{k=1}^\infty \exp(-(2k-1)^2\pi^2/(8x^2)) The code actually evaluates \sqrt{2\pi}/x, not \sqrt{2\pi/x}. I am not sure which equation is right: both agree at x=1 so there is no easy test here. If the equation is correct, the code should be changed to have w 0.5*log(x[i]), not w = log(x[i]). If the code is right, change the equation in the comment. John Nolan