libbitvec-c

C bit vector library
git clone https://git.sinitax.com/sinitax/libbitvec-c
Log | Files | Refs | LICENSE | sfeed.txt

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}