frac32buffer predelayA
frac32 predelayK
frac32 Range
frac32buffer wave
frac32 range
frac32.u.map predelay
frac32.u.map range
objref delayname
int32_t range;
int32_t ronge;
int32_t ringe;
int64_t predelayK;
ringe = ___SMMUL((param_range - 1) << 3, (param_range - 1) << 2) + 1;
ronge = __SSAT((ringe + inlet_Range), 28);
outlet_range = ronge;
predelayK = (param_predelay + inlet_predelayK);
uint32_t delay1 = attr_delayname.writepos -
(__USAT(inlet_predelayA + predelayK, 27) >>
(27 - attr_delayname.LENGTHPOW)) -
BUFSIZE + buffer_index;
range = ___SMMUL((1 << attr_delayname.LENGTHPOW) << 3, ronge << 2);
delay1 = delay1 - ((delay1 / range) * range);
outlet_out = attr_delayname.array[delay1 & attr_delayname.LENGTHMASK] << 14;