Install PipalCD Run -a TestPipalCD _ &cdobj _ CDCurves.CreateLine[LIST [[0, 0], [100, 64]], 4, CMosB.pol].ob _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ &ov2 _ Pipal.CreateOverlay[LIST [&ob2]] _ &master _ RopeFile.SimpleCreate["WavesColor.ip"] _ &ob _ PipalMos.CreatePictureFromInterpress[[100, 100], &master] _ &ob2 _ TestPipalCD.InOut[&ob] _ TestPipalCD.Draw[&ob2] _ &design _ PW.OpenDesign["SCLibCMOSB"] _ &cdobj _ PW.Get[&design, "nand2.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ PipalReal.ObjectSize[&ob] -- to avoid crashing during a paint proc! _ &viewer _ PipalEdit.CreateViewer[&ob] _ CDImports.LoadAndBindAll[&design] _ &cdobj _ PW.Get[&design, "nand2.sch"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ PipalReal.ObjectSize[&ob] -- to avoid crashing during a paint proc! _ &viewer _ PipalEdit.CreateViewer[&ob] _ &design _ PW.OpenDesign["Logic"] _ &cdobj _ PW.Get[&design, "CounterUp.sch"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ PipalReal.ObjectSize[&ob] -- to avoid crashing during a paint proc! _ &viewer _ PipalEdit.CreateViewer[&ob] _ &design _ PW.OpenDesign["DynabusPads"] _ &cdobj _ PW.Get[&design, "PadAll.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ PipalReal.ObjectSize[&ob] -- to avoid crashing during a paint proc! _ &ob _ PipalReal.CreateTransform[ImagerTransformation.Scale[0.2], &ob] _ &viewer _ PipalEdit.CreateViewer[&ob] _ BasicTime.PulsesToSeconds[PipalEditImpl.lastViewerPaintTime] _ &design _ PW.OpenDesign["AnalogTestLayout"] _ &cdobj _ PW.Get[&design, "AnalogTest"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ PipalReal.ObjectSize[&ob] -- to avoid crashing during a paint proc! _ &ob _ PipalReal.CreateTransform[ImagerTransformation.Scale[0.2], &ob] _ &viewer _ PipalEdit.CreateViewer[&ob] _ BasicTime.PulsesToSeconds[PipalEditImpl.lastViewerPaintTime] _ &design _ PW.OpenDesign["SCLibCMOSB"] _ &cdobj _ PW.Get[&design, "nand2.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ PipalReal.ObjectSize[&ob] -- to avoid crashing during a paint proc! _ PipalOverlayEditorImpl.Test[PipalOverlayMutant.Create[&ob.child.child]] _ &design _ PW.OpenDesign["SCLibCMOSB"] _ &cdobj _ PW.Get[&design, "nand2.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ CDImports.LoadAndBindAll[&design] _ &cdobj _ PW.Get[&design, "nand2.sch"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ TestPipalCD.Draw[&ob] _ TestPipalCD.Draw[&ob2] _ &design _ PW.OpenDesign["Logic"] _ &cdobj _ PW.Get[&design, "CounterUp.sch"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ &design _ PW.OpenDesign["DynabusPads"] _ &cdobj _ PW.Get[&design, "PadAll.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ &design _ PW.OpenDesign["SCLibCMOSB"] _ &cdobj _ PW.Get[&design, "nand2.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ &import _ PipalIO.CreateRefereedImport["Foo.Bar.sch", FALSE, &ob] _ &child _ PipalInt.NthChild[&import].nthChild _ IF LOOPHOLE[&import.creationTime, INT]=LOOPHOLE[BasicTime.nullGMT, INT] THEN $OK ELSE ERROR _ &bidon _ Pipal.CreateOverlay[LIST[&import]] _ PipalIO.SaveObject["Bidon.sch", &bidon] _ IF LOOPHOLE[&import.creationTime, INT]#LOOPHOLE[BasicTime.nullGMT, INT] THEN $OK ELSE ERROR _ &table _ RefTab.Create[3, NIL, NIL] _ RefTab.Store[&table, &ob, &ob2] _ PipalOps.TransitiveReplace[&bidon, &table] _ IF RefTab.Fetch[&table, &ob].val=&ob2 THEN $OK ELSE ERROR _ &import2 _ RefTab.Fetch[&table, &import].val _ IF &import2=NIL OR &import2#&import THEN $OK ELSE ERROR _ IF LOOPHOLE[&import2.creationTime, INT]=LOOPHOLE[BasicTime.nullGMT, INT] THEN $OK ELSE ERROR _ &bidon2 _ RefTab.Fetch[&table, &bidon].val _ IF &bidon2=NIL OR &bidon2#&bidon THEN $OK ELSE ERROR _ PipalIO.SaveObject["Bidon.sch", &bidon2] _ IF LOOPHOLE[&import2.creationTime, INT]#LOOPHOLE[BasicTime.nullGMT, INT] THEN $OK ELSE ERROR Statistics on _ &design _ PW.OpenDesign["DynabusPads"] _ &cdobj _ PW.Get[&design, "PadAll.mask"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ TestPipalCD.Stats[&ob] _ PipalOpsImpl.simpleReplace _ TRUE _ &map1 _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map1] _ &ob1 _ RefTab.Fetch[&map1, &ob].val _ IF Pipal.Equal[&ob1, &ob] THEN $OK ELSE ERROR _ &map2 _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map2] _ &ob2 _ RefTab.Fetch[&map2, &ob].val _ IF Pipal.Equal[&ob2, &ob] THEN $OK ELSE ERROR _ PipalOpsImpl.simpleReplace _ FALSE _ &map3 _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map3] _ &ob3 _ RefTab.Fetch[&map3, &ob].val _ IF Pipal.Equal[&ob3, &ob] THEN $OK ELSE ERROR _ &map4 _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map4] _ &ob4 _ RefTab.Fetch[&map4, &ob].val _ IF Pipal.Equal[&ob4, &ob] THEN $OK ELSE ERROR _ PipalOpsImpl.hashSetFlag _ TRUE _ &map5 _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map5] _ &ob5 _ RefTab.Fetch[&map5, &ob].val _ IF Pipal.Equal[&ob5, &ob] THEN $OK ELSE ERROR _ &map6 _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map6] _ &ob6 _ RefTab.Fetch[&map6, &ob].val _ IF Pipal.Equal[&ob6, &ob] THEN $OK ELSE ERROR ΒTestPipalCD.cm Copyright Σ 1988 by Xerox Corporation. All rights reserved. Louis Monier January 18, 1988 10:40:55 am PST Bertrand Serlet July 3, 1988 2:16:42 pm PDT Run -a PipalCDPackage _ &ov _ Pipal.CreateOverlay[LIST [&ob]] _ PipalOverlayEditorImpl.Test[PipalOverlayMutant.Create[&ov]] _ TestPipalCD.Draw[&ob] _ PipalOverlayEditorImpl.Test[PipalOverlayMutant.Create[&ov2]] _ TestPipalCD.Draw[&ob2] big object! TakeHeapStats TakeHeapStats -d IO test _ &design _ PW.OpenDesign["AnalogTestLayout"] _ &cdobj _ PW.Get[&design, "AnalogTest"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ &ob2 _ TestPipalCD.InOut[&ob] _ TestPipalCD.Draw[&ob] _ TestPipalCD.Draw[&ob2] -- Directory/Import test Stats _ &design _ PW.OpenDesign["AnalogTestLayout"] _ &cdobj _ PW.Get[&design, "AnalogTest"] _ &ob _ PipalCD.CDToPObject[&cdobj] _ TestPipalCD.Stats[&ob] _ &map _ TestPipalCD.FindEquals[&ob] _ PipalOps.TransitiveReplace[&ob, &map] _ &ob _ RefTab.Fetch[&map, &ob].val ΚΣ˜šœ™Icode™™>Jšœ™Jšœ2˜2JšœA˜AJšœ˜Jšœ˜J˜Jšœ œ˜'Jšœ œ˜(Jšœ#˜#JšœΟc)˜EJšœ'˜'J˜Jšœ#˜#Jšœ œ˜'Jšœ#˜#Jšœž)˜EJšœ'˜'J˜Jšœ œ˜"Jšœ œ˜,Jšœ#˜#Jšœž)˜EJšœ'˜'J˜Jšœ œ˜(Jšœ œ˜)Jšœ#˜#Jšœž)˜EJšœG˜GJšœ'˜'Jšœ>˜>J˜Jšœ ™ J™ Jšœ œ˜-Jšœ œ˜(Jšœ#˜#Jšœž)˜EJ™JšœG˜GJšœ'˜'Jšœ>˜>J˜Jšœ œ˜'Jšœ œ˜(Jšœ#˜#Jšœž)˜EJšœI˜IJ˜Jšœ™Jšœ œ˜'Jšœ œ˜(Jšœ#˜#Jšœ˜Jšœ#˜#Jšœ œ˜'Jšœ#˜#Jšœ˜JšΟb˜JšŸ˜Jšœ œ˜"Jšœ œ˜,Jšœ#˜#Jšœ˜Jšœ œ˜(Jšœ œ˜)Jšœ#˜#Jšœ˜Jšœ œ™-Jšœ œ™(Jšœ#™#Jšœ™Jšœ™Jšœ™J™J™Jšœ œ˜'Jšœ œ˜(Jšœ#˜#Jšœ˜Jšœ8œ˜CJšœ.˜.Jšœœœœœœœœ˜]Jšœœ ˜-Jšœ)˜)Jšœœœœœœœœ˜]Jšœœœ˜%Jšœ!˜!Jšœ,˜,Jšœœ$œœ˜;Jšœ.˜.Jš œœ œœœœ˜9Jšœœœœœœœœ˜^Jšœ,˜,Jš œœ œœœœ˜6Jšœ*˜*Jšœœœœœœœœ˜^J˜Jšœ™J˜ Jšœ œ˜(Jšœ œ˜)Jšœ#˜#Jšœ˜J˜Jšœ˜#Jšœ%˜%Jšœ(˜(Jšœ%˜%Jšœœœœ˜/Jšœ%˜%Jšœ(˜(Jšœ%˜%Jšœœœœ˜/J˜Jšœ˜$Jšœ%˜%Jšœ(˜(Jšœ%˜%Jšœœœœ˜/Jšœ%˜%Jšœ(˜(Jšœ%˜%Jšœœœœ˜/J˜Jšœ˜!Jšœ%˜%Jšœ(˜(Jšœ%˜%Jšœœœœ˜/Jšœ%˜%Jšœ(˜(Jšœ%˜%Jšœœœœ˜/J˜J™J™Jšœ œ™-Jšœ œ™(Jšœ#™#Jšœ™Jšœ$™$Jšœ'™'Jšœ#™#J™J™—…—›