00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <stdio.h>
00013 #include <stdlib.h>
00014
00015
00016
00017
00018
00019
00020 #define PageSize 4096
00021 #define NumPages 128
00022
00023
00024 #define ArraySize (2*NumPages*PageSize)
00025 char sparse[ArraySize];
00026
00027 int
00028 main()
00029 {
00030 int i,j;
00031
00032 printf("Starting the sparse program\n");
00033
00034
00035
00036 for (i=0; i<ArraySize; i+=(10*PageSize)) {
00037 sparse[i]= 'a';
00038 }
00039
00040 printf("stage [1] done\n");
00041
00042
00043 for(j=0; j<5; j++) {
00044 for (i=0; i<ArraySize; i+=(10*PageSize)) {
00045 sparse[i] += 1;
00046 }
00047 }
00048
00049 printf("stage [2] done\n");
00050
00051
00052
00053 for (i=0; i<ArraySize; i+=(10*PageSize)) {
00054 if (sparse[i] != ('a'+5)) {
00055 printf("Test failed! Unexpected value at array position %d\n", i);
00056 return(1);
00057 }
00058 }
00059
00060 printf("SUCCESS\n");
00061
00062 return 0;
00063 }
00064