Dag Sverre Seljebotn wrote:
> Brent Pedersen wrote:
>> On Thu, May 14, 2009 at 9:05 AM, Robert<[email protected]> wrote:
>>> Dag Sverre Seljebotn wrote:
>>>> Robert wrote:
>>>>> How to deal with Python's array.array directly - as with numpy.pxd
>>>>> is there a array.pxd ?
>>>> Which Python version?
>>> mainly 2.6; and 2.3
>>>
>>>> Under Python 3 this should probably happen automatically, try:
>>>>
>>>> cdef object[int, ndim=1, mode="c"] arr = yourarray
>>>>
>>>> Not sure about Python 2.6+
>>> 2.6.2 didn't:
>>> File "calc_c.pyx", line 32, in calc_c.test1 (calc_c.c:808)
>>>     cdef object[float, ndim=1, mode="c"] b = pyarray
>>> TypeError: 'array.array' does not have the buffer interface
>>>
>>> in Python "buffer(myarray)" also behaves strange
>>>
>>>> For Python 2.5- an array.pxd must be written. It is not difficult, one
>>>> simply follows the pattern in numpy.pxd (by implementing __getbuffer__
>>>> and filling in the Py_buffer struct).
>>>>
>>>> If somebody ends up doing this, please submit it for inclusion in
>>>> Python.
>>> I've put a array.pxd here:
>>> http://trac.cython.org/cython_trac/ticket/314
>> hi, what's the status on this? it seemed very useful.
>> if it needs tests, i could try to write some given some info on where
>> to start, what to
>> cover or maybe some cython-numpy tests to from which to crib?
>> thanks,
>> -brent
> 
> Great!
> 
> The main issue with the patch as I see it is that it tries to hack on 
> multi-dimensionality. That is very easily done simply by writing a 
> subclass of array instead, and so doesn't belong in the pxd like this.
> 
> If you could just remove the multi-dimensional stuff from it I'd be 
> happy to accept it. Accompanying tests are strongly preferred though.
> 
> There's a section on writing tests here:
> http://wiki.cython.org/HackerGuide
> 
> I don't expect the numpy tests to be too useful (though they are in 
> tests/run), just make sure the basics work with a couple of different 
> datatypes. I'll be happy to suggest improvements if you make a first 
> iteration anyway.
> 

Also it would be great if any patches could be created using Mercurial.

-- 
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to