On Fri, Jul 1, 2011 at 3:07 PM, Eric Firing <efir...@hawaii.edu> wrote:

> On 07/01/2011 10:27 AM, Charles R Harris wrote:
> >
> >
> > On Fri, Jul 1, 2011 at 1:39 PM, Christopher Barker
> > <chris.bar...@noaa.gov <mailto:chris.bar...@noaa.gov>> wrote:
> >
> >     Joe Harrington wrote:
> >      >  All
> >      > that has to happen is to allow the sense of the mask to be FALSE
> >     = the
> >      > data are bad, TRUE = the data are good, and allow (not require)
> the
> >      > mask to be of any numerical type, or at least of integer type as
> well
> >      > as boolean.
> >
> >     quick note on this: I like the "FALSE == good" way, because:
> >
> >     instead of good and bad we think "masked" and "unmasked", then we
> have:
> >
> >     False = "unmasked" = "regular old data"
> >     True = "masked" = "something special about the data
> >
> >     The default for "something special" is "bad" (or "missing" , or
> >     "ignore"), but the cool thing is that if you use an int:
> >
> >     0 = "unmasked"
> >     1 = "masked because of one thing"
> >     2 = "masked because of another"
> >     etc., etc.
> >
> >     This could be pretty powerful
> >
> >
> > I don't think the false/true dichotomy isn't something to worry about,
> > it is an implementation detail that is hidden from the user...
>
> But Joe's point and Chris's seemingly opposite (in terms of the Boolean
> value of the mask) point are that if it is not completely hidden, and if
> it is not restricted to be Boolean but is merely treated as Boolean with
> True meaning NA or Ignore, then it can be more powerful because it can
> carry additional information without affecting its Boolean functionality
> as a mask in ufuncs.
>
> Although I might use such a capability if it existed, to reduce the need
> to have a separate flags array corresponding to a given data array, I
> think that for my own purposes this is very low priority, and chances
> are I would often use a separate flags array even if the underlying mask
> were not restricted to Boolean.
>
>
Array access needs to be distinguished from array exposure. If the access
goes through getter/setter functions than the underlying representation can
change. Whether or not that degree of abstraction is needed is another
question, but it does make things more flexible.

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to