[Numpy-discussion] bug !? dtype type_descriptor does not accept zero length tuple
Sebastian Haase
haase at msg.ucsf.edu
Wed Aug 9 23:35:30 CDT 2006
Travis Oliphant wrote:
> Sebastian Haase wrote:
>> On Wednesday 09 August 2006 15:45, you wrote:
>>
>>> Sebastian Haase wrote:
>>>
>>>> On Wednesday 09 August 2006 15:18, Travis Oliphant wrote:
>>>>
>>>>> If numarray supported it, then we should get NumPy to support it as
>>>>> well
>>>>> unless there is a compelling reason not to. I can't think of any
>>>>> except
>>>>> that it might be hard to make it work. What is '0i4' supposed to mean
>>>>> exactly? Do you get a zero-sized field or is the field not included?
>>>>> I think the former will be much easier than the latter. Would
>>>>> that be
>>>>> O.K.?
>>>>>
>>>> That's exactly what numarray did. The rest of my code is assuming that
>>>> all fields exist (even if they are empty). Otherwise I get a name
>>>> error which is worse than getting an empty array.
>>>>
>>> Do you have a simple code snippet that I could use as a test?
>>>
>>> -Travis
>>>
>>
>> I think this should do it:
>>
>> a = N.arange(10, dtype=N.float32)
>> a.shape = 5,2
>> type_descr = [("int", "<0i4"),("float", "<2f4")]
>> a.dtype = type_descr
>>
>>
>
> I'm not sure what a.shape = (5,2) is supposed to do. I left it in the
> unit-test out because assigning to the data-type you just defined
> already results in
>
> a['float'].shape being (5,2)
>
> If it is left in, then an extra dimension is pushed in and
>
> a['float'].shape is (5,1,2)
>
>
> This is due to the default behavior of assigning data-types when the new
> data-type has a larger but compatibile itemsize then the old itemsize.
I have to admit that I don't understand that statement. I thought - just
"visually" - that a.shape = 5,2 would make a "table" with 2 columns.
Then I could go on and give those columns names...
Or is the problem that the type "2f4" refers to (some sort of) a "single
column" with 2 floats grouped together !?
Thanks for implementing it so quickly,
Sebastian Haase
More information about the Numpy-discussion
mailing list