src/var_set/var_set.c File Reference
#include "util.h"
#include "var_set.h"
Go to the source code of this file.
Functions |
var_set_t * | var_set_new (int size) |
var_set_t * | var_set_copy (var_set_t *set) |
var_set_t * | var_set_assign (var_set_t *result, var_set_t *set) |
void | var_set_free (var_set_t *set) |
static void | init_size_array (void) |
int | var_set_n_elts (var_set_t *set) |
var_set_t * | var_set_or (var_set_t *result, var_set_t *a, var_set_t *b) |
var_set_t * | var_set_and (var_set_t *result, var_set_t *a, var_set_t *b) |
var_set_t * | var_set_not (var_set_t *result, var_set_t *a) |
int | var_set_get_elt (var_set_t *set, int index) |
void | var_set_set_elt (var_set_t *set, int index) |
void | var_set_clear_elt (var_set_t *set, int index) |
void | var_set_clear (var_set_t *set) |
int | var_set_intersect (var_set_t *a, var_set_t *b) |
int | var_set_is_empty (var_set_t *a) |
int | var_set_is_full (var_set_t *a) |
void | var_set_print (FILE *fp, var_set_t *set) |
int | var_set_equal (var_set_t *a, var_set_t *b) |
int | var_set_cmp (char *obj1, char *obj2) |
unsigned int | var_set_hash (var_set_t *set) |
Variables |
static int | size_array [256] |
Function Documentation
static void init_size_array |
( |
void |
|
) |
[static] |
Definition at line 51 of file var_set.c.
00052 {
00053 int i;
00054 unsigned j;
00055 int count;
00056
00057 for (i = 0; i < 256; i++) {
00058 count = 0;
00059 for (j = 0; j < VAR_SET_WORD_SIZE; j++) {
00060 count += VAR_SET_EXTRACT_BIT(i, j);
00061 }
00062 size_array[i] = count;
00063 }
00064 }
Definition at line 33 of file var_set.c.
00034 {
00035 int i;
00036
00037 assert(result->n_elts == set->n_elts);
00038 for (i = 0; i < result->n_words; i++)
00039 result->data[i] = set->data[i];
00040 return result;
00041 }
Definition at line 139 of file var_set.c.
00140 {
00141 int i;
00142
00143 for (i = 0; i < set->n_words; i++)
00144 set->data[i] = 0;
00145 }
void var_set_clear_elt |
( |
var_set_t * |
set, |
|
|
int |
index | |
|
) |
| | |
int var_set_cmp |
( |
char * |
obj1, |
|
|
char * |
obj2 | |
|
) |
| | |
int var_set_get_elt |
( |
var_set_t * |
set, |
|
|
int |
index | |
|
) |
| | |
unsigned int var_set_hash |
( |
var_set_t * |
set |
) |
|
Definition at line 210 of file var_set.c.
00211 {
00212 int i;
00213 unsigned int result = 0;
00214
00215 for (i = 0; i < set->n_words; i++)
00216 result += (unsigned int) set->data[i];
00217 return result;
00218 }
Definition at line 156 of file var_set.c.
00157 {
00158 int i;
00159 for (i = 0; i < a->n_words; i++)
00160 if (a->data[i]) return 0;
00161 return 1;
00162 }
void var_set_print |
( |
FILE * |
fp, |
|
|
var_set_t * |
set | |
|
) |
| | |
Definition at line 174 of file var_set.c.
00175 {
00176 int i;
00177 for (i = 0; i < set->n_elts; i++) {
00178 fprintf(fp, "%d ", var_set_get_elt(set, i));
00179 }
00180 fprintf(fp, "\n");
00181 }
void var_set_set_elt |
( |
var_set_t * |
set, |
|
|
int |
index | |
|
) |
| | |
Variable Documentation