<<--File: IPPlaceProcs.mesa>> <> <<>> DIRECTORY OrderedRefArray, IPCoTab, IPTop, IPPlaceKit; IPPlaceProcs: CEDAR DEFINITIONS = BEGIN PlaceInit: PROC[ <<-- Initial Placement>> top: IPTop.Ref, orderingFn: IPPlaceKit.OrderingFn, trialsGen: IPPlaceKit.PlaceCompTGen, placeEval: IPPlaceKit.PlaceEvaluator, results: OrderedRefArray.Ref ]; PlaceImprove: PROC[ <<-- Placement improvement>> top: IPTop.Ref, remove, numbOfTrials: NAT, removeTGen: IPPlaceKit.RemoveCompTGen, removeEval: IPPlaceKit.RemoveEvaluator, placeTGen: IPPlaceKit.PlaceCompTGen, placeEval: IPPlaceKit.PlaceEvaluator, results: OrderedRefArray.Ref ]; <<--The following procedures are called by PlaceInit >> PlaceComps: PROC[ <<-- Place all of comps>> top: IPTop.Ref, comps: IPPlaceKit.Components, trialsGen: IPPlaceKit.PlaceCompTGen, placeEval: IPPlaceKit.PlaceEvaluator, results: OrderedRefArray.Ref, resultsAfter: NAT _ 0 ]; RemoveComps: PROC[ <<--Remove numb of Components that have been placed>> top: IPTop.Ref, numb: NAT, trialsGen: IPPlaceKit.RemoveCompTGen, removeEval: IPPlaceKit.RemoveEvaluator, results: OrderedRefArray.Ref, resultsAfter: NAT _ 0 ]; END.