// ************************************************************************** // // // // 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 // // // // ************************************************************************** // [4]nat x; thread ParallelPrefixTree_4 { [4]nat y; y[0] = x[0]; y[1] = x[1]; y[2] = x[2]; y[3] = x[3]; // up-level 0 y[1] = y[0] + y[1]; y[3] = y[2] + y[3]; // up-level 1 y[3] = y[1] + y[3]; // up-level 2 // down-level 3 // down-level 4 y[2] = y[1] + y[2]; x[0] = y[0]; x[1] = y[1]; x[2] = y[2]; x[3] = y[3]; }