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
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel