persistable sclass IntArrayBitMatrix extends AbstractMatrix is BitMatrix { int[] data; *(int *w, int *h) { data = new int[arrayLength()]; } *(int *w, int *h, int[] *data) {} int arrayLength() { ret (w*h+31)/32; } static int arrayLength(int w, int h) { ret (w*h+31)/32; } public Bool get(int x, int y) { try { ret getBitFromIntArray_littleEndian(data, y*w+x); } catch e { fail(e, "Access out of bounds", +x, +y, +w, +h); } } public void set(int x, int y, Bool a default true) { setBitInIntArray_littleEndian(data, y*w+x, a); } }