2011/11/15 MACKEITH Andrew <andrew.macke...@3ds.com> > *From:* numpy-discussion-boun...@scipy.org [mailto: > numpy-discussion-boun...@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.k...@gmail.com> > > On Mon, Nov 14, 2011 at 20:18, MACKEITH Andrew <andrew.macke...@3ds.com> > wrote: > > Could someone explain this? > > > > An instance of numpy.int32 is not an instance of int or numpy.int. > > An instance of numpy.int64 is an instance of int and 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 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 though, since as said above, 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 >
numpy.floating would be the one for non-complex float types (and numpy.inexact the parent for both complex and non-complex). The class hierarchy is shown in the link I provided in my previous mail. -=- Olivier
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion