]> git.sesse.net Git - c64tapwav/blobdiff - level.cpp
Fix some compatibility issues in level.cpp, and possibly also a tiny accuracy improve...
[c64tapwav] / level.cpp
index e14704acb9f5c475b49f760b7e3426dca272ef7e..36377991764e0daae030ade42a95b688f5421041 100644 (file)
--- a/level.cpp
+++ b/level.cpp
@@ -48,9 +48,7 @@ static float d0, d1;
 static void filter_init(float cutoff_radians)
 {
        float resonance = 1.0f / sqrt(2.0f);
-       float sn, cs;
-       sincosf(cutoff_radians, &sn, &cs);
-
+       float sn = sin(cutoff_radians), cs = cos(cutoff_radians);
        float alpha = float(sn / (2 * resonance));
 
        // coefficients for lowpass filter
@@ -61,12 +59,11 @@ static void filter_init(float cutoff_radians)
         a1 = -2 * cs;
         a2 = 1 - alpha;
 
-       float invA0 = 1.0f / a0;
-       b0 *= invA0;
-       b1 *= invA0;
-       b2 *= invA0;
-       a1 *= invA0;
-       a2 *= invA0;
+       b0 /= a0;
+       b1 /= a0;
+       b2 /= a0;
+       a1 /= a0;
+       a2 /= a0;
 
        // reset filter delays
        d0 = d1 = 0.0f;