Matti/Amaury

Well -- that's excellent.  The basic functionality of memmap.py seems to work fine now, against the ndarray-subtype branch.  I had copied the tests from the original modules doctest into a pytest module.  Had to modify because numpypy doesn't support .flags attribute, and also because offset is not supported yet.

I am adding some additional tests to see what happens when sizes of things are wrong, and when one tries to write to read-only mmaps -- don't want to allow segfaults presumably.

Other than that -- how do I go about making my code available for review / merging?

Should I wait until Matti's branch is merged, then make a new branch called numpypy-memmap?  Or should memmap just be part of the ndarray-subtype branch (since it is a user of the subtype functionality)?

Mike



On Thu, Jul 4, 2013 at 3:27 PM, Matti Picus <matti.picus@gmail.com> wrote:
You correctly point out, in other words, that it was an ugly hack.
It is on the way to being removed by adding a space argument to calls to from_space...().
Let us know how your tests progress.
Matti

On 07/04/2013 09:57 PM, Mike Beller wrote:
Matti

That's great.  I was stuck trying to figure out how to deal with the fact that if subtype was not-none, the from_shape (and friends) would also need access to 'space'.  I see you addressed that with subtype_and_space=(None,None).    It's not a pattern I'd seen in the pypy codebase.  I keep thinking that there are already very specific pypy-ish ways of doing things at interpreter level, and digging to try to learn those patterns, when perhaps things are a bit more in flux than I thought.

On awesome side, I think now with your subclassing code, and Armin's modification to mmap.py to support more of the buffer interface, the memap code I've already written may just work.  Will try that next.

Mike



On Wed, Jul 3, 2013 at 3:29 PM, Matti Picus <matti.picus@gmail.com <mailto:matti.picus@gmail.com>> wrote:

    I got motivated and implemented parts of subtypes on ndarray in
    the ndarray-subtype branch.
    This page
    http://docs.scipy.org/doc/numpy/user/basics.subclassing.html
    describes the numpy way, so I did
    ndarray.view(subtype)
    as well, but I did not yet do the slice (they call it template)
    nor did I do __array_finalize__

    Failing tests and patches are welcome

    Matti