-- file: MFMath.mesa
-- Pascal-to-Mesa translator output, translated at October 31, 1985 4:28:00 pm PST


DIRECTORY
  PascalBasic,
  PascalWizardFiles,
  MFTypes;

MFMath: DEFINITIONS IMPORTS  =
BEGIN OPEN PascalBasic, PascalWizardFiles, MFTypes;

ArithError: PascalBoolean;
TwoToThe: LONG POINTER TO ARRAY PascalInteger[0..30] OF  PascalInteger;
SpecLog: LONG POINTER TO ARRAY PascalInteger[1..28] OF  PascalInteger;
SpecAtan: LONG POINTER TO ARRAY PascalInteger[1..26] OF  Angle;

NSin: Fraction;

NCos: Fraction;
Randoms: LONG POINTER TO ARRAY PascalInteger[0..54] OF  Fraction;

JRandom: PascalInteger[0..54];

 ClearArith: PROCEDURE
;

 RoundDecimals: PROCEDURE[K: SmallNumber] RETURNS[RoundDecimalsResult: Scaled];

 MakeFraction: PROCEDURE[P,Q: PascalInteger] RETURNS[MakeFractionResult: Fraction];

--:107----109:-- TakeFraction: PROCEDURE[Q: PascalInteger,F: Fraction] RETURNS[TakeFractionResult: PascalInteger]
;

--112:-- TakeScaled: PROCEDURE[Q: PascalInteger,F: Scaled] RETURNS[TakeScaledResult: PascalInteger];

--114:-- MakeScaled: PROCEDURE[P,Q: PascalInteger] RETURNS[MakeScaledResult: Scaled];

--116:-- Velocity: PROCEDURE[St,Ct,Sf,Cf: Fraction,T: Scaled] RETURNS[VelocityResult: Fraction]
;

 AbVsCd: PROCEDURE[A,B,C,D: PascalInteger] RETURNS[AbVsCdResult: PascalInteger];

 FloorScaled: PROCEDURE[X: Scaled] RETURNS[FloorScaledResult: Scaled];

 FloorUnscaled: PROCEDURE[X: Scaled] RETURNS[FloorUnscaledResult: PascalInteger];

 RoundUnscaled: PROCEDURE[X: Scaled] RETURNS[RoundUnscaledResult: PascalInteger];

 RoundFraction: PROCEDURE[X: Fraction] RETURNS[RoundFractionResult: Scaled];

 SquareRt: PROCEDURE[X: Scaled] RETURNS[SquareRtResult: Scaled];

--124:-- PythAdd: PROCEDURE[A,B: PascalInteger] RETURNS[PythAddResult: PascalInteger];

 PythSub: PROCEDURE[A,B: PascalInteger] RETURNS[PythSubResult: PascalInteger];

 MLog: PROCEDURE[X: Scaled] RETURNS[MLogResult: Scaled];

 MExp: PROCEDURE[X: Scaled] RETURNS[MExpResult: Scaled];

--139:-- NArg: PROCEDURE[X,Y: PascalInteger] RETURNS[NArgResult: Angle];

--:139----145:-- NSinCos: PROCEDURE[Z: Angle];

 NewRandoms: PROCEDURE
;

--150:-- InitRandoms: PROCEDURE[Seed: Scaled];

--:150----151:-- UnifRand: PROCEDURE[X: Scaled] RETURNS[UnifRandResult: Scaled];

 NormRand: PROCEDURE RETURNS[NormRandResult: Scaled]
;

END.