frac32buffer in
frac32 mod input
frac32buffer out
frac32.s.map.ratio g
spinner delay
int32_t *d;
// int16_t d[attr_delay];
int dpos;
static int32_t _array[attr_poly][attr_delay] __attribute__((section(".sdram")));
d = &_array[parent->polyIndex][0];
int i;
for (i = 0; i < attr_delay; i++)
d[i] = 0;
dpos = 0;
int32_t g2 = inlet_g + param_g << 4;
int32_t dout = d[dpos] << 16;
int32_t din = ___SMMLA(g2, dout, inlet_in >> 1);
d[dpos++] = din >> 15;
outlet_out = ___SMMLS(g2, din << 1, dout >> 1) << 1;
if (dpos == attr_delay)
dpos = 0;