home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_10_07 / 1007025a < prev    next >
Text File  |  1992-05-07  |  1KB  |  65 lines

  1.  
  2. // 2D - bit packed array: Instantiation and test driver
  3.  
  4.  
  5. #include "bitarray.hpp"
  6.  
  7. const int xsize = 5;
  8. const int ysize = 5;
  9. const int num_bits = 4;
  10.  
  11. main() {
  12.     int i, j, tmp;
  13.     
  14.     Bit_2D_Array< xsize, ysize, num_bits > A;
  15.     Bit_2D_Array< xsize, ysize, num_bits > B;
  16.  
  17.     A = 0;
  18.     B = 0;
  19.  
  20.     A(0,0) =  0;
  21.     A(1,0) =  1;
  22.     A(1,2) =  2;
  23.     A(3,0) =  3;
  24.  
  25.     B(0,0) =  0;
  26.     B(1,0) =  1;
  27.     B(1,2) =  2;
  28.     B(3,0) = 11; // too large for 2 bits == 3, 4 bits is OK
  29.  
  30.     if ( A == B) {
  31.         cout << " A == B" << endl;
  32.     }
  33.     else {
  34.         cout << " A != B" << endl;
  35.     };
  36.  
  37.     B = 0;
  38.  
  39.     for( i=0; i < xsize; i++) {
  40.         B( i, i ) = 1;
  41.     }
  42.     for( i=0; i < xsize; i++) {
  43.         B( i, ( ysize - 1) - i ) = 2;
  44.     }
  45.     for( i=0; i < xsize; i++) {
  46.         B( i, ysize - 1 ) = 3;
  47.     }
  48.     for( i=0; i < xsize; i++) {
  49.         B( xsize - 1, i ) = 4;
  50.     }
  51.  
  52.     B.dump();
  53.  
  54.     // Transpose matrix to show that board() = board() is OK
  55.     for( i=0; i<xsize; i++) {
  56.         for( j=0; j<i; j++) {
  57.             tmp = B(i,j);
  58.             B(i,j) = B(j,i);
  59.             B(j,i) = tmp;
  60.         }
  61.     };
  62.     B.dump();
  63. }
  64.  
  65.