[Larceny-users] error peeking short values from raw memory

Felix Klock felixluser at pnkfx.org
Fri Jul 3 12:51:35 EDT 2009


Marco (cc'ing larceny-users)-

On Jul 3, 2009, at 10:13 AM, Marco Maggi wrote:

> (let ((v (- (expt 2 7) 1)))
>  (%poke8 a v)
>  (write (list v (%peek8 a)))
>  (newline))
>
> (let ((v (- (expt 2 15) 1)))
>  (%poke16 a v)
>  (write (list v (%peek16 a)))
>  (newline))
>
> (let ((v (- (expt 2 31) 1)))
>  (%poke32 a v)
>  (write (list v (%peek32 a)))
>  (newline))
>
> (newline)
>
> (let ((v (- (expt 2 8) 1)))
>  (%poke8u a v)
>  (write (list v (%peek8u a)))
>  (newline))
>
> (let ((v (- (expt 2 16) 1)))
>  (%poke16u a v)
>  (write (list v (%peek16u a)))
>  (newline))
>
> (let ((v (- (expt 2 32) 1)))
>  (%poke32u a v)
>  (write (list v (%peek32u a)))
>  (newline))
>
> (newline)
>
> (let ((v (- (expt 2 15) 2)))
>  (%poke16 a v)
>  (write (list v (%peek16 a)))
>  (newline))

Why are you subtracting 2 here when you've been subtracting 1 in all  
the other cases?

----

In other words, I do not yet understand what bug you are reporting; (-  
(expt 2 15) 2) evaluates to 32766, no peek or poke involved.

-Felix





More information about the Larceny-users mailing list