Path: utzoo!telly!attcan!uunet!tut.cis.ohio-state.edu!LILAC.BERKELEY.EDU!adamj%WEB.Berkeley.EDU From: adamj%WEB.Berkeley.EDU@LILAC.BERKELEY.EDU Newsgroups: gnu.gcc.bug Subject: bits.h Message-ID: <8903261038.AA04474@e260-4f.berkeley.edu> Date: 26 Mar 89 10:38:45 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 41 typedef unsigned char bool; static const bool FALSE = 0; static const bool TRUE = 1; typedef struct _Bit { struct _Bit *left, *right; /* Nand */ struct _Bit *same_left_node_forward; struct _Bit *same_left_node_back; unsigned long a, b; /* Bit vectors for evaulating 32 values simultaneously. */ unsigned int height; bool computed; bool mark; struct _Bit *parent; struct _Bit *chain; } Bit; extern void GarbageCollect (void); extern void SetBitMark (Bit *bit, bool mark_value); extern Bit *GenPrimitiveBit (void); extern Bit *GenCompositeBit (Bit *left, Bit *right); extern Bit *GenNand (Bit *left, Bit *right); extern Bit *GenNot (Bit *bit); extern Bit *GenAnd (Bit *bit1, Bit *bit2); extern Bit *GenOr (Bit *bit1, Bit *bit2); extern Bit *GenNor (Bit *bit1, Bit *bit2); extern Bit *GenXor (Bit *bit1, Bit *bit2); extern Bit *GenConstantBit (bool value); extern Bit *Build_Mask_Table_Expr (int *mask_table, Bit **input_vector, int input_vector_size, int output_bit); extern void Initialize_Bits (void); extern bool Get_Constant_Bit_Value (Bit *bit); extern void InvalidateAllBits (void); extern void EvaluateBit (Bit *bit); extern void SetBitValue (Bit *bit, bool value); extern bool GetBitValue (Bit *bit);