// ************************************************************************** // // // // 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 // // // // ************************************************************************** // [2][2]nat a; [2][2]nat b; [2][2]nat c; thread MatrixMultCannon { b[0][0] = b[1][0]; a[0][0] = a[0][1]; c[0][0] = c[0][0] + a[0][0] * b[0][0]; b[0][0] = b[1][0]; a[0][0] = a[0][1]; c[0][0] = c[0][0] + a[0][0] * b[0][0]; b[0][1] = b[1][1]; a[0][1] = a[0][0]; c[0][1] = c[0][1] + a[0][1] * b[0][1]; b[0][1] = b[1][1]; a[0][1] = a[0][0]; c[0][1] = c[0][1] + a[0][1] * b[0][1]; b[1][0] = b[0][0]; a[1][0] = a[1][1]; c[1][0] = c[1][0] + a[1][0] * b[1][0]; b[1][0] = b[0][0]; a[1][0] = a[1][1]; c[1][0] = c[1][0] + a[1][0] * b[1][0]; b[1][1] = b[0][1]; a[1][1] = a[1][0]; c[1][1] = c[1][1] + a[1][1] * b[1][1]; b[1][1] = b[0][1]; a[1][1] = a[1][0]; c[1][1] = c[1][1] + a[1][1] * b[1][1]; c[0][0] = c[0][0]; c[0][1] = c[0][1]; c[1][0] = c[1][0]; c[1][1] = c[1][1]; }