[Rd] negative numbers from object.size() on 64 bit systems
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Dec 17 20:47:43 MET 2003
On Wed, 17 Dec 2003, Roger D. Peng wrote:
> Has anyone running R 1.8.1 on a 64 bit system gotten negative numbers
> from object.size() on objects > 2GB or so? For example, on
> Solaris/Sparc I get
>
> > b <- numeric(131072 * 2800)
> > object.size(b)
> [1] -1358954440
>
> I get similar behavior on the Opteron (SuSE Linux). I'm not sure if
> this is an R problem or something wrong with the way it was compiled on
> either system.
>
> I noticed in objectsize() in size.c, the `cnt' variable is an int, which
> I guess would max out at 2^31. Might this be the problem? Any hints
> would be appreciated.
Yes, and so is objectsize, and the return type is integer. At the time
that was written R could not use more than 2Gb.
I've modified the function but have no machine with more than 2Gb to test
it on, so could you please try R-devel in a couple of days?
--
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