When I was playing with onePoleTPT() implementations I've noticed another minor problem.
Trivial example: F1 = rec ~ _ : _,! with { rec = +, 0; }; F2 = rec ~ _ with { rec = +; }; Now, process = F1; and process = F2; generate the same C++ code. But, process = _ <: F1-F2; compiles to void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) { FAUSTFLOAT* input0 = inputs[0]; FAUSTFLOAT* output0 = outputs[0]; for (int i0 = 0; i0 < count; i0 = i0 + 1) { float fTemp0 = float(input0[i0]); fRec0[0] = fTemp0 + fRec0[1]; fRec1[0] = fTemp0 + fRec1[1]; output0[i0] = FAUSTFLOAT(fRec1[0] - fRec0[0]); fRec0[1] = fRec0[0]; fRec1[1] = fRec1[0]; } } Oleg. _______________________________________________ Faudiostream-devel mailing list Faudiostream-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-devel