X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ef0175024063536689906e706f83ee9a12af98e3..b165c324a3149114250c796852dd2b33d79db67d:/lib/bitsetv.h diff --git a/lib/bitsetv.h b/lib/bitsetv.h index 34617054..c9d2dd41 100644 --- a/lib/bitsetv.h +++ b/lib/bitsetv.h @@ -25,12 +25,12 @@ typedef bitset * bitsetv; /* Create a vector of N_VECS bitsets, each of N_BITS, and of type TYPE. */ -extern bitsetv bitsetv_alloc PARAMS ((unsigned int, unsigned int, +extern bitsetv bitsetv_alloc PARAMS ((bitset_bindex, bitset_bindex, enum bitset_type)); /* Create a vector of N_VECS bitsets, each of N_BITS, and with attribute hints specified by ATTR. */ -extern bitsetv bitsetv_create PARAMS ((unsigned int, unsigned int, +extern bitsetv bitsetv_create PARAMS ((bitset_bindex, bitset_bindex, unsigned int)); /* Free vector of bitsets. */ @@ -42,7 +42,21 @@ extern void bitsetv_zero PARAMS ((bitsetv)); /* Set vector of bitsets. */ extern void bitsetv_ones PARAMS ((bitsetv)); +/* Given a vector BSETV of N bitsets of size N, modify its contents to + be the transitive closure of what was given. */ +extern void bitsetv_transitive_closure PARAMS ((bitsetv)); + +/* Given a vector BSETV of N bitsets of size N, modify its contents to + be the reflexive transitive closure of what was given. This is + the same as transitive closure but with all bits on the diagonal + of the bit matrix set. */ +extern void bitsetv_reflexive_transitive_closure PARAMS ((bitsetv)); + /* Dump vector of bitsets. */ extern void bitsetv_dump PARAMS ((FILE *, const char *, const char *, bitsetv)); + +/* Function to debug vector of bitsets from debugger. */ +extern void debug_bitsetv PARAMS ((bitsetv)); + #endif /* _BITSETV_H */