<> <> <> <> <> DIRECTORY CDRects, CMosB, PW, PWObjects, Rope; TestPW: CEDAR PROGRAM IMPORTS CDRects, CMosB, PW, PWObjects SHARES PW = BEGIN ROPE: TYPE = Rope.ROPE; examples: PW.Design _ PW.OpenDesign["TestPW.dale"]; TestPWX: PW.UserProc = BEGIN <<-- Cells >> a, b, test: PW.Object; <> a _ PW.Get[examples, "a"]; b _ PW.Get[examples, "b"]; test _ PW.AbutX[a, b]; RETURN[test]; END; <<>> TestPWSharedY: PW.UserProc = BEGIN <> a, b, test: PW.Object; a _ PW.Rot90[PW.Get[examples, "a"]]; b _ PW.Rot90[PW.Get[examples, "b"]]; test _ PW.SharedAbutListY[LIST[a, b, a, b, a]]; RETURN[test]; END; TestMapFunction: PW.UserProc = BEGIN <> contact, edge, test: PW.Object; BinaryCount: PW.XYFunction = {RETURN [SELECT TRUE FROM y=0 => edge, ENDCASE => contact]}; contact _ PW.Get[examples, "contact"]; edge _ PW.Get[examples, "edge"]; test _ PW.MapFunction[BinaryCount, 0, 16, 0, 4]; RETURN[test]; END; TestRoutingCell: PW.UserProc = { node1: PWObjects.Node _ PWObjects.CreateNode[LIST[ [CDRects.CreateRect[[10 * ]]; node2: PWObjects.Node _ PWObjects.CreateNode[LIST[ [CDRects.CreateRect[[3 * [CDRects.CreateRect[[4 * ]]; RETURN [PWObjects.CreateRouting[[0, 0, 10 * }; PW.Register[TestPWX, "TestPWX"]; PW.Register[TestPWSharedY, "TestPWSharedY"]; PW.Register[TestMapFunction, "TestMapFunction"]; PW.Register[TestRoutingCell, "TestRoutingCell"]; END. <<>>