// ************************************************************************** // // // // 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 // // // // ************************************************************************** // nat x0,x1,x2,x3,x4,x5,x6,x7; thread ParallelPrefixTree_8 { nat y0,y1,y2,y3,y4,y5,y6,y7; y0 = x0; y1 = x1; y2 = x2; y3 = x3; y4 = x4; y5 = x5; y6 = x6; y7 = x7; // up-level 0 y1 = y0 + y1; y3 = y2 + y3; y5 = y4 + y5; y7 = y6 + y7; // up-level 1 y3 = y1 + y3; y7 = y5 + y7; // up-level 2 y7 = y3 + y7; // up-level 3 // down-level 4 // down-level 5 y5 = y3 + y5; // down-level 6 y2 = y1 + y2; y4 = y3 + y4; y6 = y5 + y6; x0 = y0; x1 = y1; x2 = y2; x3 = y3; x4 = y4; x5 = y5; x6 = y6; x7 = y7; }