1# mode: run 2 3__doc__ = u""" 4 >>> int2 = 42 5 >>> int3 = 7 6 >>> char1 = ord('C') 7 8 >>> int1 = int2 | int3 9 >>> int1 |= int2 ^ int3 10 >>> int1 ^= int2 & int3 11 >>> int1 ^= int2 << int3 12 >>> int1 ^= int2 >> int3 13 >>> int1 ^= int2 << int3 | int2 >> int3 14 >>> long1 = char1 | int1 15 >>> (int1, long1) == f() 16 True 17 18""" 19 20def f(): 21 """ 22 >>> f() 23 (45, 111) 24 """ 25 cdef int int1, int2, int3 26 cdef char char1 27 cdef long long1, long2 28 int2 = 42 29 int3 = 7 30 char1 = c'C' 31 32 int1 = int2 | int3 33 int1 |= int2 ^ int3 34 int1 ^= int2 & int3 35 int1 ^= int2 << int3 36 int1 ^= int2 >> int3 37 int1 ^= int2 << int3 | int2 >> int3 38 long1 = char1 | int1 39 return int1, long1 40 41 42def long_int_shift(): 43 """ 44 >>> long_int_shift() 45 80082 46 10010 47 10010 48 10010 49 10010 50 """ 51 value = 80082 # int using more than 2 bytes == long 52 print(value) 53 shiftedby3 = value >> 3 54 dividedby8 = value // 8 55 print(shiftedby3) 56 print(dividedby8) 57 shiftedby3 = 80082 >> 3 58 dividedby8 = 80082 // 8 59 print(shiftedby3) 60 print(dividedby8) 61