arr.dtype.kind is 'i' for dtype=unit !?
Hi, What are the possible values of arr.dtype.kind ? It seems that signed and unsigned are considered to be the same "kind"
arr=N.arange(10,dtype=N.uint) arr.dtype.kind 'i' arr.dtype.itemsize 8 (OK  this is just showing off our amd64 linux ;) )
How can I distinguish signed from unsigned without having to list all possible cases explicitly ? Thanks, Sebastian Haase
Hello all
Original Message From: numpydiscussionbounces@lists.sourceforge.net [mailto:numpy discussionbounces@lists.sourceforge.net] On Behalf Of Sebastian Haase Sent: 19 September 2006 19:24 To: Discussion of Numerical Python Subject: [Numpydiscussion] arr.dtype.kind is 'i' for dtype=unit !?
Hi, What are the possible values of arr.dtype.kind ?
It seems that signed and unsigned are considered to be the same "kind"
arr=N.arange(10,dtype=N.uint) arr.dtype.kind 'i' arr.dtype.itemsize 8 (OK  this is just showing off our amd64 linux ;) )
How can I distinguish signed from unsigned without having to list all possible cases explicitly ?
How about sctypes? In [16]: numpy.sctypes.keys() Out[17]: ['int', 'float', 'uint', 'complex', 'others'] So this should work: sometype in numpy.sctypes['uint'] sometype in numpy.sctypes['int'] Cheers, Albert
Sebastian Haase wrote:
Hi, What are the possible values of arr.dtype.kind ?
It seems that signed and unsigned are considered to be the same "kind"
arr=N.arange(10,dtype=N.uint) arr.dtype.kind
'i'
arr.dtype.itemsize
8 (OK  this is just showing off our amd64 linux ;) )
How can I distinguish signed from unsigned without having to list all possible cases explicitly ?
Hmm.... This is a problem. There is a 'u' kind for unsigned integers. On my system I get 'u' when running the code you just gave. Can anybody on a 64bit system confirm? Travis
On Tuesday 19 September 2006 14:46, Travis Oliphant wrote:
Sebastian Haase wrote:
Hi, What are the possible values of arr.dtype.kind ?
It seems that signed and unsigned are considered to be the same "kind"
arr=N.arange(10,dtype=N.uint) arr.dtype.kind
'i'
arr.dtype.itemsize
8 (OK  this is just showing off our amd64 linux ;) )
How can I distinguish signed from unsigned without having to list all possible cases explicitly ?
Hmm.... This is a problem. There is a 'u' kind for unsigned integers.
On my system I get 'u' when running the code you just gave.
Can anybody on a 64bit system confirm?
I'm on 64bit Debian: In [11]: arr=N.arange(10,dtype=N.uint) In [12]: arr.dtype.kind Out[12]: 'u' In [13]: arr.dtype.itemsize Out[13]: 4 In [14]: arr=N.arange(10,dtype=N.long) In [15]: arr.dtype.kind Out[15]: 'i' In [16]: arr.dtype.itemsize Out[16]: 8 Scott  Scott M. Ransom Address: NRAO Phone: (434) 2960320 520 Edgemont Rd. email: sransom@nrao.edu Charlottesville, VA 22903 USA GPG Fingerprint: 06A9 9553 78BE 16DB 407B FFCA 9BFA B6FF FFD3 2989
Can anybody on a 64bit system confirm?
I'm on 64bit Debian:
In [11]: arr=N.arange(10,dtype=N.uint)
In [12]: arr.dtype.kind Out[12]: 'u'
In [13]: arr.dtype.itemsize Out[13]: 4
In [14]: arr=N.arange(10,dtype=N.long)
In [15]: arr.dtype.kind Out[15]: 'i'
In [16]: arr.dtype.itemsize Out[16]: 8
Ack! That was on the wrong machine (32bit Debian). Here is the 64bit version: In [2]: arr=N.arange(10,dtype=N.uint) In [3]: arr.dtype.kind Out[3]: 'u' In [4]: arr.dtype.itemsize Out[4]: 8 In [5]: arr=N.arange(10,dtype=N.long) In [6]: arr.dtype.kind Out[6]: 'i' In [7]: arr.dtype.itemsize Out[7]: 8 Sorry about that, Scott  Scott M. Ransom Address: NRAO Phone: (434) 2960320 520 Edgemont Rd. email: sransom@nrao.edu Charlottesville, VA 22903 USA GPG Fingerprint: 06A9 9553 78BE 16DB 407B FFCA 9BFA B6FF FFD3 2989
OK  I'm really sorry !! I also get 'u'  I had a typo there ... But what is the complete list of kind values ? Sebastian On Tuesday 19 September 2006 11:54, Scott Ransom wrote:
Can anybody on a 64bit system confirm?
I'm on 64bit Debian:
In [11]: arr=N.arange(10,dtype=N.uint)
In [12]: arr.dtype.kind Out[12]: 'u'
In [13]: arr.dtype.itemsize Out[13]: 4
In [14]: arr=N.arange(10,dtype=N.long)
In [15]: arr.dtype.kind Out[15]: 'i'
In [16]: arr.dtype.itemsize Out[16]: 8
Ack! That was on the wrong machine (32bit Debian). Here is the 64bit version:
In [2]: arr=N.arange(10,dtype=N.uint)
In [3]: arr.dtype.kind Out[3]: 'u'
In [4]: arr.dtype.itemsize Out[4]: 8
In [5]: arr=N.arange(10,dtype=N.long)
In [6]: arr.dtype.kind Out[6]: 'i'
In [7]: arr.dtype.itemsize Out[7]: 8
Sorry about that,
Scott
Sebastian Haase wrote:
OK  I'm really sorry !! I also get 'u'  I had a typo there ...
But what is the complete list of kind values ?
It's in the array interface specification: http://numpy.scipy.org/array_interface.shtml Travis
Hi,
It's in the array interface specification:
I was interested in the 't' (bitfield) type  is there an example of usage somewhere? In [13]: dtype('t8')  exceptions.TypeError Traceback (most recent call last) /home/mb312/python/<ipython console> TypeError: data type not understood Best, Matthew
Matthew Brett wrote:
Hi,
It's in the array interface specification:
I was interested in the 't' (bitfield) type  is there an example of usage somewhere?
No, It's not implemented in NumPy. It's just part of the array interface specification for completeness. Travis
participants (6)

Albert Strasheim

Matthew Brett

Scott Ransom

Sebastian Haase

Travis Oliphant

Travis Oliphant