#ifndef __GATE_SET_H
#define __GATE_SET_H
/* set.h
The following is a general-purpose set library originally developed
by Hank Dietz and enhanced by Terence Parr to allow dynamic sets.
Sets are now structs containing the #words in the set and
a pointer to the actual set words.
1987 by Hank Dietz
Modified by:
Terence Parr
Purdue University
October 1989
Added ANSI prototyping Dec. 1992 -- TJP
*/
#include "pcctscfg.h"
/* Define usable bits per unsigned int word */
#ifdef PC
#else
#endif
#define BytesPerWord sizeof(unsigned)
#endif
typedef struct _set {
unsigned int n; /* Number of words in set */
unsigned *setword;
} set;
/* M a c r o s */
/* make arg1 a set big enough to hold max elem # of arg2 */
#define set_free(a) \
(a) = empty;}
#ifdef __USE_PROTOS
extern void set_size( unsigned );
#else
extern void set_size();
extern unsigned int set_deg();
extern void set_ext();
extern int set_equ();
extern int set_sub();
extern unsigned set_int();
extern int set_el();
extern int set_nil();
extern char * set_str();
extern void set_orel();
extern void set_orin();
extern void set_andin();
extern void set_rm();
extern void set_clr();
extern void set_PDQ();
extern unsigned *set_pdq();
extern void _set_pdq();
extern unsigned int set_hash();
#endif
#endif