From: Steinar H. Gunderson Date: Mon, 1 Aug 2016 17:35:59 +0000 (+0200) Subject: Make the compressor constants single-precision; saves a lot of conversion back and... X-Git-Tag: 1.3.4~3 X-Git-Url: https://git.sesse.net/?p=nageru;a=commitdiff_plain;h=9d603968d9163e2e821c6630420faa931e2b4c2d Make the compressor constants single-precision; saves a lot of conversion back and forth. --- diff --git a/stereocompressor.cpp b/stereocompressor.cpp index 7a77d07..9291dc3 100644 --- a/stereocompressor.cpp +++ b/stereocompressor.cpp @@ -53,15 +53,15 @@ inline float fastpow(float x, float y) { float ln_nom, ln_den; if (x < 6.0f) { - ln_nom = -0.059237648 + (-0.0165117771 + (0.06818859075 + 0.007560968243 * x) * x) * x; - ln_den = 0.0202509098 + (0.08419174188 + (0.03647189417 + 0.001642577975 * x) * x) * x; + ln_nom = -0.059237648f + (-0.0165117771f + (0.06818859075f + 0.007560968243f * x) * x) * x; + ln_den = 0.0202509098f + (0.08419174188f + (0.03647189417f + 0.001642577975f * x) * x) * x; } else { - ln_nom = -0.005430534 + (0.00633589178 + (0.0006319155549 + 0.4789541675e-5 * x) * x) * x; - ln_den = 0.0064785099 + (0.003219629109 + (0.0001531823694 + 0.6884656640e-6 * x) * x) * x; + ln_nom = -0.005430534f + (0.00633589178f + (0.0006319155549f + 0.4789541675e-5f * x) * x) * x; + ln_den = 0.0064785099f + (0.003219629109f + (0.0001531823694f + 0.6884656640e-6f * x) * x) * x; } float v = y * ln_nom / ln_den; - float exp_nom = 0.2195097621 + (0.08546059868 + (0.01208501759 + 0.0006173448113 * v) * v) * v; - float exp_den = 0.2194980791 + (-0.1343051968 + (0.03556072737 - 0.006174398513 * v) * v) * v; + float exp_nom = 0.2195097621f + (0.08546059868f + (0.01208501759f + 0.0006173448113f * v) * v) * v; + float exp_den = 0.2194980791f + (-0.1343051968f + (0.03556072737f - 0.006174398513f * v) * v) * v; return exp_nom / exp_den; }