(number-dispatch ((u integer) (v integer))
((fixnum fixnum)
(locally
- (declare (optimize (speed 3) (safety 0)))
+ (declare (optimize (speed 3) (safety 0)))
(do ((k 0 (1+ k))
(u (abs u) (ash u -1))
(v (abs v) (ash v -1)))
(setq temp (- u v))
(when (zerop temp)
(let ((res (ash u k)))
- (declare (type (signed-byte 31) res)
+ (declare (type sb!vm:signed-word res)
(optimize (inhibit-warnings 3)))
(return res))))))
- (declare (type (mod 30) k)
- (type (signed-byte 31) u v)))))
+ (declare (type (mod #.sb!vm:n-word-bits) k)
+ (type sb!vm:signed-word u v)))))
((bignum bignum)
(bignum-gcd u v))
((bignum fixnum)