X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7086e7071e8bfa2012e9134530a158c88a832ba6..f8e1c9e55b6f51b5144ad19a7fc11d2a774c5d58:/lib/bitsetv.h diff --git a/lib/bitsetv.h b/lib/bitsetv.h index cac4eb07..652f9e39 100644 --- a/lib/bitsetv.h +++ b/lib/bitsetv.h @@ -1,5 +1,5 @@ /* Bitset vectors. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2004 Free Software Foundation, Inc. Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz). This program is free software; you can redistribute it and/or modify @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _BITSETV_H #define _BITSETV_H @@ -25,25 +25,35 @@ 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, - enum bitset_type)); +extern bitsetv bitsetv_alloc (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, - unsigned int)); +extern bitsetv bitsetv_create (bitset_bindex, bitset_bindex, unsigned int); /* Free vector of bitsets. */ -extern void bitsetv_free PARAMS ((bitsetv)); +extern void bitsetv_free (bitsetv); /* Zero vector of bitsets. */ -extern void bitsetv_zero PARAMS ((bitsetv, unsigned int)); +extern void bitsetv_zero (bitsetv); /* Set vector of bitsets. */ -extern void bitsetv_ones PARAMS ((bitsetv, unsigned int)); +extern void bitsetv_ones (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 (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 (bitsetv); /* Dump vector of bitsets. */ -extern void bitsetv_dump PARAMS ((FILE *, const char *, - const char *, bitsetv, - unsigned int)); +extern void bitsetv_dump (FILE *, const char *, const char *, bitsetv); + +/* Function to debug vector of bitsets from debugger. */ +extern void debug_bitsetv (bitsetv); + #endif /* _BITSETV_H */