On Tue, Nov 24, 2015 at 12:42 PM, Peter Creasey < p.e.creasey...@googlemail.com> wrote:
> Hi, > > I just upgraded my numpy and started to received a TypeError from one of > my codes that relied on the old, less strict, casting behaviour. The error > message, however, left me scratching my head when trying to debug something > like this: > > >>> a = array([0],dtype=uint64) > >>> a += array([1],dtype=int64) > TypeError: Cannot cast ufunc add output from dtype('float64') to > dtype('uint64') with casting rule 'same_kind' > > Where does the 'float64' come from?!?! > The combination of uint64 and int64 leads to promotion to float64 as the best option for the combination of signed and unsigned. To fix things, you can either use `np.add` with an output argument and `casting='unsafe'` or just be careful about using unsigned types. Chuck
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion