From A.Robinson at ms.unimelb.edu.au  Tue Mar 28 13:01:50 2006
From: A.Robinson at ms.unimelb.edu.au (Andrew Robinson)
Date: Tue, 28 Mar 2006 21:01:50 +1000
Subject: [Rd] R 2.3.0 (alpha) on FreeBSD 6.1 fails make check-all
In-Reply-To: <Pine.LNX.4.64.0603281025470.26448@gannet.stats.ox.ac.uk>
References: <20060328075537.GD53476@ms.unimelb.edu.au>
	<Pine.LNX.4.64.0603280846340.25281@gannet.stats.ox.ac.uk>
	<20060328101948.GJ53476@ms.unimelb.edu.au>
	<Pine.LNX.4.64.0603281025470.26448@gannet.stats.ox.ac.uk>
Message-ID: <20060328110150.GL53476@ms.unimelb.edu.au>

I get:

> Rhyper <- scan()
1: 16 11 11 15 11 13 13 12 13 10 10  7 11 14 13  9 14 13 13 11 
21:
Read 20 items
> Phyper         <- phyper   (Rhyper, m = 40, n = 30, k = 20) 
> qhyper(Phyper, m = 40, n = 30, k = 20)                             
 [1] 16 11 11 15 11 13 13 12 13 10 10  8 11 14 13  9 14 13 13 11


The 12th element (8) differs from the input (7). 


> Phyper <- phyper (7, m = 40, n = 30, k = 20)
> qhyper(Phyper, m = 40, n = 30, k = 20)
[1] 8


If I do this using 2.2.1 then the input and the output are identical.




On Tue, Mar 28, 2006 at 10:27:08AM +0100, Prof Brian Ripley wrote:
> On Tue, 28 Mar 2006, Andrew Robinson wrote:
> 
> >You're welcome.  You are correct.  d-p-q-r-tests.Rout.fail
> >shows:
> >
> >>All.eq(Rhyper,          qhyper   (Phyper, m = 40, n = 30, k = 20))
> >[1] "Mean scaled  difference: 0.08333333"
> 
> Yes, please run the lines below, e.g.
> 
> Rhyper <- scan()
> 16 11 11 15 11 13 13 12 13 10 10  7 11 14 13  9 14 13 13 11
> 
> Phyper         <- phyper   (Rhyper, m = 40, n = 30, k = 20)
> qhyper(Phyper, m = 40, n = 30, k = 20)
> 
> and tell us what answer you get.
> 
> 
> >
> >
> >
> >Let me know if/how I can further assist.
> >
> >Andrew
> >
> >
> >
> >On Tue, Mar 28, 2006 at 09:03:48AM +0100, Prof Brian Ripley wrote:
> >>Thanks for checking.
> >>
> >>Please look in d-p-q-r-tests.Rout.fail and see what immediately preceeds
> >>the line
> >>
> >>[1] "Mean scaled  difference: 0.08333333"
> >>
> >>Some experimentation suggests it is
> >>
> >>>All.eq(Rhyper,	  qhyper   (Phyper, m = 40, n = 30, k = 20))
> >>
> >>If so, we have
> >>
> >>Rhyper <- scan()
> >>16 11 11 15 11 13 13 12 13 10 10  7 11 14 13  9 14 13 13 11
> >>
> >>Phyper	  <- phyper   (Rhyper, m = 40, n = 30, k = 20)
> >>
> >>and those have been checked.  So the error would appear to be in
> >>
> >>qhyper(Phyper, m = 40, n = 30, k = 20)
> >>
> >>and indeed a mean scaled difference of 1/12 is plausible, since the mean
> >>of Rhyper is 12. So I deduce that your platform has a problem in qhyper,
> >>but please cross-check.
> >>
> >>If so, this is strange as the only recent change to qhyper.c (or things I
> >>can see it uses such as lfastchoose) is cosmetic.
> >>
> >>Can you confirm the diagnosis is correct so far?
> >>
> >>
> >>On Tue, 28 Mar 2006, Andrew Robinson wrote:
> >>
> >>>Hi Developers,
> >>>
> >>>The alpha, compiles successfully, but it is failing make check-all (on
> >>>two seperate machines, both FreeBSD 6.1).
> >>>
> >>>Here is the version string:
> >>>
> >>>platform       i386-unknown-freebsd6.1
> >>>arch           i386
> >>>os             freebsd6.1
> >>>system         i386, freebsd6.1
> >>>status         alpha
> >>>major          2
> >>>minor          3.0
> >>>year           2006
> >>>month          03
> >>>day            27
> >>>svn rev        37584
> >>>language       R
> >>>version.string Version 2.3.0 alpha (2006-03-27 r37584)
> >>>
> >>>
> >>>
> >>>Here is the error message from make check-all
> >>>
> >>>comparing 'd-p-q-r-tests.Rout' to './d-p-q-r-tests.Rout.save'
> >>>...706c706
> >>>< [1] "Mean scaled  difference: 0.08333333"
> >>>---
> >>>>[1] TRUE
> >>>gmake[3]: *** [d-p-q-r-tests.Rout] Error 1
> >>>gmake[3]: Leaving directory `/usr/local/beta/R-alpha/tests'
> >>>gmake[2]: *** [test-Specific] Error 2
> >>>gmake[2]: Leaving directory `/usr/local/beta/R-alpha/tests'
> >>>gmake[1]: *** [test-all-basics] Error 1
> >>>gmake[1]: Leaving directory `/usr/local/beta/R-alpha/tests'
> >>>gmake: *** [check-all] Error 2
> >>>
> >>>
> >>>
> >>>
> >>>I have checked d-p-q-r-tests.Rout.fail for any obvious problems - I
> >>>found some warnings, viz.
> >>>
> >>>
> >>>
> >>>>pgamma(1,Inf,scale=Inf) == 0
> >>>[1] TRUE
> >>>>## Also pgamma(Inf,Inf) == 1 for which NaN was slightly more
> >>>appropriate
> >>>>all(is.nan(c(pgamma(Inf,  1,scale=Inf),
> >>>+              pgamma(Inf,Inf,scale=Inf))))
> >>>[1] TRUE
> >>>Warning messages:
> >>>1: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p)
> >>>2: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p)
> >>>
> >>>
> >>>
> >>>
> >>>>x0 <- -2 * 10^-c(22,10,7,5)
> >>>>stopifnot(pbinom(x0, size = 3, prob = 0.1) == 0,
> >>>+           dbinom(x0, 3, 0.1) == 0) # d*() warns about non-integer
> >>>Warning messages:
> >>>1: non-integer x = -0.000000
> >>>2: non-integer x = -0.000020
> >>>>## very small negatives were rounded to 0 in R 2.2.1 and earlier
> >>>>
> >>>
> >>>
> >>>I hope that this is helpful.  Thanks are due to Peter Dalgaard for
> >>>guidance.  So, thanks Peter :).
> >>>
> >>>Cheers
> >>>
> >>>Andrew
> >>>
> >>
> >>--
> >>Brian D. Ripley,                  ripley at stats.ox.ac.uk
> >>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
> >
> >
> 
> -- 
> Brian D. Ripley,                  ripley at stats.ox.ac.uk
> 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

-- 
Andrew Robinson  
Department of Mathematics and Statistics            Tel: +61-3-8344-9763
University of Melbourne, VIC 3010 Australia         Fax: +61-3-8344-4599
Email: a.robinson at ms.unimelb.edu.au         http://www.ms.unimelb.edu.au



[Rd] R 2.3.0 (alpha) on FreeBSD 6.1 fails make check-all
Andrew Robinson