IDZEBRA 2.2.11
bset.c File Reference
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <idzebra/util.h>
#include <bset.h>
#include "imalloc.h"

Go to the source code of this file.

Macros

#define GET_BIT(s, m)
#define SET_BIT(s, m)

Functions

BSetHandle * mk_BSetHandle (int size, int chunk)
void rm_BSetHandle (BSetHandle **shp)
int inf_BSetHandle (BSetHandle *sh, long *used, long *allocated)
BSet mk_BSet (BSetHandle **shp)
void add_BSet (BSetHandle *sh, BSet dst, unsigned member)
unsigned test_BSet (BSetHandle *sh, BSet src, unsigned member)
BSet cp_BSet (BSetHandle *sh, BSet dst, BSet src)
void res_BSet (BSetHandle *sh, BSet dst)
void union_BSet (BSetHandle *sh, BSet dst, BSet src)
unsigned hash_BSet (BSetHandle *sh, BSet src)
void com_BSet (BSetHandle *sh, BSet dst)
int eq_BSet (BSetHandle *sh, BSet dst, BSet src)
int trav_BSet (BSetHandle *sh, BSet src, unsigned member)
int travi_BSet (BSetHandle *sh, BSet src, unsigned member)
void pr_BSet (BSetHandle *sh, BSet src)
void pr_charBSet (BSetHandle *sh, BSet src, void(*f)(int))

Macro Definition Documentation

◆ GET_BIT

#define GET_BIT ( s,
m )
Value:
(s[(m)/(sizeof(BSetWord)*8)]&(1<<(m&(sizeof(BSetWord)*8-1))))
unsigned short BSetWord
Definition bset.h:27

Definition at line 34 of file bset.c.

Referenced by test_BSet().

◆ SET_BIT

#define SET_BIT ( s,
m )
Value:
(s[(m)/(sizeof(BSetWord)*8)]|=(1<<(m&(sizeof(BSetWord)*8-1))))

Definition at line 35 of file bset.c.

Referenced by add_BSet().

Function Documentation

◆ add_BSet()

void add_BSet ( BSetHandle * sh,
BSet dst,
unsigned member )

Definition at line 110 of file bset.c.

References SET_BIT.

Referenced by dfa_anyset_includes_nl(), dfa_parse_init(), and read_charset().

◆ com_BSet()

void com_BSet ( BSetHandle * sh,
BSet dst )

Definition at line 162 of file bset.c.

References BSetHandle_::wsize.

Referenced by dfa_parse_init(), and read_charset().

◆ cp_BSet()

BSet cp_BSet ( BSetHandle * sh,
BSet dst,
BSet src )

Definition at line 126 of file bset.c.

References BSetHandle_::wsize.

◆ eq_BSet()

int eq_BSet ( BSetHandle * sh,
BSet dst,
BSet src )

Definition at line 171 of file bset.c.

References BSetHandle_::wsize.

◆ hash_BSet()

unsigned hash_BSet ( BSetHandle * sh,
BSet src )

Definition at line 151 of file bset.c.

References BSetHandle_::wsize.

◆ inf_BSetHandle()

int inf_BSetHandle ( BSetHandle * sh,
long * used,
long * allocated )

Definition at line 70 of file bset.c.

References BSetHandle_::chunk, BSetHandle_::offset, BSetHandle_::setchain, and BSetHandle_::wsize.

Referenced by pr_verbose().

◆ mk_BSet()

◆ mk_BSetHandle()

BSetHandle * mk_BSetHandle ( int size,
int chunk )

◆ pr_BSet()

void pr_BSet ( BSetHandle * sh,
BSet src )

Definition at line 238 of file bset.c.

References trav_BSet().

◆ pr_charBSet()

void pr_charBSet ( BSetHandle * sh,
BSet src,
void(* f )(int) )

Definition at line 248 of file bset.c.

References trav_BSet().

◆ res_BSet()

void res_BSet ( BSetHandle * sh,
BSet dst )

Definition at line 135 of file bset.c.

References BSetHandle_::wsize.

Referenced by dfa_parse_init(), and read_charset().

◆ rm_BSetHandle()

void rm_BSetHandle ( BSetHandle ** shp)

Definition at line 55 of file bset.c.

References ifree(), and BSetHandle_::setchain.

Referenced by rm_dfa_parse().

◆ test_BSet()

unsigned test_BSet ( BSetHandle * sh,
BSet src,
unsigned member )

Definition at line 118 of file bset.c.

References GET_BIT.

◆ trav_BSet()

int trav_BSet ( BSetHandle * sh,
BSet src,
unsigned member )

Definition at line 183 of file bset.c.

References BSetHandle_::size.

Referenced by mk_Tnode_cset(), pr_BSet(), and pr_charBSet().

◆ travi_BSet()

int travi_BSet ( BSetHandle * sh,
BSet src,
unsigned member )

Definition at line 210 of file bset.c.

References BSetHandle_::size.

Referenced by mk_Tnode_cset().

◆ union_BSet()

void union_BSet ( BSetHandle * sh,
BSet dst,
BSet src )

Definition at line 141 of file bset.c.

References BSetHandle_::wsize.