frac32buffer in
frac32buffer out
frac32.u.map 0 = rectangular; 64 = triangle
int32_t r1;
int32_t r2;
float halfsize = param_size >> 1;
float halfsize_compl = (1 << 27) - halfsize;
float ramp = (1 << 27) / halfsize;
if (inlet_in < 0 || inlet_in > 1 << 27) {
outlet_out = 0;
} else if (inlet_in < halfsize) {
outlet_out = inlet_in * ramp;
} else if (inlet_in > halfsize_compl) {
outlet_out = (1 << 27) - (inlet_in - halfsize_compl) * ramp;
} else
outlet_out = 1 << 27;