1import numpy as np 2 3i8 = np.int64(1) 4u8 = np.uint64(1) 5 6i4 = np.int32(1) 7u4 = np.uint32(1) 8 9b_ = np.bool_(1) 10 11b = bool(1) 12i = int(1) 13 14AR = np.array([0, 1, 2], dtype=np.int32) 15AR.setflags(write=False) 16 17 18reveal_type(i8 << i8) # E: numpy.signedinteger[numpy.typing._64Bit] 19reveal_type(i8 >> i8) # E: numpy.signedinteger[numpy.typing._64Bit] 20reveal_type(i8 | i8) # E: numpy.signedinteger[numpy.typing._64Bit] 21reveal_type(i8 ^ i8) # E: numpy.signedinteger[numpy.typing._64Bit] 22reveal_type(i8 & i8) # E: numpy.signedinteger[numpy.typing._64Bit] 23 24reveal_type(i8 << AR) # E: Any 25reveal_type(i8 >> AR) # E: Any 26reveal_type(i8 | AR) # E: Any 27reveal_type(i8 ^ AR) # E: Any 28reveal_type(i8 & AR) # E: Any 29 30reveal_type(i4 << i4) # E: numpy.signedinteger[numpy.typing._32Bit] 31reveal_type(i4 >> i4) # E: numpy.signedinteger[numpy.typing._32Bit] 32reveal_type(i4 | i4) # E: numpy.signedinteger[numpy.typing._32Bit] 33reveal_type(i4 ^ i4) # E: numpy.signedinteger[numpy.typing._32Bit] 34reveal_type(i4 & i4) # E: numpy.signedinteger[numpy.typing._32Bit] 35 36reveal_type(i8 << i4) # E: numpy.signedinteger[numpy.typing._64Bit] 37reveal_type(i8 >> i4) # E: numpy.signedinteger[numpy.typing._64Bit] 38reveal_type(i8 | i4) # E: numpy.signedinteger[numpy.typing._64Bit] 39reveal_type(i8 ^ i4) # E: numpy.signedinteger[numpy.typing._64Bit] 40reveal_type(i8 & i4) # E: numpy.signedinteger[numpy.typing._64Bit] 41 42reveal_type(i8 << i) # E: numpy.signedinteger[Any] 43reveal_type(i8 >> i) # E: numpy.signedinteger[Any] 44reveal_type(i8 | i) # E: numpy.signedinteger[Any] 45reveal_type(i8 ^ i) # E: numpy.signedinteger[Any] 46reveal_type(i8 & i) # E: numpy.signedinteger[Any] 47 48reveal_type(i8 << b_) # E: numpy.signedinteger[numpy.typing._64Bit] 49reveal_type(i8 >> b_) # E: numpy.signedinteger[numpy.typing._64Bit] 50reveal_type(i8 | b_) # E: numpy.signedinteger[numpy.typing._64Bit] 51reveal_type(i8 ^ b_) # E: numpy.signedinteger[numpy.typing._64Bit] 52reveal_type(i8 & b_) # E: numpy.signedinteger[numpy.typing._64Bit] 53 54reveal_type(i8 << b) # E: numpy.signedinteger[numpy.typing._64Bit] 55reveal_type(i8 >> b) # E: numpy.signedinteger[numpy.typing._64Bit] 56reveal_type(i8 | b) # E: numpy.signedinteger[numpy.typing._64Bit] 57reveal_type(i8 ^ b) # E: numpy.signedinteger[numpy.typing._64Bit] 58reveal_type(i8 & b) # E: numpy.signedinteger[numpy.typing._64Bit] 59 60reveal_type(u8 << u8) # E: numpy.unsignedinteger[numpy.typing._64Bit] 61reveal_type(u8 >> u8) # E: numpy.unsignedinteger[numpy.typing._64Bit] 62reveal_type(u8 | u8) # E: numpy.unsignedinteger[numpy.typing._64Bit] 63reveal_type(u8 ^ u8) # E: numpy.unsignedinteger[numpy.typing._64Bit] 64reveal_type(u8 & u8) # E: numpy.unsignedinteger[numpy.typing._64Bit] 65 66reveal_type(u8 << AR) # E: Any 67reveal_type(u8 >> AR) # E: Any 68reveal_type(u8 | AR) # E: Any 69reveal_type(u8 ^ AR) # E: Any 70reveal_type(u8 & AR) # E: Any 71 72reveal_type(u4 << u4) # E: numpy.unsignedinteger[numpy.typing._32Bit] 73reveal_type(u4 >> u4) # E: numpy.unsignedinteger[numpy.typing._32Bit] 74reveal_type(u4 | u4) # E: numpy.unsignedinteger[numpy.typing._32Bit] 75reveal_type(u4 ^ u4) # E: numpy.unsignedinteger[numpy.typing._32Bit] 76reveal_type(u4 & u4) # E: numpy.unsignedinteger[numpy.typing._32Bit] 77 78reveal_type(u4 << i4) # E: numpy.signedinteger[Any] 79reveal_type(u4 >> i4) # E: numpy.signedinteger[Any] 80reveal_type(u4 | i4) # E: numpy.signedinteger[Any] 81reveal_type(u4 ^ i4) # E: numpy.signedinteger[Any] 82reveal_type(u4 & i4) # E: numpy.signedinteger[Any] 83 84reveal_type(u4 << i) # E: numpy.signedinteger[Any] 85reveal_type(u4 >> i) # E: numpy.signedinteger[Any] 86reveal_type(u4 | i) # E: numpy.signedinteger[Any] 87reveal_type(u4 ^ i) # E: numpy.signedinteger[Any] 88reveal_type(u4 & i) # E: numpy.signedinteger[Any] 89 90reveal_type(u8 << b_) # E: numpy.unsignedinteger[numpy.typing._64Bit] 91reveal_type(u8 >> b_) # E: numpy.unsignedinteger[numpy.typing._64Bit] 92reveal_type(u8 | b_) # E: numpy.unsignedinteger[numpy.typing._64Bit] 93reveal_type(u8 ^ b_) # E: numpy.unsignedinteger[numpy.typing._64Bit] 94reveal_type(u8 & b_) # E: numpy.unsignedinteger[numpy.typing._64Bit] 95 96reveal_type(u8 << b) # E: numpy.unsignedinteger[numpy.typing._64Bit] 97reveal_type(u8 >> b) # E: numpy.unsignedinteger[numpy.typing._64Bit] 98reveal_type(u8 | b) # E: numpy.unsignedinteger[numpy.typing._64Bit] 99reveal_type(u8 ^ b) # E: numpy.unsignedinteger[numpy.typing._64Bit] 100reveal_type(u8 & b) # E: numpy.unsignedinteger[numpy.typing._64Bit] 101 102reveal_type(b_ << b_) # E: numpy.signedinteger[numpy.typing._8Bit] 103reveal_type(b_ >> b_) # E: numpy.signedinteger[numpy.typing._8Bit] 104reveal_type(b_ | b_) # E: numpy.bool_ 105reveal_type(b_ ^ b_) # E: numpy.bool_ 106reveal_type(b_ & b_) # E: numpy.bool_ 107 108reveal_type(b_ << AR) # E: Any 109reveal_type(b_ >> AR) # E: Any 110reveal_type(b_ | AR) # E: Any 111reveal_type(b_ ^ AR) # E: Any 112reveal_type(b_ & AR) # E: Any 113 114reveal_type(b_ << b) # E: numpy.signedinteger[numpy.typing._8Bit] 115reveal_type(b_ >> b) # E: numpy.signedinteger[numpy.typing._8Bit] 116reveal_type(b_ | b) # E: numpy.bool_ 117reveal_type(b_ ^ b) # E: numpy.bool_ 118reveal_type(b_ & b) # E: numpy.bool_ 119 120reveal_type(b_ << i) # E: numpy.signedinteger[Any] 121reveal_type(b_ >> i) # E: numpy.signedinteger[Any] 122reveal_type(b_ | i) # E: numpy.signedinteger[Any] 123reveal_type(b_ ^ i) # E: numpy.signedinteger[Any] 124reveal_type(b_ & i) # E: numpy.signedinteger[Any] 125 126reveal_type(~i8) # E: numpy.signedinteger[numpy.typing._64Bit] 127reveal_type(~i4) # E: numpy.signedinteger[numpy.typing._32Bit] 128reveal_type(~u8) # E: numpy.unsignedinteger[numpy.typing._64Bit] 129reveal_type(~u4) # E: numpy.unsignedinteger[numpy.typing._32Bit] 130reveal_type(~b_) # E: numpy.bool_ 131reveal_type(~AR) # E: Any 132