// ************************************************************************** // // // // 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 // // // // ************************************************************************** // [64]int w; [64]int x; [64]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_161,t_162,t_163,t_164,t_165,t_166,t_167,t_168,t_169,t_170,t_171,t_172,t_173,t_174,t_175,t_176,t_177,t_178,t_179,t_180,t_181,t_182,t_183,t_184,t_185,t_186,t_187,t_188,t_189,t_190,t_191,t_192,t_193,t_194,t_195,t_196,t_197,t_198,t_199,t_200,t_201,t_202,t_203,t_204,t_205,t_206,t_207,t_208,t_209,t_210,t_211,t_212,t_213,t_214,t_215,t_216,t_217,t_218,t_219,t_220,t_221,t_222,t_223,t_224,t_225,t_226,t_227,t_228,t_229,t_230,t_231,t_232,t_233,t_234,t_235,t_236,t_237,t_238,t_239,t_240,t_241,t_242,t_243,t_244,t_245,t_246,t_247,t_248,t_249,t_250,t_251,t_252,t_253,t_254,t_255,t_256,t_257,t_258,t_259,t_260,t_261,t_262,t_263,t_264,t_265,t_266,t_267,t_268,t_269,t_270,t_271,t_272,t_273,t_274,t_275,t_276,t_277,t_278,t_279,t_280,t_281,t_282,t_283,t_284,t_285,t_286,t_287,t_288,t_289,t_290,t_291,t_292,t_293,t_294,t_295,t_296,t_297,t_298,t_299,t_300,t_301,t_302,t_303,t_304,t_305,t_306,t_307,t_308,t_309,t_310,t_311,t_312,t_313,t_314,t_315,t_316,t_317,t_318,t_319,t_320,t_321,t_322,t_323,t_324,t_325,t_326,t_327,t_328,t_329,t_330,t_331,t_332,t_333,t_334,t_335,t_336,t_337,t_338,t_339,t_340,t_341,t_342,t_343,t_344,t_345,t_346,t_347,t_348,t_349,t_350,t_351,t_352,t_353,t_354,t_355,t_356,t_357,t_358,t_359,t_360,t_361,t_362,t_363,t_364,t_365,t_366,t_367,t_368,t_369,t_370,t_371,t_372,t_373,t_374,t_375,t_376,t_377,t_378,t_379,t_380,t_381,t_382,t_383,t_384; t_1 = x[0] + x[32]; t_2 = x[1] + x[33]; t_3 = x[2] + x[34]; t_4 = x[3] + x[35]; t_5 = x[4] + x[36]; t_6 = x[5] + x[37]; t_7 = x[6] + x[38]; t_8 = x[7] + x[39]; t_9 = x[8] + x[40]; t_10 = x[9] + x[41]; t_11 = x[10] + x[42]; t_12 = x[11] + x[43]; t_13 = x[12] + x[44]; t_14 = x[13] + x[45]; t_15 = x[14] + x[46]; t_16 = x[15] + x[47]; t_17 = x[16] + x[48]; t_18 = x[17] + x[49]; t_19 = x[18] + x[50]; t_20 = x[19] + x[51]; t_21 = x[20] + x[52]; t_22 = x[21] + x[53]; t_23 = x[22] + x[54]; t_24 = x[23] + x[55]; t_25 = x[24] + x[56]; t_26 = x[25] + x[57]; t_27 = x[26] + x[58]; t_28 = x[27] + x[59]; t_29 = x[28] + x[60]; t_30 = x[29] + x[61]; t_31 = x[30] + x[62]; t_32 = x[31] + x[63]; t_33 = x[0] - x[32]; t_34 = w[1] * (x[1] - x[33]); t_35 = w[2] * (x[2] - x[34]); t_36 = w[3] * (x[3] - x[35]); t_37 = w[4] * (x[4] - x[36]); t_38 = w[5] * (x[5] - x[37]); t_39 = w[6] * (x[6] - x[38]); t_40 = w[7] * (x[7] - x[39]); t_41 = w[8] * (x[8] - x[40]); t_42 = w[9] * (x[9] - x[41]); t_43 = w[10] * (x[10] - x[42]); t_44 = w[11] * (x[11] - x[43]); t_45 = w[12] * (x[12] - x[44]); t_46 = w[13] * (x[13] - x[45]); t_47 = w[14] * (x[14] - x[46]); t_48 = w[15] * (x[15] - x[47]); t_49 = w[16] * (x[16] - x[48]); t_50 = w[17] * (x[17] - x[49]); t_51 = w[18] * (x[18] - x[50]); t_52 = w[19] * (x[19] - x[51]); t_53 = w[20] * (x[20] - x[52]); t_54 = w[21] * (x[21] - x[53]); t_55 = w[22] * (x[22] - x[54]); t_56 = w[23] * (x[23] - x[55]); t_57 = w[24] * (x[24] - x[56]); t_58 = w[25] * (x[25] - x[57]); t_59 = w[26] * (x[26] - x[58]); t_60 = w[27] * (x[27] - x[59]); t_61 = w[28] * (x[28] - x[60]); t_62 = w[29] * (x[29] - x[61]); t_63 = w[30] * (x[30] - x[62]); t_64 = w[31] * (x[31] - x[63]); t_65 = t_1 + t_17; t_66 = t_2 + t_18; t_67 = t_3 + t_19; t_68 = t_4 + t_20; t_69 = t_5 + t_21; t_70 = t_6 + t_22; t_71 = t_7 + t_23; t_72 = t_8 + t_24; t_73 = t_9 + t_25; t_74 = t_10 + t_26; t_75 = t_11 + t_27; t_76 = t_12 + t_28; t_77 = t_13 + t_29; t_78 = t_14 + t_30; t_79 = t_15 + t_31; t_80 = t_16 + t_32; t_81 = t_1 - t_17; t_82 = w[2] * (t_2 - t_18); t_83 = w[4] * (t_3 - t_19); t_84 = w[6] * (t_4 - t_20); t_85 = w[8] * (t_5 - t_21); t_86 = w[10] * (t_6 - t_22); t_87 = w[12] * (t_7 - t_23); t_88 = w[14] * (t_8 - t_24); t_89 = w[16] * (t_9 - t_25); t_90 = w[18] * (t_10 - t_26); t_91 = w[20] * (t_11 - t_27); t_92 = w[22] * (t_12 - t_28); t_93 = w[24] * (t_13 - t_29); t_94 = w[26] * (t_14 - t_30); t_95 = w[28] * (t_15 - t_31); t_96 = w[30] * (t_16 - t_32); t_97 = t_65 + t_73; t_98 = t_66 + t_74; t_99 = t_67 + t_75; t_100 = t_68 + t_76; t_101 = t_69 + t_77; t_102 = t_70 + t_78; t_103 = t_71 + t_79; t_104 = t_72 + t_80; t_105 = t_65 - t_73; t_106 = w[4] * (t_66 - t_74); t_107 = w[8] * (t_67 - t_75); t_108 = w[12] * (t_68 - t_76); t_109 = w[16] * (t_69 - t_77); t_110 = w[20] * (t_70 - t_78); t_111 = w[24] * (t_71 - t_79); t_112 = w[28] * (t_72 - t_80); 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[8] * (t_98 - t_102); t_119 = w[16] * (t_99 - t_103); t_120 = w[24] * (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[16] * (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[16] * (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[8] * (t_106 - t_110); t_143 = w[16] * (t_107 - t_111); t_144 = w[24] * (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[16] * (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[16] * (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; t_161 = t_81 + t_89; t_162 = t_82 + t_90; t_163 = t_83 + t_91; t_164 = t_84 + t_92; t_165 = t_85 + t_93; t_166 = t_86 + t_94; t_167 = t_87 + t_95; t_168 = t_88 + t_96; t_169 = t_81 - t_89; t_170 = w[4] * (t_82 - t_90); t_171 = w[8] * (t_83 - t_91); t_172 = w[12] * (t_84 - t_92); t_173 = w[16] * (t_85 - t_93); t_174 = w[20] * (t_86 - t_94); t_175 = w[24] * (t_87 - t_95); t_176 = w[28] * (t_88 - t_96); t_177 = t_161 + t_165; t_178 = t_162 + t_166; t_179 = t_163 + t_167; t_180 = t_164 + t_168; t_181 = t_161 - t_165; t_182 = w[8] * (t_162 - t_166); t_183 = w[16] * (t_163 - t_167); t_184 = w[24] * (t_164 - t_168); t_185 = t_177 + t_179; t_186 = t_178 + t_180; t_187 = t_177 - t_179; t_188 = w[16] * (t_178 - t_180); t_189 = t_185 + t_186; t_190 = t_185 - t_186; t_191 = t_187 + t_188; t_192 = t_187 - t_188; t_193 = t_181 + t_183; t_194 = t_182 + t_184; t_195 = t_181 - t_183; t_196 = w[16] * (t_182 - t_184); t_197 = t_193 + t_194; t_198 = t_193 - t_194; t_199 = t_195 + t_196; t_200 = t_195 - t_196; t_201 = t_169 + t_173; t_202 = t_170 + t_174; t_203 = t_171 + t_175; t_204 = t_172 + t_176; t_205 = t_169 - t_173; t_206 = w[8] * (t_170 - t_174); t_207 = w[16] * (t_171 - t_175); t_208 = w[24] * (t_172 - t_176); t_209 = t_201 + t_203; t_210 = t_202 + t_204; t_211 = t_201 - t_203; t_212 = w[16] * (t_202 - t_204); t_213 = t_209 + t_210; t_214 = t_209 - t_210; t_215 = t_211 + t_212; t_216 = t_211 - t_212; t_217 = t_205 + t_207; t_218 = t_206 + t_208; t_219 = t_205 - t_207; t_220 = w[16] * (t_206 - t_208); t_221 = t_217 + t_218; t_222 = t_217 - t_218; t_223 = t_219 + t_220; t_224 = t_219 - t_220; t_225 = t_33 + t_49; t_226 = t_34 + t_50; t_227 = t_35 + t_51; t_228 = t_36 + t_52; t_229 = t_37 + t_53; t_230 = t_38 + t_54; t_231 = t_39 + t_55; t_232 = t_40 + t_56; t_233 = t_41 + t_57; t_234 = t_42 + t_58; t_235 = t_43 + t_59; t_236 = t_44 + t_60; t_237 = t_45 + t_61; t_238 = t_46 + t_62; t_239 = t_47 + t_63; t_240 = t_48 + t_64; t_241 = t_33 - t_49; t_242 = w[2] * (t_34 - t_50); t_243 = w[4] * (t_35 - t_51); t_244 = w[6] * (t_36 - t_52); t_245 = w[8] * (t_37 - t_53); t_246 = w[10] * (t_38 - t_54); t_247 = w[12] * (t_39 - t_55); t_248 = w[14] * (t_40 - t_56); t_249 = w[16] * (t_41 - t_57); t_250 = w[18] * (t_42 - t_58); t_251 = w[20] * (t_43 - t_59); t_252 = w[22] * (t_44 - t_60); t_253 = w[24] * (t_45 - t_61); t_254 = w[26] * (t_46 - t_62); t_255 = w[28] * (t_47 - t_63); t_256 = w[30] * (t_48 - t_64); t_257 = t_225 + t_233; t_258 = t_226 + t_234; t_259 = t_227 + t_235; t_260 = t_228 + t_236; t_261 = t_229 + t_237; t_262 = t_230 + t_238; t_263 = t_231 + t_239; t_264 = t_232 + t_240; t_265 = t_225 - t_233; t_266 = w[4] * (t_226 - t_234); t_267 = w[8] * (t_227 - t_235); t_268 = w[12] * (t_228 - t_236); t_269 = w[16] * (t_229 - t_237); t_270 = w[20] * (t_230 - t_238); t_271 = w[24] * (t_231 - t_239); t_272 = w[28] * (t_232 - t_240); t_273 = t_257 + t_261; t_274 = t_258 + t_262; t_275 = t_259 + t_263; t_276 = t_260 + t_264; t_277 = t_257 - t_261; t_278 = w[8] * (t_258 - t_262); t_279 = w[16] * (t_259 - t_263); t_280 = w[24] * (t_260 - t_264); t_281 = t_273 + t_275; t_282 = t_274 + t_276; t_283 = t_273 - t_275; t_284 = w[16] * (t_274 - t_276); t_285 = t_281 + t_282; t_286 = t_281 - t_282; t_287 = t_283 + t_284; t_288 = t_283 - t_284; t_289 = t_277 + t_279; t_290 = t_278 + t_280; t_291 = t_277 - t_279; t_292 = w[16] * (t_278 - t_280); t_293 = t_289 + t_290; t_294 = t_289 - t_290; t_295 = t_291 + t_292; t_296 = t_291 - t_292; t_297 = t_265 + t_269; t_298 = t_266 + t_270; t_299 = t_267 + t_271; t_300 = t_268 + t_272; t_301 = t_265 - t_269; t_302 = w[8] * (t_266 - t_270); t_303 = w[16] * (t_267 - t_271); t_304 = w[24] * (t_268 - t_272); t_305 = t_297 + t_299; t_306 = t_298 + t_300; t_307 = t_297 - t_299; t_308 = w[16] * (t_298 - t_300); t_309 = t_305 + t_306; t_310 = t_305 - t_306; t_311 = t_307 + t_308; t_312 = t_307 - t_308; t_313 = t_301 + t_303; t_314 = t_302 + t_304; t_315 = t_301 - t_303; t_316 = w[16] * (t_302 - t_304); t_317 = t_313 + t_314; t_318 = t_313 - t_314; t_319 = t_315 + t_316; t_320 = t_315 - t_316; t_321 = t_241 + t_249; t_322 = t_242 + t_250; t_323 = t_243 + t_251; t_324 = t_244 + t_252; t_325 = t_245 + t_253; t_326 = t_246 + t_254; t_327 = t_247 + t_255; t_328 = t_248 + t_256; t_329 = t_241 - t_249; t_330 = w[4] * (t_242 - t_250); t_331 = w[8] * (t_243 - t_251); t_332 = w[12] * (t_244 - t_252); t_333 = w[16] * (t_245 - t_253); t_334 = w[20] * (t_246 - t_254); t_335 = w[24] * (t_247 - t_255); t_336 = w[28] * (t_248 - t_256); t_337 = t_321 + t_325; t_338 = t_322 + t_326; t_339 = t_323 + t_327; t_340 = t_324 + t_328; t_341 = t_321 - t_325; t_342 = w[8] * (t_322 - t_326); t_343 = w[16] * (t_323 - t_327); t_344 = w[24] * (t_324 - t_328); t_345 = t_337 + t_339; t_346 = t_338 + t_340; t_347 = t_337 - t_339; t_348 = w[16] * (t_338 - t_340); t_349 = t_345 + t_346; t_350 = t_345 - t_346; t_351 = t_347 + t_348; t_352 = t_347 - t_348; t_353 = t_341 + t_343; t_354 = t_342 + t_344; t_355 = t_341 - t_343; t_356 = w[16] * (t_342 - t_344); t_357 = t_353 + t_354; t_358 = t_353 - t_354; t_359 = t_355 + t_356; t_360 = t_355 - t_356; t_361 = t_329 + t_333; t_362 = t_330 + t_334; t_363 = t_331 + t_335; t_364 = t_332 + t_336; t_365 = t_329 - t_333; t_366 = w[8] * (t_330 - t_334); t_367 = w[16] * (t_331 - t_335); t_368 = w[24] * (t_332 - t_336); t_369 = t_361 + t_363; t_370 = t_362 + t_364; t_371 = t_361 - t_363; t_372 = w[16] * (t_362 - t_364); t_373 = t_369 + t_370; t_374 = t_369 - t_370; t_375 = t_371 + t_372; t_376 = t_371 - t_372; t_377 = t_365 + t_367; t_378 = t_366 + t_368; t_379 = t_365 - t_367; t_380 = w[16] * (t_366 - t_368); t_381 = t_377 + t_378; t_382 = t_377 - t_378; t_383 = t_379 + t_380; t_384 = t_379 - t_380; y[0] = t_125; y[1] = t_285; y[2] = t_189; y[3] = t_349; y[4] = t_149; y[5] = t_309; y[6] = t_213; y[7] = t_373; y[8] = t_133; y[9] = t_293; y[10] = t_197; y[11] = t_357; y[12] = t_157; y[13] = t_317; y[14] = t_221; y[15] = t_381; y[16] = t_127; y[17] = t_287; y[18] = t_191; y[19] = t_351; y[20] = t_151; y[21] = t_311; y[22] = t_215; y[23] = t_375; y[24] = t_135; y[25] = t_295; y[26] = t_199; y[27] = t_359; y[28] = t_159; y[29] = t_319; y[30] = t_223; y[31] = t_383; y[32] = t_126; y[33] = t_286; y[34] = t_190; y[35] = t_350; y[36] = t_150; y[37] = t_310; y[38] = t_214; y[39] = t_374; y[40] = t_134; y[41] = t_294; y[42] = t_198; y[43] = t_358; y[44] = t_158; y[45] = t_318; y[46] = t_222; y[47] = t_382; y[48] = t_128; y[49] = t_288; y[50] = t_192; y[51] = t_352; y[52] = t_152; y[53] = t_312; y[54] = t_216; y[55] = t_376; y[56] = t_136; y[57] = t_296; y[58] = t_200; y[59] = t_360; y[60] = t_160; y[61] = t_320; y[62] = t_224; y[63] = t_384; }