-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Since quasiarrays use non-classical indexing, IndexStyle should not fall back to IndexCartesian which assumes continuous integer indexing.
The index style of a quasiarray could be like IndexHybrid{IndexStyle(axes1),IndexStyle(axes2),...}. The index style of a general axes is IndexSet{typeof(union(axes))}. For example, IndexStyle(::ChebyshevU) = IndexHybrid{IndexSet{ChebyshevInterval},IndexInfLinear}.
By defining index styles, concatenation and set operations can be well defined. A concatenation over IndexInfLinear assumes interlacing. A concatenation over IndexSet assumes overlay. Adding or taking average in the intersecion is not generic as + is not defined for some types.
If one wants piecewise function, one can define IndexElementSet that allows splicing sets.