[Python-Dev] Allocation of shape and strides fields in Py_buffer

Nick Coghlan ncoghlan at gmail.com
Tue Dec 9 10:07:53 CET 2008


Antoine Pitrou wrote:
> Nick Coghlan <ncoghlan <at> gmail.com> writes:
>> No, you misunderstand what I meant. Py_buffer doesn't need to be changed
>> at all. The *issuing type* would define a new structure with the
>> additional fields, such as:
> 
> With to the current buffer API, this is not possible. It's the caller who
> allocates the Py_buffer struct (usually on the stack), not the callee. Therefore
> the callee (e.g. the getbufferproc of the issuing type) cannot choose to
> allocate a different structure.
> 
> (of course complex schemes can be devised where the callee maintains its own
> separate storage for shape and strides, but I don't think we want to go there)

In that case, as Greg noted, this is exactly what the callee should be
doing. Maintaining a PyDict instance to map from view pointers to shapes
and strides info doesn't strike me as a "complex scheme" though.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------


More information about the Python-Dev mailing list