* of 19 seconds for the above division. */
union { float f; int32_t i; } u;
u.i = *src++ + 0x43c00000;
- *dst++ = u.f - 384.0;
+ *dst++ = u.f - 384.f;
}
#endif
out:
#else
/* This is Walken's trick based on IEEE float format. */
union { float f; int32_t i; } u;
- u.f = *src++ + 384.0;
+ u.f = *src++ + 384.f;
if (u.i > 0x43c07fff)
*dst++ = 32767;
else if (u.i < 0x43bf8000)
uint8_t *dst = (uint8_t *)src;
for (size_t i = b->i_buffer / 8; i--;)
{
- float s = *(src++) * 128.f;
- if (s >= 127.)
+ float s = *(src++) * 128.;
+ if (s >= 127.f)
*(dst++) = 255;
else
- if (s <= -128.)
+ if (s <= -128.f)
*(dst++) = 0;
else
*(dst++) = lround(s) + 128;
for (size_t i = b->i_buffer / 8; i--;)
{
float s = *(src++) * 2147483648.;
- if (s >= 2147483647.)
+ if (s >= 2147483647.f)
*(dst++) = 2147483647;
else
- if (s <= -2147483648.)
+ if (s <= -2147483648.f)
*(dst++) = -2147483648;
else
*(dst++) = lround(s);