summaryrefslogtreecommitdiff
path: root/module/sets32.m
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 20:52:35 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 20:52:35 +0000
commit46439007cf417cbd9ac8049bb4122c890097a0fa (patch)
tree6fdb25e5f3a2b6d5657eb23b35774b631d4d97e4 /module/sets32.m
parent37da2899f40661e3e9631e497da8dc59b971cbd0 (diff)
20060303-partial
Diffstat (limited to 'module/sets32.m')
-rw-r--r--module/sets32.m33
1 files changed, 33 insertions, 0 deletions
diff --git a/module/sets32.m b/module/sets32.m
new file mode 100644
index 00000000..01b969f1
--- /dev/null
+++ b/module/sets32.m
@@ -0,0 +1,33 @@
+Sets: module {
+ A: con 2r1010;
+ B: con 2r1100;
+
+ PATH: con "/dis/lib/sets32.dis";
+
+ init: fn();
+ set: fn(): Set;
+ str2set: fn(str: string): Set;
+ bytes2set: fn(d: array of byte): Set;
+ Set: adt {
+ s: int;
+
+ X: fn(s1: self Set, o: int, s2: Set): Set;
+ add: fn(s: self Set, n: int): Set;
+ addlist: fn(s: self Set, ns: list of int): Set;
+ # dellist: fn(s: self Set, ns: list of int): Set;
+ del: fn(s: self Set, n: int): Set;
+ invert: fn(s: self Set): Set;
+
+ eq: fn(s1: self Set, s2: Set): int;
+ holds: fn(s: self Set, n: int): int;
+ isempty: fn(s: self Set): int;
+ msb: fn(s: self Set): int;
+ limit: fn(s: self Set): int;
+
+ str: fn(s: self Set): string;
+ bytes: fn(s: self Set, lim: int): array of byte;
+ debugstr: fn(s: self Set): string;
+ };
+ All: con Set(~0);
+ None: con Set(0);
+};