DIRECTORY Rope, AlgebraClasses; ASPolynomialFactorization: CEDAR DEFINITIONS ~ BEGIN ContentPPFactorization: TYPE = AlgebraClasses.Object; CompleteFactorization: TYPE = AlgebraClasses.Object; SquareFreeFactorization: TYPE = AlgebraClasses.Object; FactorPower: TYPE = AlgebraClasses.Object; CompleteFactorizationData: TYPE = REF CompleteFactorizationDataRec; CompleteFactorizationDataRec: TYPE = RECORD [ input: Object, content: CompleteFactorization _ NIL, factors: Sequences.Sequence _ NIL -- of FactorPower's ]; ContentPPFactorizationData: TYPE = REF ContentPPFactorizationDataRec; ContentPPFactorizationDataRec: TYPE = RECORD [ input: Object, content: Object _ NIL, primitivePart: Object _ NIL ]; SquareFreeFactorizationData: TYPE = REF SquareFreeFactorizationDataRec; SquareFreeFactorizationDataRec: TYPE = RECORD [ input: Object, -- assumed primitive factors: Sequences.Sequence _ NIL -- of FactorPower's ]; FactorPowerData: TYPE = REF FactorPowerDataRec; FactorPowerDataRec: TYPE = RECORD [ factor: Object, power: NAT, ]; NameStructureData: TYPE = REF NameStructureDataRec; NameStructureDataRec: TYPE = RECORD [ data1: AlgebraClasses.Object, -- Comment data2: AlgebraClasses.Object -- Comment ]; MakeNameStructure: AlgebraClasses.StructureConstructorProc; PrintName: AlgebraClasses.ToRopeOp; ShortPrintName: AlgebraClasses.ToRopeOp; IsNameStructure: AlgebraClasses.UnaryPredicate; SelectorProc: AlgebraClasses.UnaryOp; SelectorProc: AlgebraClasses.UnaryOp; StructureData: AlgebraClasses.UnaryToListOp; Recast: AlgebraClasses.BinaryOp; CanRecast: AlgebraClasses.BinaryPredicate; ToExpr: AlgebraClasses.ToExprOp; LegalFirstChar: AlgebraClasses.LegalFirstCharOp; Read: AlgebraClasses.ReadOp; FromRope: AlgebraClasses.FromRopeOp; ToRope: AlgebraClasses.ToRopeOp; Write: AlgebraClasses.WriteOp; ConstructorProc: AlgebraClasses.ListImbedOp; BinaryOp: AlgebraClasses.BinaryOp; UnaryOp: AlgebraClasses.UnaryOp; END. ^ASPolynomialFactorization.mesa Last Edited by Arnon: January 28, 1988 2:13:03 pm PST Element Representation Structure Instance Data Structure Constructor Structure Operations selector: data1 selector: data2 selector: returns LIST[data1, data2] of a Name Structure Element Conversion and IO Element Constructor Element Operations สC˜Jšœ™Jšœ5™5J˜J™šฯk ˜ Icodešœ˜Kšœ˜—Ihead2šœœ ˜,Jšœ˜headšฯn™Jšœœ˜5Jšœœ˜4Jšœœ˜6Jšœ œ˜*J˜Jšœœœ˜Cšœœœ˜-Jšœ˜Jšœ!œ˜%Jšœœฯc˜5Jšœ˜J˜—Jšœœœ˜Ešœœœ˜.Jšœ˜Jšœœ˜Jšœ˜Jšœ˜J˜—Jšœœœ ˜Gšœ œœ˜/JšœŸ˜#JšœœŸ˜5Jšœ˜J˜—Jšœœœ˜/šœœœ˜#Jšœ˜Jšœœ˜ Jšœ˜——šœ™Kš ฯtœ œœœ œ œ˜7š œ œœœ˜'Kš œ œŸ ˜-Kš œ œŸ ˜,K˜——™KšžœŸœ˜?—šœ™šž œ˜#K˜—šžœ˜(K˜—šžœ ˜1J˜—šžœ˜'Jšœ  œ ™J™—šžœ˜'Jšœ  œ ™J™—šž œ˜,Jš œ œ œ œ œ™?——šœ™šžœ˜ J˜—šž œ!˜*J˜—šžœ˜ J˜—šžœ"˜0J˜—šžœ˜J˜—šžœ˜$J˜—šžœ˜ J˜—Jšžœ˜—šœ™Jšžœ˜.—šœ™šž œ˜$J˜—šž œ˜"J˜——J˜Jšœ˜—…—ฎ O