Oberon || Library || Module Index || Search Engine || Definition || Module
CONST setsize = MAX(SET) + 1;
TYPE CharSet = ARRAY ORD(MAX(CHAR)) + 1 DIV setsize OF SET;
PROCEDURE InitSet(VAR set: ARRAY OF SET); PROCEDURE Complement(VAR set: ARRAY OF SET); PROCEDURE Union(set1, set2: ARRAY OF SET; VAR result: ARRAY OF SET); PROCEDURE Difference(set1, set2: ARRAY OF SET; VAR result: ARRAY OF SET); PROCEDURE Intersection(set1, set2: ARRAY OF SET; VAR result: ARRAY OF SET); PROCEDURE SymDifference(set1, set2: ARRAY OF SET; VAR result: ARRAY OF SET); PROCEDURE In(VAR set: ARRAY OF SET; i: LONGINT) : BOOLEAN; PROCEDURE CharIn(VAR charset: CharSet; ch: CHAR) : BOOLEAN; PROCEDURE Equal(set1, set2: ARRAY OF SET) : BOOLEAN; PROCEDURE Incl(VAR set: ARRAY OF SET; i: LONGINT); PROCEDURE Excl(VAR set: ARRAY OF SET; i: LONGINT); PROCEDURE InclChar(VAR charset: CharSet; ch: CHAR); PROCEDURE ExclChar(VAR charset: CharSet; ch: CHAR); PROCEDURE Subset(set1, set2: ARRAY OF SET) : BOOLEAN; PROCEDURE Card(set: ARRAY OF SET) : INTEGER;
Following set operators are implemented:
set operator set operation ________________________________ unary - Complement + Union - Difference * Intersection / SymDifference IN In and CharIn = Equal INCL Incl and InclChar EXCL Excl and ExclChar
Subset returns TRUE iff set1 is contained in set2. Card returns the cardinality (number of elements) of set.
Oberon || Library || Module Index || Search Engine || Definition || Module