frac32buffer in0
frac32buffer in1
frac32buffer in2
frac32buffer in3
frac32buffer out0
frac32buffer out1
frac32buffer out2
frac32buffer out3
// 0 1 2 3
// 0 . + + +
// 1 + . + -
// 2 + - . +
// 3 + + - .
// T.Rochebois 97
// 8+ 4*
// coef = 1/sqrt(3) q31
int32_t coef = 1239850262;
outlet_out0 = ___SMMUL(coef, inlet_in1 + inlet_in2 + inlet_in3) << 1;
outlet_out1 = ___SMMUL(coef, inlet_in0 + inlet_in2 - inlet_in3) << 1;
outlet_out2 = ___SMMUL(coef, inlet_in0 - inlet_in1 + inlet_in3) << 1;
outlet_out3 = ___SMMUL(coef, inlet_in0 + inlet_in1 - inlet_in2) << 1;