LichenComparisonOps.Mesa
Bertrand Serlet June 4, 1986 4:15:42 pm PDT
Last tweaked by Mike Spreitzer on May 4, 1987 1:18:07 pm PDT
DIRECTORY IO, LichenDataStructure;
LichenComparisonOps: CEDAR DEFINITIONS
=
BEGIN OPEN LichenDataStructure;
ColorData: TYPE = REF ColorDataPrivate;
ColorDataPrivate: TYPE = RECORD [
color: Color,
nextColor: ColorData ← NIL,
firstVertex: Vertex ← NIL,
count: ARRAY RealGraphID OF CARDINAL ← [0, 0],
newColor: Color ← noColor,
suspect, multicolored: BOOLFALSE
];
newColor and multicolored are indexed by oldColor; the rest by curColor.
Log: PROC [format: ROPE, v1, v2, v3, v4, v5: IO.Value ← [null[]]];
FlushLog: PROC;
WriteColorTable: PROC [colorTable: ColorTable, descriptions: RealGraphDescriptions];
WriteAll: PROC [when: ROPE, descriptions: RealGraphDescriptions, a, b: CellType, oldColorData, curColorData: ColorTable];
VerboseVName: PROC [Vertex] RETURNS [ROPE];
CompareGraphs: PROC
[
descriptions: RealGraphDescriptions,
a, b: CellType,
GenerateHints: PROC [Consume: PROC [vA, vB: Vertex]],
pick, mirrors, mayQuitEarly: BOOL,
abort: REF BOOL]
RETURNS [equiv, didQuitEarly: BOOL, partition: ColorTable];
END.