1*46439007SCharles.ForsythSets: module { 2*46439007SCharles.Forsyth A: con 2r1010; 3*46439007SCharles.Forsyth B: con 2r1100; 4*46439007SCharles.Forsyth 5*46439007SCharles.Forsyth PATH: con "/dis/lib/sets32.dis"; 6*46439007SCharles.Forsyth 7*46439007SCharles.Forsyth init: fn(); 8*46439007SCharles.Forsyth set: fn(): Set; 9*46439007SCharles.Forsyth str2set: fn(str: string): Set; 10*46439007SCharles.Forsyth bytes2set: fn(d: array of byte): Set; 11*46439007SCharles.Forsyth Set: adt { 12*46439007SCharles.Forsyth s: int; 13*46439007SCharles.Forsyth 14*46439007SCharles.Forsyth X: fn(s1: self Set, o: int, s2: Set): Set; 15*46439007SCharles.Forsyth add: fn(s: self Set, n: int): Set; 16*46439007SCharles.Forsyth addlist: fn(s: self Set, ns: list of int): Set; 17*46439007SCharles.Forsyth # dellist: fn(s: self Set, ns: list of int): Set; 18*46439007SCharles.Forsyth del: fn(s: self Set, n: int): Set; 19*46439007SCharles.Forsyth invert: fn(s: self Set): Set; 20*46439007SCharles.Forsyth 21*46439007SCharles.Forsyth eq: fn(s1: self Set, s2: Set): int; 22*46439007SCharles.Forsyth holds: fn(s: self Set, n: int): int; 23*46439007SCharles.Forsyth isempty: fn(s: self Set): int; 24*46439007SCharles.Forsyth msb: fn(s: self Set): int; 25*46439007SCharles.Forsyth limit: fn(s: self Set): int; 26*46439007SCharles.Forsyth 27*46439007SCharles.Forsyth str: fn(s: self Set): string; 28*46439007SCharles.Forsyth bytes: fn(s: self Set, lim: int): array of byte; 29*46439007SCharles.Forsyth debugstr: fn(s: self Set): string; 30*46439007SCharles.Forsyth }; 31*46439007SCharles.Forsyth All: con Set(~0); 32*46439007SCharles.Forsyth None: con Set(0); 33*46439007SCharles.Forsyth}; 34