[Rd] make check of R-alpha_2006-04-08_r37675 fails: qbeta
Prof Brian Ripley
ripley at stats.ox.ac.uk
Sun Apr 9 22:30:46 CEST 2006
On Sun, 9 Apr 2006, Peter Dalgaard wrote:
> bhs2 at mevik.net (Bjørn-Helge Mevik) writes:
>
>> make check of R-alpha_2006-04-08_r37675 fails on Debian GNU/Linux 3.1 running
>> on an Intel P4 computer.
>>
>>> version
>> _
>> platform i686-pc-linux-gnu
>> arch i686
>> os linux-gnu
>> system i686, linux-gnu
>> status alpha
>> major 2
>> minor 3.0
>> year 2006
>> month 04
>> day 08
>> svn rev 37675
>> language R
>> version.string Version 2.3.0 alpha (2006-04-08 r37675)
>>
>> I'm using ATLAS with the SSE2 extensions, and get the same error with ATLAS
>> 3.2.1 (packages atlas2-* 3.2.1ln-15 in Debian) and 3.6.0 (packages atlas3-*
>> 3.6.0-19 in Debian). I've also tried without external BLAS (--without-blas),
>> but the error still occurs.
>>
>> 43 (0) $ ./configure
>> [...]
>> R is now configured for i686-pc-linux-gnu
>>
>> Source directory: .
>> Installation directory: /usr/local
>>
>> C compiler: gcc -g -O2 -std=gnu99
>> Fortran 77 compiler: g77 -g -O2
>>
>> C++ compiler: g++ -g -O2
>> Fortran 90/95 compiler: g77 -g -O2
>>
>> Interfaces supported: X11, tcltk
>> External libraries: readline, BLAS(ATLAS)
>> Additional capabilities: PNG, JPEG, iconv, MBCS, NLS
>> Options enabled: R profiling
>>
>> Recommended packages: yes
>>
>> 44 (0) $ make
>> [...]
>>
>> 45 (0) $ make check
>> [...]
>> running code in 'd-p-q-r-tests.R' ... OK
>> comparing 'd-p-q-r-tests.Rout' to './d-p-q-r-tests.Rout.save' ...777,778d776
>> < Warning message:
>> < full precision was not achieved in 'qbeta'
>> make[3]: *** [d-p-q-r-tests.Rout] Error 1
>> [...]
>>
>> 46 (0) $ diff tests/d-p-q-r-tests.Rout.{save,fail}
>> 3c3
>> < Version 2.3.0 alpha (2006-04-03 r37628)
>> ---
>>> Version 2.3.0 alpha (2006-04-08 r37675)
>> 791a792,793
>>> Warning message:
>>> full precision was not achieved in 'qbeta'
>> 1073c1075
>> < Time elapsed: 2.53 0.03 2.55 0 0
>> ---
>>> Time elapsed: 4.939 0.024 4.967 0 0
>>
>> The (hopefully) interesting part of tests/d-p-q-r-tests.Rout.fail:
>>
>>> ## Check q*(p* ( log ), log) = identity
>>> All.eq(Rbeta, qbeta (log(Pbeta), shape1 = .8, shape2 = 2, log=TRUE))
>> [1] TRUE
>> Warning message:
>> full precision was not achieved in 'qbeta'
>>
>> Please let me know if there is more I can provide to help trace this!
>
> I suspect that this is related to recent changes in the zero-finder,
> and that it is relatively benign. (If it is the effect that I'm
> thinking of, then the warning is spurious, and it is mainly a matter
> of whether we want to try to get rid of the warning or update the
> .Rout.save file.)
I am not seeing it on my platforms (FC3 x86_64 and i686 Linux with gcc
3.4.5 and 4.1.0, i386 Windows and Solaris, with various compilers) and the
zero-finder changes postdate r37675 (and qbeta does not use it). I think
several other people are testing i686 Debian, including the daiuly CRAN
package checks ....
I suspect it is a real (and long-standing) problem of loss of accuracy
(2.2.1 did a check but did not report the results: it seems to be a
convergence failure looking at qbeta.c). What compiler version is this?
ATLAS is not involved. You'll need to trace qbeta.c.
--
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
More information about the R-devel
mailing list