On May 19, 2012, at 9:17 AM, Charles R Harris wrote: > > > On Fri, May 18, 2012 at 3:47 PM, Travis Oliphant <tra...@continuum.io> wrote: > Hey all, > > After reading all the discussion around masked arrays and getting input from > as many people as possible, it is clear that there is still disagreement > about what to do, but there have been some fruitful discussions that ensued. > > This isn't really new as there was significant disagreement about what to do > when the masked array code was initially checked in to master. So, in order > to move forward, Mark and I are going to work together with whomever else is > willing to help with an effort that is in the spirit of my third proposal but > has a few adjustments. > > The idea will be fleshed out in more detail as it progresses, but the basic > concept is to create an (experimental) ndmasked object in NumPy 1.7 and leave > the actual ndarray object unchanged. While the details need to be worked > out here, a goal is to have the C-API work with both ndmasked arrays and > arrayobjects (possibly by defining a base-class C-level structure that both > ndarrays inherit from). This might also be a good way for Dag to > experiment with his ideas as well but that is not an explicit goal. > > One way this could work, for example is to have PyArrayObject * be the > base-class array (essentially the same C-structure we have now with a HASMASK > flag). Then, the ndmasked object could inherit from PyArrayObject * as well > but add more members to the C-structure. I think this is the easiest > thing to do and requires the least amount of code-change. It is also > possible to define an abstract base-class PyArrayObject * that both ndarray > and ndmasked inherit from. That way ndarray and ndmasked are siblings > even though the ndarray would essentially *be* the PyArrayObject * --- just > with a different type-hierarchy on the python side. > > This work will take some time and, therefore, I don't expect 1.7 to be > released prior to SciPy Austin with an end of June target date. The timing > will largely depend on what time is available from people interested in > resolving the situation. Mark and I will have some availability for this > work in June but not a great deal (about 2 man-weeks total between us). If > there are others who can step in and help, it will help accelerate the > process. > > > This will be a difficult thing for others to help with since the concept is > vague, the design decisions seem to be in your and Mark's hands, and you say > you don't have much time. It looks to me like 1.7 will keep slipping and I > don't think that is a good thing. Why not go for option 2, which will get 1.7 > out there and push the new masked array work in to 1.8? Breaking the flow of > development and release has consequences, few of them good. >
I don't see how option 2 gets 1.7 out the door any easier as it does not address the actual problems with the changes to the ndarray object that are currently in master and it introduces a new experimental flag concept in a hurried way just to get a release out. This helps the Python side of things, but does nothing to address the C-side of things. Fundamentally, I don't see how we can put 1.7 out with the masked array fields on the ndarray object itself. This is clear from everything I've seen. -Travis > Chuck > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion