mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-05 18:22:23 +00:00
siren: Fix floating point invalid operation
Mix of single and double precision leads to zero-by-zero divide for upper 64-bit of the xmm register, even though they are not used.
This commit is contained in:
parent
29d48ce8a1
commit
e6c56ec014
1 changed files with 4 additions and 4 deletions
|
@ -62,7 +62,7 @@ static int siren_initialized = 0;
|
||||||
/*
|
/*
|
||||||
STEPSIZE = 2.0 * log(sqrt(2));
|
STEPSIZE = 2.0 * log(sqrt(2));
|
||||||
*/
|
*/
|
||||||
#define STEPSIZE 0.3010299957
|
#define STEPSIZE 0.3010299957f
|
||||||
|
|
||||||
void
|
void
|
||||||
siren_init (void)
|
siren_init (void)
|
||||||
|
@ -77,9 +77,9 @@ siren_init (void)
|
||||||
region_size_inverse = 1.0f / region_size;
|
region_size_inverse = 1.0f / region_size;
|
||||||
|
|
||||||
for (i = 0; i < 64; i++) {
|
for (i = 0; i < 64; i++) {
|
||||||
region_power = (float) pow (10, (i - 24) * STEPSIZE);
|
region_power = powf (10.0f, (i - 24) * STEPSIZE);
|
||||||
standard_deviation[i] = (float) sqrt (region_power);
|
standard_deviation[i] = sqrtf (region_power);
|
||||||
deviation_inverse[i] = (float) 1.0 / standard_deviation[i];
|
deviation_inverse[i] = 1.0f / standard_deviation[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < 63; i++)
|
for (i = 0; i < 63; i++)
|
||||||
|
|
Loading…
Reference in a new issue