<> <> <> <> <> <<>> DIRECTORY CD USING [Design, Instance, Layer, Object, Rect], Core USING [CellType, Design, Wire], CoreRecord USING [CellInstance]; TimValues: CEDAR DEFINITIONS = BEGIN <> <> <> ROPE: TYPE = Rope.ROPE; Value: TYPE = REF; -- Interval / CutValue; Interval: TYPE = REF IntervalRec; IntervalRec: TYPE = RECORD [min, max: INT]; CutValue: TYPE = REF CutValueRec; CutValueRec: TYPE = RECORD [tcut: INT, before, after: Value]; Variable: TYPE = REF VariableRec; VariableRec: TYPE = RECORD [name: ROPE, scale: REAL, wantedError: INT]; <> MakeInterval: PROC [min, max: INT] RETURNS [interval: Interval]; MakeCutValue: PROC [tcut: INT, before, after: Value] RETURNS [cutValue: CutValue]; <> Add: PROC [value1, value2: Value] RETURNS [result: VALUE]; <> touchProcProp: ATOM; Touch: TouchProc; <> RectAt: PROC [instance: CD.Instance] RETURNS [rect: CD.Rect]; <> IRectAt: PROC [instance: CD.Instance] RETURNS [rect: CD.Rect]; <> <<>> TouchRect: PROC [instance: CD.Instance, rect: CD.Rect, layer: CD.Layer] RETURNS [yes: BOOL _ FALSE]; END.