]> git.saurik.com Git - bison.git/blobdiff - lib/bitsetv.h
Update FSF postal mail address.
[bison.git] / lib / bitsetv.h
index 34617054e8168c1fd9da575dadeac96446098730..652f9e39de2d526cc9cce7928e0d434721fcd03d 100644 (file)
@@ -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,24 +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));
+extern void bitsetv_zero (bitsetv);
 
 /* Set vector of bitsets.  */
-extern void bitsetv_ones PARAMS ((bitsetv));
+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));
+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  */