mwelinder@gmail.com
2005-May-26 22:55 UTC
[Rd] qpois accuracy, efficiency, termination (PR#7900)
Full_Name: Morten Welinder Version: 2.1.0 OS: src only Submission from: (NULL) (216.223.241.226) The qpois code has several problems in 2.1.0: 1. The code essentially does... z = qnorm(R_DT_qIv(porig), 0., 1., /*lower_tail*/TRUE, /*log_p*/FALSE); ...when it could just as well do... z = qnorm(porig, 0., 1., lower_tail, log_p); That would eliminate a lot of underflows. 2. A third party tells me that you want "gamma = 1 / sigma", not "gamma sigma". That should speed things up a lot. 3. If y>1/DBL_EPSILON (or a bit larger if intermediate results have better accuracy than double) then the loops will not terminate. And, yes, the "fixme" is right that stepping is a bit too primitive.