sirfire
public text v1 · immutablefloat filter(float in0, float r, float fc, float fs)
{
float dvar;
dvar=in0;
// filter
//float const yn = b0a0*in0 + b1a0*in1 + b2a0*in2 - a1a0*ou1 - a2a0*ou2;
float const yn = ((1.0f - r*r/2.0f)) * (in0 - in1) + 2.0f * r * cos(2.0f * 3.14159f * fc/fs) * ou1 - (r*r) * ou2;
// push in/out buffers
in2=in1;
in1=in0;
ou2=ou1;
ou1=yn;
// return output
return yn;
};