mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-22 02:33:03 +00:00
(enum_bitset_ops, enum_bitset_type): New types.
All instances of parameters of type enum bitset_opts are now of type enum_bitset_opts, to conform to the C Standard, and similarly for enum_bitset_type. (bitset): Now points to a union, not to a struct. All instances of "struct bitset_struct *" replaced with "bitset". (bitset_and_or_, bitset_andn_or_, bitset_or_and_): New decls.
This commit is contained in:
@@ -25,6 +25,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Use the following types for function parameters where the
|
||||||
|
corresponding enum would be the correct type if we could use
|
||||||
|
prototyped function definitions. Standard C says that one cannot
|
||||||
|
portably use an enum as a parameter of an old-style function
|
||||||
|
definition that is also declared with a prototype. */
|
||||||
|
|
||||||
|
typedef int enum_bitset_ops;
|
||||||
|
typedef int enum_bitset_type;
|
||||||
|
|
||||||
/* Currently we support three flavours of bitsets:
|
/* Currently we support three flavours of bitsets:
|
||||||
BITSET_ARRAY: Array of bits (fixed size, fast for dense bitsets).
|
BITSET_ARRAY: Array of bits (fixed size, fast for dense bitsets).
|
||||||
BITSET_LIST: Linked list of array of bits (variable size, least storage
|
BITSET_LIST: Linked list of array of bits (variable size, least storage
|
||||||
@@ -94,65 +103,51 @@ struct bbitset_struct
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef struct bitset_struct *bitset;
|
typedef union bitset_union *bitset;
|
||||||
|
|
||||||
|
|
||||||
/* The contents of this structure should be considered private. */
|
/* The contents of this structure should be considered private. */
|
||||||
struct bitset_vtable
|
struct bitset_vtable
|
||||||
{
|
{
|
||||||
void (*set) PARAMS ((struct bitset_struct *, bitset_bindex));
|
void (*set) PARAMS ((bitset, bitset_bindex));
|
||||||
void (*reset) PARAMS ((struct bitset_struct *, bitset_bindex));
|
void (*reset) PARAMS ((bitset, bitset_bindex));
|
||||||
int (*toggle) PARAMS ((struct bitset_struct *, bitset_bindex));
|
int (*toggle) PARAMS ((bitset, bitset_bindex));
|
||||||
int (*test) PARAMS ((struct bitset_struct *, bitset_bindex));
|
int (*test) PARAMS ((bitset, bitset_bindex));
|
||||||
bitset_bindex (*size) PARAMS ((struct bitset_struct *));
|
bitset_bindex (*size) PARAMS ((bitset));
|
||||||
bitset_bindex (*count) PARAMS ((struct bitset_struct *));
|
bitset_bindex (*count) PARAMS ((bitset));
|
||||||
|
|
||||||
int (*empty_p) PARAMS ((struct bitset_struct *));
|
int (*empty_p) PARAMS ((bitset));
|
||||||
void (*ones) PARAMS ((struct bitset_struct *));
|
void (*ones) PARAMS ((bitset));
|
||||||
void (*zero) PARAMS ((struct bitset_struct *));
|
void (*zero) PARAMS ((bitset));
|
||||||
|
|
||||||
void (*copy) PARAMS ((struct bitset_struct *, struct bitset_struct *));
|
void (*copy) PARAMS ((bitset, bitset));
|
||||||
int (*disjoint_p) PARAMS ((struct bitset_struct *, struct bitset_struct *));
|
int (*disjoint_p) PARAMS ((bitset, bitset));
|
||||||
int (*equal_p) PARAMS ((struct bitset_struct *, struct bitset_struct *));
|
int (*equal_p) PARAMS ((bitset, bitset));
|
||||||
void (*not) PARAMS ((struct bitset_struct *, struct bitset_struct *));
|
void (*not) PARAMS ((bitset, bitset));
|
||||||
int (*subset_p) PARAMS ((struct bitset_struct *, struct bitset_struct *));
|
int (*subset_p) PARAMS ((bitset, bitset));
|
||||||
|
|
||||||
void (*and) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*and) PARAMS ((bitset, bitset, bitset));
|
||||||
struct bitset_struct *));
|
int (*and_cmp) PARAMS ((bitset, bitset, bitset));
|
||||||
int (*and_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*andn) PARAMS ((bitset, bitset, bitset));
|
||||||
struct bitset_struct *));
|
int (*andn_cmp) PARAMS ((bitset, bitset, bitset));
|
||||||
void (*andn) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*or) PARAMS ((bitset, bitset, bitset));
|
||||||
struct bitset_struct *));
|
int (*or_cmp) PARAMS ((bitset, bitset, bitset));
|
||||||
int (*andn_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*xor) PARAMS ((bitset, bitset, bitset));
|
||||||
struct bitset_struct *));
|
int (*xor_cmp) PARAMS ((bitset, bitset, bitset));
|
||||||
void (*or) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *));
|
|
||||||
int (*or_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *));
|
|
||||||
void (*xor) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *));
|
|
||||||
int (*xor_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *));
|
|
||||||
|
|
||||||
void (*and_or) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*and_or) PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
struct bitset_struct *, struct bitset_struct *));
|
int (*and_or_cmp) PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
int (*and_or_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*andn_or) PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
struct bitset_struct *, struct bitset_struct *));
|
int (*andn_or_cmp) PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
void (*andn_or) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
void (*or_and) PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
struct bitset_struct *, struct bitset_struct *));
|
int (*or_and_cmp) PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
int (*andn_or_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *, struct bitset_struct *));
|
|
||||||
void (*or_and) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *, struct bitset_struct *));
|
|
||||||
int (*or_and_cmp) PARAMS ((struct bitset_struct *, struct bitset_struct *,
|
|
||||||
struct bitset_struct *, struct bitset_struct *));
|
|
||||||
|
|
||||||
bitset_bindex (*list) PARAMS ((struct bitset_struct *, bitset_bindex *,
|
bitset_bindex (*list) PARAMS ((bitset, bitset_bindex *,
|
||||||
bitset_bindex, bitset_bindex *));
|
bitset_bindex, bitset_bindex *));
|
||||||
bitset_bindex (*list_reverse) PARAMS ((struct bitset_struct *,
|
bitset_bindex (*list_reverse) PARAMS ((bitset,
|
||||||
bitset_bindex *, bitset_bindex,
|
bitset_bindex *, bitset_bindex,
|
||||||
bitset_bindex *));
|
bitset_bindex *));
|
||||||
void (*free) PARAMS ((struct bitset_struct *));
|
void (*free) PARAMS ((bitset));
|
||||||
enum bitset_type type;
|
enum bitset_type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -284,10 +279,16 @@ extern bitset_bindex bitset_count_ PARAMS ((bitset));
|
|||||||
|
|
||||||
extern int bitset_copy_ PARAMS ((bitset, bitset));
|
extern int bitset_copy_ PARAMS ((bitset, bitset));
|
||||||
|
|
||||||
|
extern void bitset_and_or_ PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
|
|
||||||
extern int bitset_and_or_cmp_ PARAMS ((bitset, bitset, bitset, bitset));
|
extern int bitset_and_or_cmp_ PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
|
|
||||||
|
extern void bitset_andn_or_ PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
|
|
||||||
extern int bitset_andn_or_cmp_ PARAMS ((bitset, bitset, bitset, bitset));
|
extern int bitset_andn_or_cmp_ PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
|
|
||||||
|
extern void bitset_or_and_ PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
|
|
||||||
extern int bitset_or_and_cmp_ PARAMS ((bitset, bitset, bitset, bitset));
|
extern int bitset_or_and_cmp_ PARAMS ((bitset, bitset, bitset, bitset));
|
||||||
|
|
||||||
#endif /* _BBITSET_H */
|
#endif /* _BBITSET_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user