#ifndef BFSTRING_H_INCLUDED

#include "c.h"
#include "bv32.h"
#include "uint32gmp.h"
#include "baint32.h"
#include "seq.h"
#include "fset.h"
#include "seq.h"
#include "fset.h"
#include <string.h>
#include <stdint.h>

extern uint32_t k;

uint32_t hash(uint32_t h, char * x);

uint32_t bit(uint32_t i, char * x, uint32_t m);

struct filter {
  uint32_t m;
  uint32_t * barr;
};

struct filter bloom_filter(uint32_t m);

void add(char * x, struct filter * s);

int mem(char * x, struct filter * s);

#define BFSTRING_H_INCLUDED
#endif // BFSTRING_H_INCLUDED