[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14916: Fixnum procedures can be made to return non-fixnums
From: |
Göran Weinholt |
Subject: |
bug#14916: Fixnum procedures can be made to return non-fixnums |
Date: |
Sat, 20 Jul 2013 07:56:21 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
Hello schemers,
the fxdiv procedure from (rnrs) fails to check that its result is
representable as a fixnum:
scheme@(guile-user)> (import (rnrs))
scheme@(guile-user)> (fxdiv (least-fixnum) -1)
$1 = 2305843009213693952
It should raise an &implementation-restriction. Here are a few other
examples of the same problem:
scheme@(guile-user)> (fxdiv-and-mod (least-fixnum) -1)
$2 = 2305843009213693952
$3 = 0
scheme@(guile-user)> (fxdiv0 (least-fixnum) -1)
$4 = 2305843009213693952
scheme@(guile-user)> (fxdiv0-and-mod0 (least-fixnum) -1)
$5 = 2305843009213693952
$6 = 0
scheme@(guile-user)> (fxarithmetic-shift-left (greatest-fixnum) 1)
$7 = 4611686018427387902
scheme@(guile-user)> (fxarithmetic-shift (greatest-fixnum) 1)
$8 = 4611686018427387902
Tested with Guile 2.0.9.40-824b-dirty on an amd64 system.
Regards,
--
Göran Weinholt <address@hidden>
"Detta skall jag visa dig medelst ett stort papper som jag har fyllt
med faktiska upplysningar!" -- August Strindberg
pgpi7OphhK5Ri.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#14916: Fixnum procedures can be made to return non-fixnums,
Göran Weinholt <=