int bm_count (u8* map, int len) { int ret = 0; int i; for (i=0; i<len; i++) if (bm_get(map,i)) ret++; return ret; }
int main() { int i, j; bitmatrix bm = bm_new(MAX, MAX); // writing for (i = 0; i < MAX; i++) { for (j = 0; j < MAX; j++) { bm_set(bm, i, j, i == j); } } // reading for (i = 0; i < MAX; i++) { for (j = 0; j < MAX; j++) { assert(bm_get(bm, i, j) == (i == j)); } } bm_free(bm); }
void bm_tostr (u8* map, int len, char* str) { int i; for (i=0; i<len; i++) str[i] = '0' + bm_get(map,i); str[len] = '\0'; }