2014-03-12 11:39:51 -04:00
|
|
|
# tests transition from small to large int representation by multiplication
|
|
|
|
for rhs in range(2, 11):
|
|
|
|
lhs = 1
|
|
|
|
for k in range(100):
|
|
|
|
res = lhs * rhs
|
|
|
|
print(lhs, '*', rhs, '=', res)
|
|
|
|
lhs = res
|
|
|
|
|
2015-04-04 17:05:30 -04:00
|
|
|
# below tests pos/neg combinations that overflow small int
|
|
|
|
|
|
|
|
# 31-bit overflow
|
|
|
|
i = 1 << 20
|
|
|
|
print(i * i)
|
|
|
|
print(i * -i)
|
|
|
|
print(-i * i)
|
|
|
|
print(-i * -i)
|
|
|
|
|
|
|
|
# 63-bit overflow
|
|
|
|
i = 1 << 40
|
|
|
|
print(i * i)
|
|
|
|
print(i * -i)
|
|
|
|
print(-i * i)
|
|
|
|
print(-i * -i)
|