[Rd] Re: PR#929 and [R] matrix: suspected integer overflow
Thu, 10 May 2001 08:31:16 +0200 (MET DST)
On Wed, 9 May 2001 firstname.lastname@example.org wrote:
> Is the following a known issue, in particular in terms of message clarity of the latter two?
Yes, bug PR#929. It's a bug in asInteger, an internal C routine which
using (int) on a double. coerce.c has better routines used to corce
vectors, and the comment
/* This section of code handles type conversion for elements */
/* of data vectors. Type coercion throughout R should use these */
/* routines to ensure consistency. */
I have altered asInteger (etc) to use the same routines.
However, I am not happy with what IntegerFromReal does: it gives the
maximum integer and the message. I think it would be much better to return
NA in that cirumstance, when most uses of asInteger would give up
(correctly) and generate a meaningful error.
> > matrix(0, 10^8, 10^8)
> Error: cannot allocate vector of size 2064896 Kb
> > matrix(0, 20, 10^10)
> Error in matrix(0, 20, 10^10) : negative length vectors are not allowed
> > matrix(0, 10^10, 10^10)
> Error: cannot allocate vector of size 0 Kb
Brian D. Ripley, email@example.com
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 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
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: firstname.lastname@example.org