On Wed, Apr 25, 2012 at 9:58 AM, Richard Hattersley <[email protected]>wrote:
> The masked array discussions have brought up all sorts of interesting > topics - too many to usefully list here - but there's one aspect I haven't > spotted yet. Perhaps that's because it's flat out wrong, or crazy, or just > too awkward to be helpful. But ... > > Shouldn't masked arrays (MA) be a superclass of the plain-old-array (POA)? > > In the library I'm working on, the introduction of MAs (via numpy.ma) > required us to sweep through the library and make a fair few changes. > That's not the sort of thing one would normally expect from the > introduction of a subclass. > > Putting aside the ABI issue, would it help downstream API compatibility if > the POA was a subclass of the MA? Code that's expecting/casting-to a POA > might continue to work and, where appropriate, could be upgraded in their > own time to accept MAs. > > That's a version of the idea that all arrays have masks, just some of them have "missing" masks. That construction was mentioned in the thread but I can see how one might have missed it. I think it is the right way to do things. However, current libraries and such will still need to do some work in order to not do the wrong thing when a "real" mask was present. For instance, check and raise an error if they can't deal with it. Chuck
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
