Fist off, a word of caution. float128 depends on your system and maps to whatever longdouble is (IIRC) or may not even exist. So I hope you don't expect IEEE 128 bit floats, if you are unsure, maybe check `np.finfo`.
If speed does not matter ``` res = np.zeros(np.max(b), dtype=np.longdouble) np.add.at(res, b, a) ``` will work, but do not expect it to be fast. - Sebastian On Do, 2016-12-01 at 05:54 +0800, Wei, Huayi wrote: > Hi, There, > > Here is a sample code using `numpy.bincount` > > import numpy as np > a = np.array([1.0, 2.0, 3.0], dtype=np.float128) > b = np.array([1, 2, 0], dtype=np.int) > c = np.bincount(b, weights=a) > > If run it, I get the following error report: > > ----> 1 c = np.bincount(b, weights=a) > TypeError: Cannot cast array data from dtype('float128') to > dtype('float64') according to the rule 'safe' > > Is it a bug of `np.bincount`? Does there exist any similar function > which I can use to do the similar thing with numpy.float128 type > weights? > > Best > > Huayi > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion >
signature.asc
Description: This is a digitally signed message part
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion