X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7086e7071e8bfa2012e9134530a158c88a832ba6..500bbfcd816776d0ddbf3555fedd41b529c405b3:/lib/bitsetv.h?ds=sidebyside diff --git a/lib/bitsetv.h b/lib/bitsetv.h index cac4eb07..c9d2dd41 100644 --- a/lib/bitsetv.h +++ b/lib/bitsetv.h @@ -25,25 +25,38 @@ 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. */ extern void bitsetv_free PARAMS ((bitsetv)); /* Zero vector of bitsets. */ -extern void bitsetv_zero PARAMS ((bitsetv, unsigned int)); +extern void bitsetv_zero PARAMS ((bitsetv)); /* Set vector of bitsets. */ -extern void bitsetv_ones PARAMS ((bitsetv, unsigned int)); +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, - unsigned int)); + const char *, bitsetv)); + +/* Function to debug vector of bitsets from debugger. */ +extern void debug_bitsetv PARAMS ((bitsetv)); + #endif /* _BITSETV_H */