Page principale | Liste des namespaces | Hiérarchie des classes | Liste des classes | Répertoires | Liste des fichiers | Membres de namespace | Membres de classe | Membres de fichier

matmult.c

Aller à la documentation de ce fichier.
00001 /* matmult.c 
00002  *    Test program to do matrix multiplication on large arrays.
00003  *
00004  *    Intended to stress virtual memory system.
00005  *
00006  *    Ideally, we could read the matrices off of the file system,
00007  *      and store the result back to the file system!
00008  */
00009 
00010 #include "syscall.h"
00011 
00012 #define Dim     20      /* sum total of the arrays doesn't fit in 
00013                          * physical memory 
00014                          */
00015 
00016 int A[Dim][Dim];
00017 int B[Dim][Dim];
00018 int C[Dim][Dim];
00019 
00020 int
00021 main()
00022 {
00023     int i, j, k;
00024 
00025     for (i = 0; i < Dim; i++)           /* first initialize the matrices */
00026         for (j = 0; j < Dim; j++) {
00027              A[i][j] = i;
00028              B[i][j] = j;
00029              C[i][j] = 0;
00030         }
00031 
00032     for (i = 0; i < Dim; i++)           /* then multiply them together */
00033         for (j = 0; j < Dim; j++)
00034             for (k = 0; k < Dim; k++)
00035                  C[i][j] += A[i][k] * B[k][j];
00036 
00037     Exit(C[Dim-1][Dim-1]);              /* and then we're done */
00038 }

Généré le Sun Jan 15 00:45:45 2006 pour Système NachOS : par  doxygen 1.4.4