[Numpy-discussion] ANN: numarray-1.4.1
Travis Oliphant
oliphant at ee.byu.edu
Fri Oct 28 12:29:43 CDT 2005
Todd Miller wrote:
> Francesc Altet wrote:
>
>> Hi Todd,
>>
>> I've just installed numarray 1.4.1 and pass my tests over it.
>> Everything goes well, except some small detail:
>>
>> Python 2.4.2 (#2, Sep 29 2005, 00:23:59)
>> [GCC 4.0.2 (Debian 4.0.1-9)] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>>
>>
>>>>> import Numeric
>>>>> import numarray
>>>>> Numeric.__version__
>>>>>
>>>>
>> '24.0b2'
>>
>>
>>>>> numarray.__version__
>>>>>
>>>>
>> '1.4.1'
>>
>>
>>>>> na=numarray.array([ 51.], type=numarray.Float64)
>>>>> Numeric.array(na, typecode='d')
>>>>>
>>>>
>> Traceback (most recent call last):
>> File "<stdin>", line 1, in ?
>> TypeError: expected a writeable buffer object
>>
>>
> This looks like a coordinated change in both numarray and Numeric.
> (Travis?) I updated to Numeric-24.0 and all was well.
> It appears the __array_data__ protocol improved to know about
> readonly-ness. In order to support the readonly behavior in
> numarray, I think the change must be made in lockstep. We could
> however back out support for readonly while Numeric-24.0 becomes more
> pervasive.
Yes, basically the __array_data__ protocol was essentially pointless
before because it just returned a buffer object which
1) did nothing more than the object itself supporting the buffer
protocol and
2) could not handle strided (discontiguous) arrays.
The new array protocol handles the situation much better and allows
discontiguous arrays to be shared.
However, it does create some backward compatibility issues. But,
because Numeric 24.0b2 was a *beta* release I don't see this as a real
problem. Get the final release of Numeric, which will handle the array
protocol correctly (note it will also handle the old __array_data__
format as well).
Todd, I was not sure how to change numarray so it would consume the new
protocol correctly. So, I'm not sure how numarray interprets the
__array_data__ attribute.
-Travis
More information about the Numpy-discussion
mailing list