GNU bug report logs -
#14879
fixnum-width, greatest-fixnum and least-fixnum disagree
Previous Next
Reported by: Göran Weinholt <goran <at> weinholt.se>
Date: Tue, 16 Jul 2013 14:18:02 UTC
Severity: normal
Done: Mark H Weaver <mhw <at> netris.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 16 Jul 2013 17:41:41 -0400
with message-id <87li5618tm.fsf <at> tines.lan>
and subject line Re: bug#14879: fixnum-width, greatest-fixnum and least-fixnum disagree
has caused the debbugs.gnu.org bug report #14879,
regarding fixnum-width, greatest-fixnum and least-fixnum disagree
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
14879: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14879
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Hello schemers,
scheme@(guile-user)> (import (rnrs))
scheme@(guile-user)> (fixnum-width)
$1 = 61
scheme@(guile-user)> (greatest-fixnum)
$2 = 2305843009213693951
scheme@(guile-user)> (least-fixnum)
$3 = -2305843009213693952
If the reported fixnum width is correct, then these should be the least
and greatest fixnums:
(- (expt 2 (- (fixnum-width) 1))) => -1152921504606846976
(- (expt 2 (- (fixnum-width) 1)) 1) => 1152921504606846975
If the reported least and greatest fixnums are correct, then the fixnum
width is actually 62.
Tested with 2.0.9.33-3bbca-dirty on an amd64 system.
Regards,
--
Göran Weinholt <goran <at> weinholt.se>
20 JUSTICE KENNEDY: That seems odd. I mean,
21 Microsoft doesn't say please buy our disk because it's
22 the prettiest disk in the business.
[Message part 4 (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
Göran Weinholt <goran <at> weinholt.se> writes:
> scheme@(guile-user)> (import (rnrs))
> scheme@(guile-user)> (fixnum-width)
> $1 = 61
> scheme@(guile-user)> (greatest-fixnum)
> $2 = 2305843009213693951
> scheme@(guile-user)> (least-fixnum)
> $3 = -2305843009213693952
>
> If the reported fixnum width is correct, then these should be the least
> and greatest fixnums:
>
> (- (expt 2 (- (fixnum-width) 1))) => -1152921504606846976
> (- (expt 2 (- (fixnum-width) 1)) 1) => 1152921504606846975
>
> If the reported least and greatest fixnums are correct, then the fixnum
> width is actually 62.
That's correct. Fixed in 06903786211afd9a554b8f009a37111f729607ee.
Thanks!
Mark
This bug report was last modified 12 years and 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.