t_setword.mod 367 B

12345678910111213
  1. MODULE TSetWord;
  2. // VAL/CAST between a set and its machine word (BITSET <-> CARDINAL).
  3. // Exit 42.
  4. VAR b : BITSET;
  5. c : CARDINAL;
  6. ExitCode : INTEGER;
  7. BEGIN
  8. b := BITSET{1, 2};
  9. c := VAL(CARDINAL, b); (* 6 *)
  10. b := CAST(BITSET, c); (* {1,2} *)
  11. IF (c = 6) AND (b = BITSET{1, 2})
  12. THEN ExitCode := 42 ELSE ExitCode := 1 END
  13. END TSetWord.