Open
Description
Continued from #30 (comment) (cc @ilan-gold)
Currently we have Flags.Any
, which is set for all ArrayType
s, in order to make sure that for each ArrayType
“at”,
at.flags & ~Flags(0)
is truthy, andnot (at.flags & Flags(0))
is true.
This isn’t trivially the case, since each flag represents an attribute, and its absence the inverse attribute, so there is always one group that has no flags set. With the current set of flags (sparse, gpu, dask, disk), this group contains numpy.ndarray
)
Alternatives:
- don’t use
Flags(0)
as default forskip
, butNone
instead (unintuitive, one would expectskip=Flags(0)
to skip nothing) - use a flag that is the inverse of another, e.g.
Flags.Dense
(there is no longer one obvious way to do things, e.g. shall we skip sparse or select dense?) - switch the flags to
NoDask
andNoDisk
, so thatFlags(0)
represents a combination that can never exist (might be elegant if there were were words to express these concepts without negation)
Metadata
Metadata
Assignees
Labels
No labels