[Numpy-discussion] Unexpected behavior with np.min_scalar_type
Kathleen M Tacina
Wed Jan 25 14:30:39 CST 2012
It was interesting to see why that happened.
On Tue, 2012-01-24 at 18:56 -0600, Mark Wiebe wrote:
> On Tue, Jan 24, 2012 at 7:29 AM, Kathleen M Tacina
> <Kathleen.M.Tacina@nasa.gov> wrote:
> I was experimenting with np.min_scalar_type to make sure it
> worked as expected, and found some unexpected results for
> integers between 2**63 and 2**64-1. I would have expected
> np.min_scalar_type(2**64-1) to return uint64. Instead, I get
> object. Further experimenting showed that the largest integer
> for which np.min_scalar_type will return uint64 is 2**63-1.
> Is this expected behavior?
> This is a bug in how numpy detects the dtype of python objects.
> You can see there it's only checking for a signed long long, not
> accounting for the unsigned case. I created a ticket for you here:
> On python 2.7.2 on a 64-bit linux machine:
> >>> import numpy as np
> >>> np.version.full_version
> >>> np.min_scalar_type(2**8-1)
> >>> np.min_scalar_type(2**16-1)
> >>> np.min_scalar_type(2**32-1)
> >>> np.min_scalar_type(2**64-1)
> >>> np.min_scalar_type(2**63-1)
> >>> np.min_scalar_type(2**63)
> I get the same results on a Windows XP machine running python
> 2.7.2 and numpy 1.6.1.
> NumPy-Discussion mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion