diff --git a/libcelt/bands.c b/libcelt/bands.c index 329d7cf2..1bb228df 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -43,47 +43,24 @@ static void exp_rotation(float *X, int len, float theta, int dir, int stride, in int i, k; float c, s; c = cos(theta); - s = sin(theta); - if (dir > 0) + s = dir*sin(theta); + for (k=0;k=0;i--) - { - float x1, x2; - x1 = X[i]; - x2 = X[i+stride]; - X[i] = c*x1 - s*x2; - X[i+stride] = c*x2 + s*x1; - } + float x1, x2; + x1 = X[i]; + x2 = X[i+stride]; + X[i] = c*x1 - s*x2; + X[i+stride] = c*x2 + s*x1; } - } else { - for (k=0;k=0;i--) { - for (i=0;i=0;i--) - { - float x1, x2; - x1 = X[i]; - x2 = X[i+stride]; - X[i] = c*x1 + s*x2; - X[i+stride] = c*x2 - s*x1; - } + float x1, x2; + x1 = X[i]; + x2 = X[i+stride]; + X[i] = c*x1 - s*x2; + X[i+stride] = c*x2 + s*x1; } } }