Zefram writes:
> With Guile 2.0.11:
>
> scheme@(guile-user)> (ash 123 (ash -1 63))
> $1 = 123
Fixed in commit 1990aa916382d0afcebd5315a6d6f555949ff654 on the
stable-2.2 branch. Closing this bug now.
Thanks very much for finding this subtle bug.
Mark
Zefram writes:
> With Guile 2.0.11:
>
> scheme@(guile-user)> (ash 123 (ash -1 63))
> $1 = 123
>
> Correct result would of course be zero. Problem only occurs for
> exactly this shift distance: one bit less produces the right answer.
Nice catch!
It's finally fixed in commit 1990aa916382d0afcebd
On Fri 13 Nov 2015 11:22, Zefram writes:
> With Guile 2.0.11:
>
> scheme@(guile-user)> (ash 123 (ash -1 63))
> $1 = 123
>
> Correct result would of course be zero. Problem only occurs for
> exactly this shift distance: one bit less produces the right answer.
> Problem also occurs on Guile 1.8.8.
With Guile 2.0.11:
scheme@(guile-user)> (ash 123 (ash -1 63))
$1 = 123
Correct result would of course be zero. Problem only occurs for
exactly this shift distance: one bit less produces the right answer.
Problem also occurs on Guile 1.8.8. Looking at the implementation,
the problem is attributa