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)
I think this is a deficiency in the current implementation of bincount,
which always casts the weights to float64. This WIP pull request should
probably fix it:
https://github.com/numpy/numpy/pull/7464
On Wed, Nov 30, 2016 at 3:54 PM, Wei, Huayi wrote:
> Hi, There,
>
> Here is a sample code usi
Also note that float128 is rarely what you want.
It is not a quad precision value, it maps to C long double which is 80
bit on x86 and less on stuff like arm.
On 30.11.2016 22:59, Nathan Goldbaum wrote:
> I think this is a deficiency in the current implementation of bincount,
> which always casts
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.ad