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;