int main(int argc, const char * argv[]) { printf("\nTesting get_bit()\n\n"); test_get_bit(0b1001110,0,0); test_get_bit(0b1001110,1,1); test_get_bit(0b1001110,5,0); test_get_bit(0b11011,3,1); test_get_bit(0b11011,2,0); test_get_bit(0b11011,9,0); printf("\nTesting set_bit()\n\n"); test_set_bit(0b1001110,2,0,0b1001010); test_set_bit(0b1101101,0,0,0b1101100); test_set_bit(0b1001110,2,1,0b1001110); test_set_bit(0b1101101,0,1,0b1101101); test_set_bit(0b1001110,9,0,0b1001110); test_set_bit(0b1101101,4,0,0b1101101); test_set_bit(0b1001110,9,1,0b1001001110); test_set_bit(0b1101101,7,1,0b11101101); printf("\nTesting flip_bit()\n\n"); test_flip_bit(0b1001110,0,0b1001111); test_flip_bit(0b1001110,1,0b1001100); test_flip_bit(0b1001110,2,0b1001010); test_flip_bit(0b1001110,5,0b1101110); test_flip_bit(0b1001110,9,0b1001001110); printf("\n"); return 0; }
my_bool do_test(uint bitsize) { MY_BITMAP map; uint32 buf[MAX_TESTED_BITMAP_SIZE]; if (bitmap_init(&map, buf, bitsize, FALSE)) { diag("init error for bitsize %d", bitsize); goto error; } if (test_set_get_clear_bit(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_flip_bit(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_get_all_bits(&map, bitsize)) goto error; bitmap_clear_all(&map); if (test_compare_operators(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_count_bits_set(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_get_first_bit(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_get_next_bit(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_prefix(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_compare(&map,bitsize)) goto error; bitmap_clear_all(&map); if (test_intersect(&map,bitsize)) goto error; return FALSE; error: return TRUE; }