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? Thank you for your time! Kind regards, Tony [[alternative HTML version deleted]]
On 25 January 2025 at 10:08, Tony Wilkes wrote: | I heard somewhere that Core R is developing the implementation of true 64bit integers. Would you have a source reference for that claim? | 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? Luke Tierney may chime in, the last official word I heard based on a recent-ish talk of his (for which I cannot find a reference now, may have been one of the UseR! conference in last few years if memory serves) was 'yes to more work on large integer values via double storage (up to 53 bits) but no to a formal new type'. There are hard limits to number of available 'bits' in the SEXP header making it very 'costly' to add new types. That makes R Core _very_ reluctant to do so (my reading, not putting words in anybody's mouth). I too would like to have support for uint64_t. We do have the added-on and mostly-working `integer64` in a `double` payload. One could conceivably double up that work and add a `unsigned_integer64` but that seems like a lot of work / could create a risk of muddling up what integer64 support we have. Dirk -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
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. Cheers, Simon> On Jan 25, 2025, at 11:08 PM, Tony Wilkes <tony_a_wilkes at 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? > > Thank you for your time! > > Kind regards, > > Tony > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]