TestPW.mesa
Copyright © 1984, 1985, 1986 by Xerox Corporation. All rights reversed.
Last Edited by: Monier, June 21, 1985 11:52:00 am PDT
Bertrand Serlet February 14, 1987 2:15:04 am PST
Louis Monier August 22, 1985 1:11:41 pm PDT
DIRECTORY
CDRects, CMosB, PW, PWObjects, Rope;
TestPW:
CEDAR
PROGRAM
IMPORTS CDRects, CMosB,
PW, PWObjects
SHARES
PW =
BEGIN
l: INT = CMosB.cmosB.lambda;
examples:
PW.Design ←
PW.OpenDesign["TestPW.dale"];
TestPWX:
PW.UserProc =
BEGIN
-- Cells
a, b, test: PW.Object;
n: INT;
a ← PW.Get[examples, "a"];
b ← PW.Get[examples, "b"];
test ← PW.AbutX[a, b];
RETURN[test];
END;
TestPWSharedY:
PW.UserProc =
BEGIN
Cells
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
Cells
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 * l, 4 * l], CMosB.wpdif], [0, 5 * l]]
]];
node2: PWObjects.Node ← PWObjects.CreateNode[
LIST[
[CDRects.CreateRect[[3 * l, 7 * l], CMosB.met], [4 * l, 0]],
[CDRects.CreateRect[[4 * l, 4 * l], CMosB.met], [4 * l, 7 * l]]
]];
RETURN [PWObjects.CreateRouting[[0, 0, 10 * l, 13 * l], LIST [node1, node2]]];
};
PW.Register[TestPWX, "TestPWX"];
PW.Register[TestPWSharedY, "TestPWSharedY"];
PW.Register[TestMapFunction, "TestMapFunction"];
PW.Register[TestRoutingCell, "TestRoutingCell"];
END.