Lots of embedded processors only support 32-bit words (ints and floats). The majority of desktop hardware in operation today does not work "natively" with 64-bit integers (although there's usually a hardware instruction so that you can perform the multiple instructions necessary to implement 64-bit arithmetic without killing your pipeline). This will change in time. But I've never even seen a computer program written using a 128-bit integer primitive, and I expect that it's for the reasons I've cited: nobody needs it. 2^32 is a fairly big number. 2^64 is astronomically big. Nobody counts that high. Ever. Requiring implementions to support something that may hypothetically gain marginal use a decade from now doesn't seem reasonable to me. >>> Some machine's don't really have single float hardware, instead >>> rounding from double float. >> >> I'm not sure that's relevant: all machines can mimic single float >> (i.e. the double hardware can do single rounding after every >> operation). > > Yes. I was suggesting there is little or no benefit to restricting > to single float. > >> I'd be more interested in hearing how big a user base double- >> precision floats really have. Are many scientific data sets encoded >> using doubles? >> >> For the record, I'd wouldn't mind requiring double-precision floats >> but only 32-bit integers. Minimal implementations of such a spec >> could use a single homogeneous representation for numbers in that >> case. > > Is it that common that current machines have 32 bit integer but not > 64 bit integer arithmetic? > > I am more concerned about the float than the integer size, > notwithstanding my comments about 128 bit float. In that case I was > thinking about building for the future, and I expect that 64 and 128 > bit integer arithmetic will commonly available soon, if not > immediately. > > Perhaps worth poking around how often xsd:long is used that would be > the motivation for 64 bit. > > -Alan
This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 10 July 2008 13:57:38 GMT