IDZEBRA  2.2.7
Macros | Functions
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)   (s[(m)/(sizeof(BSetWord)*8)]&(1<<(m&(sizeof(BSetWord)*8-1))))
 
#define SET_BIT(s, m)   (s[(m)/(sizeof(BSetWord)*8)]|=(1<<(m&(sizeof(BSetWord)*8-1))))
 

Functions

BSetHandlemk_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,
 
)    (s[(m)/(sizeof(BSetWord)*8)]&(1<<(m&(sizeof(BSetWord)*8-1))))

Definition at line 34 of file bset.c.

◆ SET_BIT

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

Definition at line 35 of file bset.c.

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()

BSet mk_BSet ( BSetHandle **  shp)

◆ 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(*)(int)  f 
)

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.