Don't bother multiplying when the window's value is one or zero
diff --git a/libcelt/modes.c b/libcelt/modes.c
index f461760..0753399 100644
--- a/libcelt/modes.c
+++ b/libcelt/modes.c
@@ -274,9 +274,15 @@
for (i=0;i<2*N;i++)
mode->window[i] = 0;
+#ifndef FIXED_POINT
for (i=0;i<mode->overlap;i++)
mode->window[N4+i] = mode->window[2*N-N4-i-1]
= Q15ONE*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap));
+#else
+ for (i=0;i<mode->overlap;i++)
+ mode->window[N4+i] = mode->window[2*N-N4-i-1]
+ = MIN32(32767,32768.*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap)));
+#endif
for (i=0;i<N2;i++)
mode->window[N-N4+i] = Q15ONE;