test.c (726B)
1#include "bitvec.h" 2 3#include <err.h> 4#include <stdlib.h> 5#include <stdio.h> 6#include <string.h> 7 8#define LIBBITVEC_ERR(rc) errx(1, "libbitvec: %s", rc < 0 ? strerror(-rc) : "???") 9 10int 11main(int argc, const char **argv) 12{ 13 struct bitvec bitvec; 14 int i, rc; 15 int val; 16 17 rc = bitvec_init(&bitvec, 10); 18 if (rc) LIBBITVEC_ERR(rc); 19 20 for (i = 1; i < argc; i++) { 21 val = atoi(argv[i]); 22 if (bitvec_get(&bitvec, val)) 23 printf("%i -> dup!\n", val); 24 rc = bitvec_reserve(&bitvec, val); 25 if (rc) LIBBITVEC_ERR(rc); 26 bitvec_set(&bitvec, val); 27 } 28 29 for (i = 0; i < 10; i++) 30 printf("%i", bitvec_get(&bitvec, i)); 31 printf("\n"); 32 33 printf("bitvec len: %lu\n", bitvec.cap / (8 * sizeof(bitvec_slot_t))); 34 35 bitvec_deinit(&bitvec); 36}