return 0;
}
-static const double s_pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679;
-
static void init_gaussian_filter(DynamicAudioNormalizerContext *s)
{
double total_weight = 0.0;
// Pre-compute constants
const int offset = s->filter_size / 2;
- const double c1 = 1.0 / (sigma * sqrt(2.0 * s_pi));
- const double c2 = 2.0 * pow(sigma, 2.0);
+ const double c1 = 1.0 / (sigma * sqrt(2.0 * M_PI));
+ const double c2 = 2.0 * sigma * sigma;
// Compute weights
for (i = 0; i < s->filter_size; i++) {
const int x = i - offset;
- s->weights[i] = c1 * exp(-(pow(x, 2.0) / c2));
+ s->weights[i] = c1 * exp(-x * x / c2);
total_weight += s->weights[i];
}