|
|
1.1 ! root 1: /* ! 2: * Set manipulation macros for use with programs preprocessed ! 3: * by sets(1). ! 4: */ ! 5: #define SETS_UNIT_SIZE 8 ! 6: #define SETS_SHIFT 3 ! 7: #define SETS_MASK 07 ! 8: ! 9: #define in(s, c) (((s)[((int)c) >> SETS_SHIFT]) & (1 << (((int)c) & SETS_MASK))) ! 10: #define insert(s, c) (((s)[((int)c) >> SETS_SHIFT]) |= (1 << (((int)c) & SETS_MASK))) ! 11: #define delete(s,c) (((s)[((int)c) >> SETS_SHIFT]) &= ~(1 << (((int)c) & SETS_MASK))) ! 12: ! 13: typedef char *setptr;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.