DIRECTORY AlpsBool, Rope; AlpsHeur: CEDAR DEFINITIONS = BEGIN TableComparisonProc: TYPE = PROC [oldTable, newTable: AlpsBool.TableOfVariables] RETURNS [newIsBetter: BOOL]; ImproveAreaAndDelay: TableComparisonProc; ImproveSizeAndDelay: TableComparisonProc; ImproveSize: TableComparisonProc; ImproveDelay: TableComparisonProc; AlwaysBetter: TableComparisonProc; Example: PUBLIC PROC [] RETURNS [table: AlpsBool.TableOfVariables]; ExampleC1MX07A: PUBLIC PROC [] RETURNS [table: AlpsBool.TableOfVariables]; MostUsed: PUBLIC PROC [table: AlpsBool.TableOfVariables] RETURNS [exprs: LIST OF AlpsBool.Expression _ NIL]; EachRestrictionProc: TYPE = PROC [table: AlpsBool.TableOfVariables, expr: AlpsBool.Expression, nb: INT] RETURNS [quit: BOOL _ FALSE]; InterestProc: TYPE = PROC [table: AlpsBool.TableOfVariables, expr: AlpsBool.Expression] RETURNS [exprIsInteresting: BOOL _ FALSE]; DefaultInterestProc: InterestProc; EnumerateRestrictions: PUBLIC PROC [table: AlpsBool.TableOfVariables, eachRestriction: EachRestrictionProc, interestProc: InterestProc _ DefaultInterestProc]; FactorizeBest: PUBLIC PROC [table: AlpsBool.TableOfVariables, better: TableComparisonProc, printLevel: INT _ 2] RETURNS [newTable: AlpsBool.TableOfVariables, ok: BOOL]; AllPermute: PUBLIC PROC [table: AlpsBool.TableOfVariables, better: TableComparisonProc, permutLimit: INT _ 99] RETURNS [newTable: AlpsBool.TableOfVariables]; BestPermute: PUBLIC PROC [table: AlpsBool.TableOfVariables, better: TableComparisonProc] RETURNS [newTable: AlpsBool.TableOfVariables, ok: BOOL _ FALSE]; FastPermute: PUBLIC PROC [table: AlpsBool.TableOfVariables, better: TableComparisonProc] RETURNS [newTable: AlpsBool.TableOfVariables, ok: BOOL _ FALSE]; BestPermuteInfinitely: PUBLIC PROC [table: AlpsBool.TableOfVariables, better: TableComparisonProc] RETURNS [newTable: AlpsBool.TableOfVariables]; NbOfUseOfVarInTable: PUBLIC PROC [table: AlpsBool.TableOfVariables, varNb: AlpsBool.VarNb] RETURNS [sigma: INT _ 0]; RemoveAuxVar: PUBLIC PROC [table: AlpsBool.TableOfVariables, better: TableComparisonProc, printLevel: INT _ 2] RETURNS [newTable: AlpsBool.TableOfVariables, ok: BOOL]; Reverse: PUBLIC PROC [table: AlpsBool.TableOfVariables] RETURNS [newTable: AlpsBool.TableOfVariables]; END. ČAlpsHeur.mesa Created by Bertrand Serlet, November 26, 1985 11:50:59 am PST Last edited by serlet June 15, 1985 1:52:05 pm PDT This program allows high-level operations on tables. Alps heart Ęy˜šœ ™ J™=J™2—J™J™4J™šĎk ˜ Jšœ˜—J˜•StartOfExpansion[]šĎbœœ œ˜J˜Jš˜J˜™ J˜Jš Ďnœœœ1œœ˜mJ˜Jšžœ˜)Jšžœ˜)Jšž œ˜!Jšž œ˜"Jšž œ˜"J˜JšŸœœœœ$˜CJ˜Jšžœœœœ$˜JJ˜JšŸœœœ$œ œœœ˜lJ˜JšŸœœœCœœœœ˜…Jš Ÿ œœœ?œœœ˜‚Jšžœ˜"JšŸœœœ|˜žJ˜Jš Ÿ œœœMœœ+œ˜¨J˜Jš Ÿ œœœNœœ'˜J˜Jš Ÿ œœœAœ+œœ˜™J˜Jš Ÿ œœœAœ+œœ˜™J˜JšŸœœAœ'˜‘J˜Jš Ÿœœœ;œ œ˜tJ˜Jš Ÿ œœœMœœ+œ˜§J˜Jšžœœœ$œ'˜f—J˜Jšœ˜—J˜J˜—…—Ü