Userland changes for test161/assignment 3.

This commit is contained in:
Scott Haseley
2016-04-06 13:53:21 -04:00
parent 194f76ef70
commit fedf80f599
9 changed files with 180 additions and 83 deletions

View File

@@ -41,6 +41,7 @@
#include <unistd.h>
#include <stdio.h>
#include <test161/test161.h>
#define Dim 72 /* sum total of the arrays doesn't fit in
* physical memory
@@ -58,22 +59,35 @@ main(void)
{
int i, j, k, r;
for (i = 0; i < Dim; i++) /* first initialize the matrices */
for (j = 0; j < Dim; j++) {
A[i][j] = i;
B[i][j] = j;
C[i][j] = 0;
for (i = 0; i < Dim; i++) { /* first initialize the matrices */
for (j = 0; j < Dim; j++) {
TEST161_TPROGRESS_N(i*Dim + j, 1000);
A[i][j] = i;
B[i][j] = j;
C[i][j] = 0;
}
}
nprintf("\n");
for (i = 0; i < Dim; i++) /* then multiply them together */
for (j = 0; j < Dim; j++)
for (k = 0; k < Dim; k++)
T[i][j][k] = A[i][k] * B[k][j];
for (i = 0; i < Dim; i++) { /* then multiply them together */
for (j = 0; j < Dim; j++) {
for (k = 0; k < Dim; k++) {
TEST161_TPROGRESS_N(i*j*Dim*Dim + k, 50000);
T[i][j][k] = A[i][k] * B[k][j];
}
}
}
nprintf("\n");
for (i = 0; i < Dim; i++)
for (j = 0; j < Dim; j++)
for (k = 0; k < Dim; k++)
C[i][j] += T[i][j][k];
for (i = 0; i < Dim; i++) {
for (j = 0; j < Dim; j++) {
for (k = 0; k < Dim; k++) {
TEST161_TPROGRESS_N(i*j*Dim*Dim + k, 50000);
C[i][j] += T[i][j][k];
}
}
}
nprintf("\n");
r = 0;
for (i = 0; i < Dim; i++)
@@ -83,8 +97,11 @@ main(void)
tprintf("answer is: %d (should be %d)\n", r, RIGHT);
if (r != RIGHT) {
tprintf("FAILED\n");
success(TEST161_FAIL, SECRET, "/testbin/matmult");
return 1;
}
tprintf("Passed.\n");
success(TEST161_SUCCESS, SECRET, "/testbin/matmult");
return 0;
}