[Numpy-discussion] Really strange result
Charles R Harris
Fri May 1 17:58:42 CDT 2009
On Fri, May 1, 2009 at 1:02 PM, Neal Becker <email@example.com> wrote:
> In : (np.linspace (0, len (x)-1, len(x)).astype (np.uint64)*2).dtype
> Out: dtype('uint64')
> In : (np.linspace (0, len (x)-1, len(x)).astype (np.uint64)*n).dtype
> Out: dtype('float64')
> In : type(n)
> Out: <type 'int'>
> Now that's just strange. What's going on?
The n is signed, uint64 is unsigned. So a signed type that can hold uint64
is needed. There ain't no such integer, so float64 is used. I think the
logic here is a bit goofy myself since float64 doesn't have the needed 64
bit precision and the conversion from int kind to float kind is confusing. I
think it would be better to raise a NotAvailable error or some such. Lest
you think this is an isolated oddity, sometimes numeric arrays can be
converted to object arrays.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Numpy-discussion