123456789101112131415161718192021222324252627 |
- MODULE BitSets;
- IMPORT SYSTEM;
- CONST
- Elements = ((MAX(SET) - MIN(SET)) + 1);
- TYPE
- Data = POINTER TO ARRAY OF SET;
- BitSet* = OBJECT
- VAR
- size: LONGINT;
- data: Data;
- PROCEDURE ^ & InitBitSet*(size: LONGINT);
- PROCEDURE ^ Zero*;
- PROCEDURE ^ Resize*(size: LONGINT);
- PROCEDURE ^ GetSize*(): LONGINT;
- PROCEDURE ^ SetBit*(pos: SIZE; value: BOOLEAN);
- PROCEDURE ^ GetBit*(pos: SIZE): BOOLEAN;
- PROCEDURE ^ SetBits*(startPos, bits: SIZE; value: HUGEINT);
- PROCEDURE ^ SetBytes*(startPos, bytes: SIZE; CONST values: ARRAY OF CHAR);
- PROCEDURE ^ GetBits*(startPos, bits: SIZE): WORD;
- PROCEDURE ^ CopyTo*(address: ADDRESS; bits: SIZE);
- END BitSet;
- PROCEDURE ^ CopyBits*(source: BitSet; sourcePos: SIZE; dest: BitSet; destPos, count: SIZE);
- BEGIN
- END BitSets.
|