interlace

qinterlace(*din: Queue) → Queue[din.data, 2]

Interlaces input Queue -s from any number of inputs in a Round-robin order to produce a single output 2nd order Queue.

di1 = drv(t=Queue[Uint[4], 1], seq=[[1, 2], [3, 4]])
di2 = drv(t=Queue[Uint[4], 1], seq=[[5, 6], [7, 8]])

qinterlace(di1, di2) \
    | check(ref=[[[1, 2], [5, 6]], [[3, 4], [7, 8]]])