frac32buffer in0
frac32buffer in1
frac32buffer in2
frac32buffer in3
frac32buffer in4
frac32buffer in5
frac32buffer in6
frac32buffer in7
frac32buffer out0
frac32buffer out1
frac32buffer out2
frac32buffer out3
frac32buffer out4
frac32buffer out5
frac32buffer out6
frac32buffer out7
// T.Rochebois 98
// 0 1 2 3 4 5 6 7
// 0 . - + + - + + +
// 1 + . - + + - + +
// 2 - + . + + + - +
// 3 - - - . + + + -
// 4 + - - - . + - +
// 5 - + - - - . + +
// 6 - - + - + - . +
// 7 - - - + - - - .
//_____________________
// coef = 1/sqrt7 q32
int32_t coef = 1623345050;
int32_t t = inlet_in3 + inlet_in4 + inlet_in5 + inlet_in6 + inlet_in7;
outlet_out0 = ___SMMUL(coef, t - (inlet_in4 << 1) + inlet_in2 - inlet_in1);
outlet_out1 = ___SMMUL(coef, t - (inlet_in5 << 1) + inlet_in0 - inlet_in2);
outlet_out2 = ___SMMUL(coef, t - (inlet_in6 << 1) + inlet_in1 - inlet_in0);
int32_t t2 = -inlet_in0 - inlet_in1 - inlet_in2 - inlet_in3;
outlet_out3 = ___SMMUL(coef, t - (inlet_in7 << 1) + t2);
outlet_out4 =
___SMMUL(coef, t2 + (inlet_in0 << 1) + inlet_in5 - inlet_in6 + inlet_in7);
outlet_out5 =
___SMMUL(coef, t2 + (inlet_in1 << 1) - inlet_in4 + inlet_in6 + inlet_in7);
outlet_out6 =
___SMMUL(coef, t2 + (inlet_in2 << 1) + inlet_in4 - inlet_in5 + inlet_in7);
outlet_out7 =
___SMMUL(coef, t2 + (inlet_in3 << 1) - inlet_in4 - inlet_in5 - inlet_in6);