[Numpy-discussion] question about memory ownership

Darren Dale dsdale24 at gmail.com
Sat Jan 17 23:35:54 EST 2009


On Sat, Jan 17, 2009 at 11:23 PM, Robert Kern <robert.kern at gmail.com> wrote:

> On Sat, Jan 17, 2009 at 22:06, Darren Dale <dsdale24 at gmail.com> wrote:
> > Hello,
> >
> > Would someone be so kind as to explain how to create an ndarray subclass
> > that owns its own memory? I think RealisticInfoArray at
> >
> http://docs.scipy.org/doc/numpy/user/basics.subclassing.html#basics-subclassing
> > does not own its own memory, do you have to call ndarray.__new__
> directly,
> > or is there another way?
>
> Does it matter? Unless if something actually digs down to grab the
> base object, the RealisticInfoArray object is the only thing keeping
> it alive. When it goes away, the underlying array goes away.
>
> But take a look at the implementation of memmap for a subclass that
> calls ndarray.__new__ directly.
>

I'm still working on my physical quantities package, and I want to prevent
something like the following:

q=[1,2,3,4]*kg*m**2/s**2
qq=q[:2]
qq.units=BTU

That would give me qq in units of british thermal units, but it would also
modify the magnitude of q[:2]. It seems the most straight forward solution
is to simply disallow in-place modification of units when the array doesn't
own its own memory.

Darren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090117/2c13fb5c/attachment.html>


More information about the NumPy-Discussion mailing list