BUG: handle rounding issue with histogram edges on float32 data

Following inequality causes wrong counting at the edges and can be avoided by
making the edge array of the same type as the input data.

```
In [1]: np.around(np.float64(6010.36962890625), 5)
Out[1]: 6010.3696300000001
In [2]: np.around(np.float32(6010.36962890625), 5)
Out[2]: 6010.3701
```

Closes gh-4799