why is a negative shift value illegal?

Fredrik Lundh fredrik at effbot.org
Sun Jan 14 11:36:41 EST 2001


Rainer Deyke wrote:
> Right now this fails if red_length is greater than 8.  Fixing this is
> possible, but messy:
>
> red_right_shift = red_postion + red_length - 8
> if red_right_shift < 0:
>   red_left_shift = -red_right_shift
>   red_right_shift = 0
> else:
>   red_left_shift = 0
>
> red = ((color & red_mask) >> red_right_shift) << red_left_shift

    red_shift = red_position + red_length - 8
    red = myshift(color & red_mask, red_shift)

Cheers /F





More information about the Python-list mailing list