-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Continued from #30 (comment) (cc @ilan-gold)
Currently we have Flags.Any, which is set for all ArrayTypes, 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, butNoneinstead (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
NoDaskandNoDisk, 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