Fixed following bugs:
[ep-processor-libraries/dsplib.git] / ti / dsplib / examples / fft_sp_ex / fft_example_sp.c
index 457a25de1501dbf3e229adf22d8db14f952bbd27..0646512e92b4893f327192be9e949b8934b7f1c8 100644 (file)
@@ -151,30 +151,27 @@ seperateRealImg () {
 void gen_twiddle_fft_sp (float *w, int n)
 {
     int i, j, k;
-    double x_t, y_t, theta1, theta2, theta3;
     const double PI = 3.141592654;
 
     for (j = 1, k = 0; j <= n >> 2; j = j << 2)
     {
         for (i = 0; i < n >> 2; i += j)
         {
-            theta1 = 2 * PI * i / n;
-            x_t = cos (theta1);
-            y_t = sin (theta1);
-            w[k] = (float) x_t;
-            w[k + 1] = (float) y_t;
-
-            theta2 = 4 * PI * i / n;
-            x_t = cos (theta2);
-            y_t = sin (theta2);
-            w[k + 2] = (float) x_t;
-            w[k + 3] = (float) y_t;
-
-            theta3 = 6 * PI * i / n;
-            x_t = cos (theta3);
-            y_t = sin (theta3);
-            w[k + 4] = (float) x_t;
-            w[k + 5] = (float) y_t;
+#ifdef _LITTLE_ENDIAN
+            w[k] = (float) sin (2 * PI * i / n);
+            w[k + 1] = (float) cos (2 * PI * i / n);
+            w[k + 2] = (float) sin (4 * PI * i / n);
+            w[k + 3] = (float) cos (4 * PI * i / n);
+            w[k + 4] = (float) sin (6 * PI * i / n);
+            w[k + 5] = (float) cos (6 * PI * i / n);
+#else
+            w[k] = (float) cos (2 * PI * i / n);
+            w[k + 1] = (float) -sin (2 * PI * i / n);
+            w[k + 2] = (float) cos (4 * PI * i / n);
+            w[k + 3] = (float) -sin (4 * PI * i / n);
+            w[k + 4] = (float) cos (6 * PI * i / n);
+            w[k + 5] = (float) -sin (6 * PI * i / n);
+#endif
             k += 6;
         }
     }