Updated hw6 to a newer version
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
9224001a22
commit
0c04936ccf
356 changed files with 8408 additions and 4725 deletions
69
hw6/hw4programs/matrixmult.oat
Normal file
69
hw6/hw4programs/matrixmult.oat
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
/* http://www.edcc.edu/faculty/paul.bladek/Cmpsc142/matmult.htm */
|
||||
int program(int argc, string[] argv)
|
||||
{
|
||||
var a = new int[][]{new int[]{1, 3, 4},
|
||||
new int[]{2, 0, 1}};
|
||||
var b = new int[][]{new int[]{1, 2, 3, 1},
|
||||
new int[]{2, 2, 2, 2},
|
||||
new int[]{3, 2, 1, 4}};
|
||||
var c = new int[][]{new int[]{0, 0, 0, 0},
|
||||
new int[]{0, 0, 0, 0}};
|
||||
|
||||
matrix_Mult(a, b, c);
|
||||
prnNx4(c, 2);
|
||||
|
||||
matrix_MultAlt(a, b, c); /* alternate form that calls dot3 */
|
||||
prnNx4(c, 2);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* http://www.edcc.edu/faculty/paul.bladek/Cmpsc142/matmult.htm */
|
||||
void matrix_Mult(int[][] a1, int [][] a2, int [][] a3)
|
||||
{
|
||||
for(var i = 0; i < 2; i=i+1;) {
|
||||
for(var j = 0; j < 4; j=j+1;) {
|
||||
for(var k = 0; k < 3; k=k+1;) {
|
||||
a3[i][j] = a3[i][j] + a1[i][k] * a2[k][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* http://www.edcc.edu/faculty/paul.bladek/Cmpsc142/matmult.htm */
|
||||
void matrix_MultAlt(int[][] a1, int[][] a2, int[][] a3)
|
||||
{
|
||||
for(var i = 0; i < 2; i=i+1;) {
|
||||
for(var j = 0; j < 4; j=j+1;) {
|
||||
a3[i][j] = dot3(a1, a2, i, j);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* http://www.edcc.edu/faculty/paul.bladek/Cmpsc142/matmult.htm */
|
||||
int dot3(int[][] a1, int[][] a2, int row, int col)
|
||||
{
|
||||
var sum = 0;
|
||||
for(var k = 0; k < 3; k=k+1;) {
|
||||
sum = sum + a1[row][k] * a2[k][col];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
/* http://www.edcc.edu/faculty/paul.bladek/Cmpsc142/matmult.htm */
|
||||
void prnNx4 (int[][] ar, int n)
|
||||
{
|
||||
for(var i = 0; i < n; i=i+1;)
|
||||
{
|
||||
for(var j = 0; j < 4; j=j+1;)
|
||||
{
|
||||
print_int(ar[i][j]);
|
||||
print_string (" ");
|
||||
}
|
||||
print_string("\t");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue