-- file: MFOctants.mesa -- Pascal-to-Mesa translator output, translated at October 31, 1985 4:28:00 pm PST DIRECTORY PascalBasic, PascalWizardFiles, MFTypes; MFOctants: DEFINITIONS IMPORTS = BEGIN OPEN PascalBasic, PascalWizardFiles, MFTypes; CurX: Scaled; CurY: Scaled; OctantDir: LONG POINTER TO ARRAY PascalInteger[1..8] OF StrNumber; CurSpec: Halfword; TurningNumber: PascalInteger; CurPen: Halfword; CurPathType: PascalInteger[0..2]; MaxAllowed: Scaled; Before: LONG POINTER TO ARRAY PascalInteger[0..MaxWiggle] OF Scaled; After: LONG POINTER TO ARRAY PascalInteger[0..MaxWiggle] OF Scaled; NodeToRound: LONG POINTER TO ARRAY PascalInteger[0..MaxWiggle] OF Halfword; CurRoundingPtr: PascalInteger[0..MaxWiggle]; MaxRoundingPtr: PascalInteger[0..MaxWiggle]; CurGran: Scaled; OctantNumber: LONG POINTER TO ARRAY PascalInteger[1..8] OF PascalInteger[1..8]; OctantCode: LONG POINTER TO ARRAY PascalInteger[1..8] OF PascalInteger[1..8]; RevTurns: PascalBoolean; Unskew: PROCEDURE[X,Y: Scaled,Octant: SmallNumber] ; Abnegate: PROCEDURE[X,Y: Scaled,OctantBefore,OctantAfter: SmallNumber] ; --:390----391:-- CrossingPoint: PROCEDURE[A,B,C: PascalInteger] RETURNS[CrossingPointResult: Fraction]; PrintSpec: PROCEDURE[S: StrNumber]; PrintStrange: PROCEDURE[S: StrNumber]; --:398----402:----405:-- RemoveCubic: PROCEDURE[P: Halfword]; SplitCubic: PROCEDURE[P: Halfword,T: Fraction,Xq,Yq: Scaled]; QuadrantSubdivide: PROCEDURE; OctantSubdivide: PROCEDURE ; MakeSafe: PROCEDURE ; BeforeAndAfter: PROCEDURE[B,A: Scaled,P: Halfword] ; GoodVal: PROCEDURE[B,O: Scaled] RETURNS[GoodValResult: Scaled]; --:431----432:-- Compromise: PROCEDURE[U,V: Scaled] RETURNS[CompromiseResult: Scaled] ; XyRound: PROCEDURE; DiagRound: PROCEDURE; NewBoundary: PROCEDURE[P: Halfword, Octant: SmallNumber]; MakeSpec: PROCEDURE[H: Halfword,SafetyMargin: Scaled, Tracing: PascalInteger] RETURNS[MakeSpecResult: Halfword]; END.