[Numpy-discussion] Does numpy.bincount support numpy.float128 type weights?

Sebastian Berg sebastian at sipsolutions.net
Wed Nov 30 17:22:45 EST 2016


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 at scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20161130/51c4c7b3/attachment.sig>


More information about the NumPy-Discussion mailing list