// ************************************************************************** // // // // eses eses // // eses eses // // eses eseses esesese eses Embedded Systems Group // // ese ese ese ese ese // // ese eseseses eseseses ese Department of Computer Science // // eses eses ese eses // // eses eseses eseseses eses University of Kaiserslautern // // eses eses // // // // ************************************************************************** // [32]int w; [32]int x; [32]int y; thread FastFourierTransform { int t_1,t_2,t_3,t_4,t_5,t_6,t_7,t_8,t_9,t_10,t_11,t_12,t_13,t_14,t_15,t_16,t_17,t_18,t_19,t_20,t_21,t_22,t_23,t_24,t_25,t_26,t_27,t_28,t_29,t_30,t_31,t_32,t_33,t_34,t_35,t_36,t_37,t_38,t_39,t_40,t_41,t_42,t_43,t_44,t_45,t_46,t_47,t_48,t_49,t_50,t_51,t_52,t_53,t_54,t_55,t_56,t_57,t_58,t_59,t_60,t_61,t_62,t_63,t_64,t_65,t_66,t_67,t_68,t_69,t_70,t_71,t_72,t_73,t_74,t_75,t_76,t_77,t_78,t_79,t_80,t_81,t_82,t_83,t_84,t_85,t_86,t_87,t_88,t_89,t_90,t_91,t_92,t_93,t_94,t_95,t_96,t_97,t_98,t_99,t_100,t_101,t_102,t_103,t_104,t_105,t_106,t_107,t_108,t_109,t_110,t_111,t_112,t_113,t_114,t_115,t_116,t_117,t_118,t_119,t_120,t_121,t_122,t_123,t_124,t_125,t_126,t_127,t_128,t_129,t_130,t_131,t_132,t_133,t_134,t_135,t_136,t_137,t_138,t_139,t_140,t_141,t_142,t_143,t_144,t_145,t_146,t_147,t_148,t_149,t_150,t_151,t_152,t_153,t_154,t_155,t_156,t_157,t_158,t_159,t_160; t_1 = x[0] + x[16]; t_2 = x[1] + x[17]; t_3 = x[2] + x[18]; t_4 = x[3] + x[19]; t_5 = x[4] + x[20]; t_6 = x[5] + x[21]; t_7 = x[6] + x[22]; t_8 = x[7] + x[23]; t_9 = x[8] + x[24]; t_10 = x[9] + x[25]; t_11 = x[10] + x[26]; t_12 = x[11] + x[27]; t_13 = x[12] + x[28]; t_14 = x[13] + x[29]; t_15 = x[14] + x[30]; t_16 = x[15] + x[31]; t_17 = x[0] - x[16]; t_18 = w[1] * (x[1] - x[17]); t_19 = w[2] * (x[2] - x[18]); t_20 = w[3] * (x[3] - x[19]); t_21 = w[4] * (x[4] - x[20]); t_22 = w[5] * (x[5] - x[21]); t_23 = w[6] * (x[6] - x[22]); t_24 = w[7] * (x[7] - x[23]); t_25 = w[8] * (x[8] - x[24]); t_26 = w[9] * (x[9] - x[25]); t_27 = w[10] * (x[10] - x[26]); t_28 = w[11] * (x[11] - x[27]); t_29 = w[12] * (x[12] - x[28]); t_30 = w[13] * (x[13] - x[29]); t_31 = w[14] * (x[14] - x[30]); t_32 = w[15] * (x[15] - x[31]); t_33 = t_1 + t_9; t_34 = t_2 + t_10; t_35 = t_3 + t_11; t_36 = t_4 + t_12; t_37 = t_5 + t_13; t_38 = t_6 + t_14; t_39 = t_7 + t_15; t_40 = t_8 + t_16; t_41 = t_1 - t_9; t_42 = w[2] * (t_2 - t_10); t_43 = w[4] * (t_3 - t_11); t_44 = w[6] * (t_4 - t_12); t_45 = w[8] * (t_5 - t_13); t_46 = w[10] * (t_6 - t_14); t_47 = w[12] * (t_7 - t_15); t_48 = w[14] * (t_8 - t_16); t_49 = t_33 + t_37; t_50 = t_34 + t_38; t_51 = t_35 + t_39; t_52 = t_36 + t_40; t_53 = t_33 - t_37; t_54 = w[4] * (t_34 - t_38); t_55 = w[8] * (t_35 - t_39); t_56 = w[12] * (t_36 - t_40); t_57 = t_49 + t_51; t_58 = t_50 + t_52; t_59 = t_49 - t_51; t_60 = w[8] * (t_50 - t_52); t_61 = t_57 + t_58; t_62 = t_57 - t_58; t_63 = t_59 + t_60; t_64 = t_59 - t_60; t_65 = t_53 + t_55; t_66 = t_54 + t_56; t_67 = t_53 - t_55; t_68 = w[8] * (t_54 - t_56); t_69 = t_65 + t_66; t_70 = t_65 - t_66; t_71 = t_67 + t_68; t_72 = t_67 - t_68; t_73 = t_41 + t_45; t_74 = t_42 + t_46; t_75 = t_43 + t_47; t_76 = t_44 + t_48; t_77 = t_41 - t_45; t_78 = w[4] * (t_42 - t_46); t_79 = w[8] * (t_43 - t_47); t_80 = w[12] * (t_44 - t_48); t_81 = t_73 + t_75; t_82 = t_74 + t_76; t_83 = t_73 - t_75; t_84 = w[8] * (t_74 - t_76); t_85 = t_81 + t_82; t_86 = t_81 - t_82; t_87 = t_83 + t_84; t_88 = t_83 - t_84; t_89 = t_77 + t_79; t_90 = t_78 + t_80; t_91 = t_77 - t_79; t_92 = w[8] * (t_78 - t_80); t_93 = t_89 + t_90; t_94 = t_89 - t_90; t_95 = t_91 + t_92; t_96 = t_91 - t_92; t_97 = t_17 + t_25; t_98 = t_18 + t_26; t_99 = t_19 + t_27; t_100 = t_20 + t_28; t_101 = t_21 + t_29; t_102 = t_22 + t_30; t_103 = t_23 + t_31; t_104 = t_24 + t_32; t_105 = t_17 - t_25; t_106 = w[2] * (t_18 - t_26); t_107 = w[4] * (t_19 - t_27); t_108 = w[6] * (t_20 - t_28); t_109 = w[8] * (t_21 - t_29); t_110 = w[10] * (t_22 - t_30); t_111 = w[12] * (t_23 - t_31); t_112 = w[14] * (t_24 - t_32); t_113 = t_97 + t_101; t_114 = t_98 + t_102; t_115 = t_99 + t_103; t_116 = t_100 + t_104; t_117 = t_97 - t_101; t_118 = w[4] * (t_98 - t_102); t_119 = w[8] * (t_99 - t_103); t_120 = w[12] * (t_100 - t_104); t_121 = t_113 + t_115; t_122 = t_114 + t_116; t_123 = t_113 - t_115; t_124 = w[8] * (t_114 - t_116); t_125 = t_121 + t_122; t_126 = t_121 - t_122; t_127 = t_123 + t_124; t_128 = t_123 - t_124; t_129 = t_117 + t_119; t_130 = t_118 + t_120; t_131 = t_117 - t_119; t_132 = w[8] * (t_118 - t_120); t_133 = t_129 + t_130; t_134 = t_129 - t_130; t_135 = t_131 + t_132; t_136 = t_131 - t_132; t_137 = t_105 + t_109; t_138 = t_106 + t_110; t_139 = t_107 + t_111; t_140 = t_108 + t_112; t_141 = t_105 - t_109; t_142 = w[4] * (t_106 - t_110); t_143 = w[8] * (t_107 - t_111); t_144 = w[12] * (t_108 - t_112); t_145 = t_137 + t_139; t_146 = t_138 + t_140; t_147 = t_137 - t_139; t_148 = w[8] * (t_138 - t_140); t_149 = t_145 + t_146; t_150 = t_145 - t_146; t_151 = t_147 + t_148; t_152 = t_147 - t_148; t_153 = t_141 + t_143; t_154 = t_142 + t_144; t_155 = t_141 - t_143; t_156 = w[8] * (t_142 - t_144); t_157 = t_153 + t_154; t_158 = t_153 - t_154; t_159 = t_155 + t_156; t_160 = t_155 - t_156; y[0] = t_61; y[1] = t_125; y[2] = t_85; y[3] = t_149; y[4] = t_69; y[5] = t_133; y[6] = t_93; y[7] = t_157; y[8] = t_63; y[9] = t_127; y[10] = t_87; y[11] = t_151; y[12] = t_71; y[13] = t_135; y[14] = t_95; y[15] = t_159; y[16] = t_62; y[17] = t_126; y[18] = t_86; y[19] = t_150; y[20] = t_70; y[21] = t_134; y[22] = t_94; y[23] = t_158; y[24] = t_64; y[25] = t_128; y[26] = t_88; y[27] = t_152; y[28] = t_72; y[29] = t_136; y[30] = t_96; y[31] = t_160; }