fails:Fixnum#>> with n >> m returns n shifted right m bits when n > 0, m > 0
fails:Fixnum#>> with n >> m returns n shifted right m bits when n < 0, m > 0
fails:Fixnum#>> with n >> m returns n shifted left m bits when n > 0, m < 0
fails:Fixnum#>> with n >> m returns n shifted left m bits when n < 0, m < 0
fails:Fixnum#>> with n >> m returns 0 when n == 0
fails:Fixnum#>> with n >> m returns n when n > 0, m == 0
fails:Fixnum#>> with n >> m returns n when n < 0, m == 0
fails:Fixnum#>> with n >> m returns 0 when m > 0 and m == p where 2**p > n >= 2**(p-1)
fails:Fixnum#>> with n >> m returns 0 when m is outside the available bits and n >= 0
fails:Fixnum#>> with n >> m returns -1 when m is outside the available bits and n < 0
fails:Fixnum#>> with n >> m returns 0 when m is a Bignum
fails:Fixnum#>> with n >> m returns a Bignum == fixnum_max() * 2 when fixnum_max() >> -1 and n > 0
fails:Fixnum#>> with n >> m returns a Bignum == fixnum_min() * 2 when fixnum_min() >> -1 and n < 0
fails:Fixnum#>> with n >> m calls #to_int to convert the argument to an Integer
fails:Fixnum#>> with n >> m raises a TypeError when #to_int does not return an Integer
fails:Fixnum#>> with n >> m raises a TypeError when passed nil
fails:Fixnum#>> with n >> m raises a TypeError when passed a String
