conv() example in R-exts
On Mon, 8 Nov 2004, Robin Hankin wrote:
[I'm not sure if this is "intelligible to non-programmers" or not]
Not, I suspect: R-exts is not intended to be.
R-exts (section 4.2) gives an example of the .C() function whose third argument is "as.integer(length(a))", and urges the user to coerce all the arguments to the correct form (on pain of "hard-to-catch errors" which I now know to be very appropriate, if understated, phrasing). The length() function returns an integer, according to the helppage. So, why does the argument above use as.integer()?
Because things written on help pages can change. There *is* a potential issue here, as 64-bit platforms could support longer vectors than an R integer can represent. I suspect before too long we will need a `size' type for lengths. Already object.size() has been changed to return a double, not an integer, since people are created objects of more than 2Gb in size.
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