On 25/01/2025 23:37, Simon Urbanek wrote:
Tony,

Dirk sent a good response. I would like to add to that that it goes beyond just 
bits in SEXP: adding a new type involved in arithmetics is not only a lot of 
work but has performance implications. Also it is unclear how it should behave 
in the int32_t, double, int64_t triangle of vector classes in that respect 
(they don't nest) while retaining compatibility (doubles promote because they 
are a superset, but int64_t cannot do that). I am yet to see a real use-case 
where 53-bits are not sufficient in integer arithmetics so it is unclear that 
opening that big can of worms (and breaking things) would have any benefit. 
Typically, the only use-case for full 64-bit integers is as opaque 64-bit 
storage (e.g., randomly generated IDs) but there arithmetics make no sense 
there and packages are already covering that need.


Both Luke and I have looked into 64-bit integers, and not yet found them a high enough priority.

Perhaps the most compelling motivation has not yet been mentioned. Array dimensions (especially of matrices) and hence indices are restricted to 2^31-1, although total array size is limited by available storage. If we support more, people will expect to do matrix operations on such matrices, and that is going to need versions of e.g. LAPACK which work with 64-bit integers. Modern Fortran allows different INTEGER sizes to interwork, but most of the matrix code is not written in modern Fortran. If compiling them from source it would likely be possible to include both 32-bit and 64-bit matrix libraries, but this will be tricky at best with enhanced BLAS/LAPACK which often do have both 32- and 64-bit versions but using the same entry-point names.

Ironically there were versions of S-PLUS with 64-bit integers. But only 64-bit integers as in S pointers and integers had to be the same size. That is not something we could contemplate for R, as vast numbers of packages assume that R's integers map to C int (tested to be 32-bit) and Fortran 32-bit INTEGER.


Cheers,
Simon


On Jan 25, 2025, at 11:08 PM, Tony Wilkes <tony_a_wil...@outlook.com> wrote:

Hi everyone,

I heard somewhere that Core R is developing the implementation of true 64bit 
integers.
Is this true? If so, may I know what the status is of this development, and 
when, approximately, one can expect 64bit integers to be available in R?

It would have been helpful to tell us what you wanted to do with them.

Thank you for your time!

Kind regards,

Tony

--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to