// 2D - bit packed array: Instantiation and test driver
#include "bitarray.hpp"
const int xsize = 5;
const int ysize = 5;
const int num_bits = 4;
main() {
int i, j, tmp;
Bit_2D_Array< xsize, ysize, hum bits > A;
Bit_2D_Array< xsize, ysize, num_bits > B;
A = 0;
B = 0;
A(0,0) = 0;
A(1,0) = 1;
A(1,2) = 2;
A(3,0) = 3;
B(0,0) = 0;
B(1,0) = 1;
B(1,2) = 2;
B(3,0) = 11; // too large for 2 bits == 3, 4 bits is 0K
if ( A == B) {
cout <<" A == B" << endl;
}
else {
cout <<" A != B" << endl;
};
B = 0;
for( i=0; i < xsize; i++) {
B( i, i ) = 1;
}
for( i=0; i < xsize; i++) {
B( i, ( ysize - 1) - i ) = 2;
}
for( i=0; i < xsize; i++) {
B( i, ysize - 1 ) = 3;
}
for( i=0; i < xsize; i++) {
B( xsize - 1, i ) = 4;
}
B.dump();
// Transpose matrix to show that board() = board() is 0K
for( i=0; i<xsize; i++) {
for( j=0; j<i; j++) {
tmp= B(i,j);
B(i,j) = B(j,i);
B(j,i) = tmp;
}
};
B.dump();
}
// End of File