#include #define INTERLEAVEFUN(nbits) void \ interleave ## nbits (int nchan, int chanmap[], int chansamps, int32_t *data[], int ## nbits ## _t *out) \ { \ int i; \ \ for (i = 0; i < chansamps * nchan; i++) { \ out[i] = (int ## nbits ## _t)data[chanmap[i % nchan]][i / nchan]; \ } \ } INTERLEAVEFUN(16)