В numpy, почему вычитание целых чисел иногда приводит к номерам с плавающей запятой?
>>> x = np.int64(2) - np.uint64(1)
>>> x
1.0
>>> x.dtype
dtype('float64')
Кажется, что это происходит только при использовании нескольких разных целых типов (например, подписанных и неподписанных) и когда не существует более крупного целочисленного типа.