public virtual float HyperbolicTf(float freq)
{
if (0.0f == freq)
{
return 0.0f;
}
float min = tf_hyper_min;
float max = tf_hyper_max;
double @base = tf_hyper_base;
float xoffset = tf_hyper_xoffset;
double x = (double)(freq - xoffset);
float result = min + (float)((max - min) / 2.0f * (((Math.Pow(@base, x) - Math.Pow(@base, -x)) / (Math.Pow(@base, x) + Math.Pow(@base, -x))) + 1.0d));
return float.IsNaN(result) ? max : result;
}
}