]> git.sesse.net Git - hamming/blobdiff - hamming32.c
Remove an unused variable.
[hamming] / hamming32.c
index 2d8b882c7fdefeb8b6adb13ced7ce9918a02b150..9b8576b2a04631be46e8ca29600209f3ccbedd89 100644 (file)
@@ -52,7 +52,6 @@ int has_error(unsigned code)
 
 int has_double_error(unsigned code)
 {
-       unsigned i;
        unsigned data = code >> PARITY_BITS;
        unsigned parity = code & ((1 << PARITY_BITS) - 1);
        unsigned gen_parity = generate_parity(data);
@@ -101,10 +100,17 @@ unsigned correct_single_bit_error(unsigned code)
 void check_zero_bit_detection()
 {
        unsigned i;
-       printf("Checking zero bit detection.\n");
+       printf("Checking zero bit detection.");
+       fflush(stdout);
 
        for (i = 0; i < NUM_DATA_WORDS; ++i) {
                unsigned code = make_codeword(i);
+
+               if ((i & 0xfffff) == 0) {
+                       printf(".");
+                       fflush(stdout);
+               }
+               
                if (has_error(code)) {
                        printf("ERROR: Failed zero-bit test 1 for %x\n", i);
                }
@@ -112,15 +118,24 @@ void check_zero_bit_detection()
                        printf("ERROR: Failed zero-bit test 2 for %x\n", i);
                }
        }
+
+       printf("\n");
 }
 
 void check_single_bit_detection()
 {
        unsigned i, j;
-       printf("Checking single bit detection and correction.\n");
+       printf("Checking single bit detection and correction.");
+       fflush(stdout);
 
        for (i = 0; i < NUM_DATA_WORDS; ++i) {
                unsigned code = make_codeword(i);
+
+               if ((i & 0xfffff) == 0) {
+                       printf(".");
+                       fflush(stdout);
+               }
+               
                for (j = 0; j < CODE_BITS; ++j) {
                        unsigned corrupted_code = code ^ (1 << j);
                        
@@ -135,15 +150,24 @@ void check_single_bit_detection()
                        }
                }
        }
+
+       printf("\n");
 }
 
 void check_double_bit_detection()
 {
        unsigned i, j, k;
-       printf("Checking double bit detection.\n");
+       printf("Checking double bit detection.");
+       fflush(stdout);
 
        for (i = 0; i < NUM_DATA_WORDS; ++i) {
                unsigned code = make_codeword(i);
+               
+               if ((i & 0xfffff) == 0) {
+                       printf(".");
+                       fflush(stdout);
+               }
+               
                for (j = 0; j < CODE_BITS; ++j) {
                        for (k = 0; k < CODE_BITS; ++k) {
                                unsigned corrupted_code = code ^ (1 << j) ^ (1 << k);
@@ -159,6 +183,8 @@ void check_double_bit_detection()
                        }
                }
        }
+
+       printf("\n");
 }
 
 int main()