DeinterleaveNLists

partition a list into equivalence classes of each element's order modulo n

alias DeinterleaveNLists(uint n, T...) = InterleaveNLists!(T.length / n, T)

Examples

static assert (DeinterleaveNLists!(2, 0,3,1,4,2,5) == Cons!(0,1,2,3,4,5));
static assert (DeinterleaveNLists!(3, 0,2,4,1,3,5) == Cons!(0,1,2,3,4,5));

Meta