Re: perl: 64-bit integers and long doubles
On Mon, May 10, 2010 at 11:50:23AM +0200, Martin Becker wrote:
> I'd argue against a default setting where floating point numbers
> are less precise than integers.
I believe this has always been the case on our 64-bit architectures
(ia64, alpha, amd64.)
On current sid / amd64 (perl 5.10.1-12):
% perl -le 'print ((2**60 + 1) - (1 << 60))'
% perl -Minteger -le 'print ((2**60 + 1) - (1 << 60))'
(2**60 is a float in the first case and an integer in the second one.
1<<60 is an integer in both.)
> Therefore, I'd like to see the migration to 64-bit integers and
> long doubles happen simultaneously, painful as it might be, or
> not at all. Keep in mind, I am talking default settings here,
> which should lead to a perl interpreter with sane arithmetic.
> Individual admins may always choose differently and live with
> the consequences.
Given the amount of amd64 users that never had sane arithmetic in this
sense, I don't quite see why it would be so important for i386.
(Most of the discussion is on debian-devel, so please followup there.)
Niko Tyni email@example.com