BitSets.SymU 822 B

123456789101112131415161718192021222324252627
  1. MODULE BitSets;
  2. IMPORT SYSTEM;
  3. CONST
  4. Elements = ((MAX(SET) - MIN(SET)) + 1);
  5. TYPE
  6. Data = POINTER TO ARRAY OF SET;
  7. BitSet* = OBJECT
  8. VAR
  9. size: LONGINT;
  10. data: Data;
  11. PROCEDURE ^ & InitBitSet*(size: LONGINT);
  12. PROCEDURE ^ Zero*;
  13. PROCEDURE ^ Resize*(size: LONGINT);
  14. PROCEDURE ^ GetSize*(): LONGINT;
  15. PROCEDURE ^ SetBit*(pos: SIZE; value: BOOLEAN);
  16. PROCEDURE ^ GetBit*(pos: SIZE): BOOLEAN;
  17. PROCEDURE ^ SetBits*(startPos, bits: SIZE; value: HUGEINT);
  18. PROCEDURE ^ SetBytes*(startPos, bytes: SIZE; CONST values: ARRAY OF CHAR);
  19. PROCEDURE ^ GetBits*(startPos, bits: SIZE): WORD;
  20. PROCEDURE ^ CopyTo*(address: ADDRESS; bits: SIZE);
  21. END BitSet;
  22. PROCEDURE ^ CopyBits*(source: BitSet; sourcePos: SIZE; dest: BitSet; destPos, count: SIZE);
  23. BEGIN
  24. END BitSets.