[Openmcl-devel] ash

Marco Baringer empb at bese.it
Mon Oct 14 08:03:44 PDT 2002


? (lisp-implementation-version)
"Version (Beta: Darwin) 0.13"
? (let ((i #xffffffff)) (declare (type (unsigned-byte 32) i)) (ash i -24))
> Error: NIL : value doesn't match constraint :U8CONST in template for CCL::U32-SHIFT-RIGHT .
> While executing: CCL::MATCH-VREG
> Type :POP to abort.
Type :? for other options.
1 > 

declaring i to be of type (unsigned-byte 33) works as does leaving out
the declaration all together. yet, (typep #xffffffff '(unsigned-byte
32)) is true. this error happens only when the count arg to ash is
negative.

according to my reading of l0-numbers.lisp (bignum-ashift-right
#xffffffff 8) is what is being called, but calling bignum-ashift-right
directly results in no errors (and the proper result). all i've been
able to figure out is that u32-shift-right is being called with count
and not (- count) as it should be, but i don't see where the call to
u32-shift-right happens.

-- 
-Marco
Ring the bells that still can ring.
Forget your perfect offering.
There is a crack in everything.
That's how the light gets in.
     -Leonard Cohen

p.s. - what's the function to delete a directory?


_______________________________________________
Openmcl-devel mailing list
Openmcl-devel at clozure.com
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel



More information about the Openmcl-devel mailing list