int main(void) { dr_set *set; set = dr_set_create(33); printf("IN SET: %s\n", dr_set_in(set, 4) ? "YES" : "NO"); dr_set_add(set, 4); printf("IN SET: %s\n", dr_set_in(set, 4) ? "YES" : "NO"); dr_set_remove(set, 4); printf("IN SET: %s\n", dr_set_in(set, 4) ? "YES" : "NO"); dr_set_dump(set); dr_set_free(set); return 0; }
inline int dr_set_find_first(dr_set *set, unsigned int *position) { unsigned int i, j; for (i = 0; i < ((set->size + 7) / 8); i++) { if (set->setinfo[i] != 0x0) { for (j = 0; j < 8; j++) { if (dr_set_in(set, i * 8 + j)) { *position = i * 8 + j; return 1; } } } } return 0; }