[Numpy-discussion] numpy.int32 is not subclass of int, but numpy.int64 is

MACKEITH Andrew Andrew.MACKEITH at 3ds.com
Tue Nov 15 09:48:32 EST 2011


From: numpy-discussion-bounces at scipy.org [mailto:numpy-discussion-bounces at scipy.org] On Behalf Of Olivier Delalleau
Sent: Tuesday, November 15, 2011 7:03 AM
To: Discussion of Numerical Python
Subject: Re: [Numpy-discussion] numpy.int32 is not subclass of int, but numpy.int64 is

2011/11/14 Robert Kern <robert.kern at gmail.com<mailto:robert.kern at gmail.com>>
On Mon, Nov 14, 2011 at 20:18, MACKEITH Andrew <Andrew.MACKEITH at 3ds.com<mailto:Andrew.MACKEITH at 3ds.com>> wrote:
> Could someone explain this?
>
> An instance of numpy.int32 is not an instance of int or numpy.int<http://numpy.int>.
> An instance of numpy.int64 is an instance of int and numpy.int<http://numpy.int>.
>
> I don't know if it is a bug in my linux build.
>>>> import sys
>>>> sys.maxint
> 9223372036854775807
>>>> import platform
>>>> print  platform.platform()
> Linux-2.6.32.12-0.7-default-x86_64-with-SuSE-11-x86_64
This is expected on a 64-bit platform. Note that numpy.int<http://numpy.int> is just an
alias for the builtin int type for backwards compatibility with an
earlier version of numpy. We could probably remove it, since it seems
to be causing more confusion than not.

Anyways, we subclass the appropriately sized integer scalar type from
Python's int type depending on the platform. So on a platform where
Python's int type is 64-bits, numpy.int64 will include int in its
inheritance tree. On platforms where the Python int type is 32-bit,
numpy.int32 will include it instead.

I'll just add that there is a numpy.integer class that is parent of both numpy.int32 and numpy.int64 (see http://docs.scipy.org/doc/numpy/reference/arrays.scalars.html). It's not a parent of numpy.int<http://numpy.int> though, since as said above, numpy.int<http://numpy.int> is an alias to the builtin int.

-=- Olivier

Thanks you for the information.  numpy.integer is what I was looking for.

Is there an equivalent base class for float types?
Do you know where these are documented?

Andrew


This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged.

If you are not one of the named recipients or have received this email in error,

(i) you should not read, disclose, or copy it,

(ii) please notify sender of your receipt by reply email and delete this email and all attachments,

(iii) Dassault Systemes does not accept or assume any liability or responsibility for any use of or reliance on this email.

For other languages, go to http://www.3ds.com/terms/email-disclaimer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20111115/09331409/attachment.html>


More information about the NumPy-Discussion mailing list