Subject: bug#14879: fixnum-width, greatest-fixnum and least-fixnum disagree

From: Göran Weinholt <[email-masked]>
Date: Tue, 16 Jul 2013 16:02:55 +0200

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 <[email-masked]>
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.