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


DIRECTORY
  PascalBasic,
  PascalWizardFiles,
  MFTypes,
  MFInit,
  MFInteraction,
  MFMath,
  MFSymbols,
  MFOctants,
  MFContours,
  MFScreen,
  MFEquations,
  MFInput,
  MFParsing,
  MFOps,
  MFTFM,
  MFGF,
  MFDebug;

MFInitImpl2: PROGRAM IMPORTS PascalBasic, MFInit, MFInteraction, MFMath, MFSymbols, MFOctants, MFContours, MFScreen, MFEquations, MFInput, MFParsing, MFOps, MFTFM, MFGF, MFDebug EXPORTS MFInit = PUBLIC
BEGIN OPEN PascalBasic, PascalWizardFiles, MFTypes, MFInit, MFInteraction, MFMath, MFSymbols, MFOctants, MFContours, MFScreen, MFEquations, MFInput, MFParsing, MFOps, MFTFM, MFGF, MFDebug;
--:1213-- Initialize: PROCEDURE
 = 
BEGIN--19:--I:PascalInteger[0..255];--:19----130:--K:PascalInteger;--:130----21:--Xchr↑[32]←' ;
Xchr↑[33]←'!;Xchr↑[34]←'";Xchr↑[35]←'#;Xchr↑[36]←'$;Xchr↑[37]←'%;
Xchr↑[38]←'&;Xchr↑[39]←'';Xchr↑[40]←'(;Xchr↑[41]←');Xchr↑[42]←'*;
Xchr↑[43]←'+;Xchr↑[44]←',;Xchr↑[45]←'-;Xchr↑[46]←'.;Xchr↑[47]←'/;
Xchr↑[48]←'0;Xchr↑[49]←'1;Xchr↑[50]←'2;Xchr↑[51]←'3;Xchr↑[52]←'4;
Xchr↑[53]←'5;Xchr↑[54]←'6;Xchr↑[55]←'7;Xchr↑[56]←'8;Xchr↑[57]←'9;
Xchr↑[58]←':;Xchr↑[59]←';;Xchr↑[60]←'<;Xchr↑[61]←'=;Xchr↑[62]←'>;
Xchr↑[63]←'?;Xchr↑[64]←'@;Xchr↑[65]←'A;Xchr↑[66]←'B;Xchr↑[67]←'C;
Xchr↑[68]←'D;Xchr↑[69]←'E;Xchr↑[70]←'F;Xchr↑[71]←'G;Xchr↑[72]←'H;
Xchr↑[73]←'I;Xchr↑[74]←'J;Xchr↑[75]←'K;Xchr↑[76]←'L;Xchr↑[77]←'M;
Xchr↑[78]←'N;Xchr↑[79]←'O;Xchr↑[80]←'P;Xchr↑[81]←'Q;Xchr↑[82]←'R;
Xchr↑[83]←'S;Xchr↑[84]←'T;Xchr↑[85]←'U;Xchr↑[86]←'V;Xchr↑[87]←'W;
Xchr↑[88]←'X;Xchr↑[89]←'Y;Xchr↑[90]←'Z;Xchr↑[91]←'[;Xchr↑[92]←'\\;
Xchr↑[93]←'];Xchr↑[94]←'↑;Xchr↑[95]←'←;Xchr↑[96]←'`;Xchr↑[97]←'a;
Xchr↑[98]←'b;Xchr↑[99]←'c;Xchr↑[100]←'d;Xchr↑[101]←'e;
Xchr↑[102]←'f;Xchr↑[103]←'g;Xchr↑[104]←'h;Xchr↑[105]←'i;
Xchr↑[106]←'j;Xchr↑[107]←'k;Xchr↑[108]←'l;Xchr↑[109]←'m;
Xchr↑[110]←'n;Xchr↑[111]←'o;Xchr↑[112]←'p;Xchr↑[113]←'q;
Xchr↑[114]←'r;Xchr↑[115]←'s;Xchr↑[116]←'t;Xchr↑[117]←'u;
Xchr↑[118]←'v;Xchr↑[119]←'w;Xchr↑[120]←'x;Xchr↑[121]←'y;
Xchr↑[122]←'z;Xchr↑[123]←'{;Xchr↑[124]←'|;Xchr↑[125]←'};
Xchr↑[126]←'~;Xchr↑[0]←' ;Xchr↑[127]←' ;--:21----22:
FOR i:INT    IN [ INT[1 ].. INT[31 ]] DO  I ← i; Xchr↑[I]←PascalCHR[I] ENDLOOP;--:22----23:
FOR i:INT    IN [ INT[0 ].. INT[255 ]] DO  I ← i; Xord↑[PascalCHR[I]]←127 ENDLOOP;
FOR i:INT    IN [ INT[1 ].. INT[126 ]] DO  I ← i; Xord↑[Xchr↑[I]]←I ENDLOOP;--:23----69:--Interaction←3;--:69----72:
DeletionsAllowed←TRUE;ErrorCount←0;--:72----75:--HelpPtr←0;
UseErrHelp←FALSE;ErrHelp←0;--:75----92:--Interrupt←0;
OkToInterrupt←TRUE;--:92----98:--ArithError←FALSE;--:98----131:
TwoToThe↑[0]←1;FOR i:INT    IN [ INT[1 ].. INT[30 ]] DO  K ← i; TwoToThe↑[K]←2*TwoToThe↑[K-1] ENDLOOP;
SpecLog↑[1]←93032640;SpecLog↑[2]←38612034;SpecLog↑[3]←17922280;
SpecLog↑[4]←8662214;SpecLog↑[5]←4261238;SpecLog↑[6]←2113709;
SpecLog↑[7]←1052693;SpecLog↑[8]←525315;SpecLog↑[9]←262400;
SpecLog↑[10]←131136;SpecLog↑[11]←65552;SpecLog↑[12]←32772;
SpecLog↑[13]←16385;FOR i:INT    IN [ INT[14 ].. INT[27 ]] DO  K ← i; SpecLog↑[K]←TwoToThe↑[27-K] ENDLOOP;
SpecLog↑[28]←1;--:131----138:--SpecAtan↑[1]←27855475;
SpecAtan↑[2]←14718068;SpecAtan↑[3]←7471121;SpecAtan↑[4]←3750058;
SpecAtan↑[5]←1876857;SpecAtan↑[6]←938658;SpecAtan↑[7]←469357;
SpecAtan↑[8]←234682;SpecAtan↑[9]←117342;SpecAtan↑[10]←58671;
SpecAtan↑[11]←29335;SpecAtan↑[12]←14668;SpecAtan↑[13]←7334;
SpecAtan↑[14]←3667;SpecAtan↑[15]←1833;SpecAtan↑[16]←917;
SpecAtan↑[17]←458;SpecAtan↑[18]←229;SpecAtan↑[19]←115;
SpecAtan↑[20]←57;SpecAtan↑[21]←29;SpecAtan↑[22]←14;SpecAtan↑[23]←7;
SpecAtan↑[24]←4;SpecAtan↑[25]←2;SpecAtan↑[26]←1;--:138----179:
WasMemEnd←0;WasLoMax←0;WasHiMin←MemMax;Panicking←FALSE;--:179
--191:--FOR i:INT    IN [ INT[1 ].. INT[40 ]] DO  K ← i; Internal↑[K]←0 ENDLOOP;IntPtr←40;--:191----199:
FOR i:INT    IN [ INT[48 ].. INT[57 ]] DO  K ← i; CharClass↑[K]←0 ENDLOOP;CharClass↑[46]←1;CharClass↑[32]←2;
CharClass↑[37]←3;CharClass↑[34]←4;CharClass↑[44]←5;CharClass↑[59]←6;
CharClass↑[40]←7;CharClass↑[41]←8;FOR i:INT    IN [ INT[65 ].. INT[90 ]] DO  K ← i; CharClass↑[K]←9 ENDLOOP;
FOR i:INT    IN [ INT[97 ].. INT[122 ]] DO  K ← i; CharClass↑[K]←9 ENDLOOP;CharClass↑[95]←9;
CharClass↑[60]←10;CharClass↑[61]←10;CharClass↑[62]←10;
CharClass↑[58]←10;CharClass↑[124]←10;CharClass↑[96]←11;
CharClass↑[39]←11;CharClass↑[43]←12;CharClass↑[45]←12;
CharClass↑[47]←13;CharClass↑[42]←13;CharClass↑[92]←13;
CharClass↑[33]←14;CharClass↑[63]←14;CharClass↑[35]←15;
CharClass↑[38]←15;CharClass↑[64]←15;CharClass↑[36]←15;
CharClass↑[94]←16;CharClass↑[126]←16;CharClass↑[91]←17;
CharClass↑[93]←18;CharClass↑[123]←19;CharClass↑[125]←19;
FOR i:INT    IN [ INT[0 ].. INT[31 ]] DO  K ← i; CharClass↑[K]←20 ENDLOOP;CharClass↑[127]←20;
CharClass↑[9]←2;CharClass↑[12]←2;--:199----202:--Hash↑[1].Lh←0;
Hash↑[1].Rh←0;Eqtb↑[1].Lh←41;Eqtb↑[1].Rh←0;
FOR i:INT    IN [ INT[2 ].. INT[2241 ]] DO  K ← i;  Hash↑[K]←Hash↑[1];Eqtb↑[K]←Eqtb↑[1]; ENDLOOP;--:202
--231:--BigNodeSize↑[13]←12;BigNodeSize↑[14]←4;--:231----251:
SavePtr←0;--:251----396:--OctantDir↑[1]←416;OctantDir↑[5]←417;
OctantDir↑[6]←418;OctantDir↑[2]←419;OctantDir↑[4]←420;
OctantDir↑[8]←421;OctantDir↑[7]←422;OctantDir↑[3]←423;--:396----428:
MaxRoundingPtr←0;--:428----449:--OctantCode↑[1]←1;OctantCode↑[2]←5;
OctantCode↑[3]←6;OctantCode↑[4]←2;OctantCode↑[5]←4;OctantCode↑[6]←8;
OctantCode↑[7]←7;OctantCode↑[8]←3;
FOR i:INT    IN [ INT[1 ].. INT[8 ]] DO  K ← i; OctantNumber↑[OctantCode↑[K]]←K ENDLOOP;--:449----456:
RevTurns←FALSE;--:456----462:--XCorr↑[1]←0;YCorr↑[1]←0;XyCorr↑[1]←0;
XCorr↑[5]←0;YCorr↑[5]←0;XyCorr↑[5]←1;XCorr↑[6]←-1;YCorr↑[6]←1;
XyCorr↑[6]←0;XCorr↑[2]←1;YCorr↑[2]←0;XyCorr↑[2]←1;XCorr↑[4]←0;
YCorr↑[4]←1;XyCorr↑[4]←1;XCorr↑[8]←0;YCorr↑[8]←1;XyCorr↑[8]←0;
XCorr↑[7]←1;YCorr↑[7]←0;XyCorr↑[7]←1;XCorr↑[3]←-1;YCorr↑[3]←1;
XyCorr↑[3]←0;FOR i:INT    IN [ INT[1 ].. INT[8 ]] DO  K ← i; ZCorr↑[K]←XyCorr↑[K]-XCorr↑[K] ENDLOOP;--:462
--570:--ScreenStarted←FALSE;ScreenOk←FALSE;--:570----573:
FOR i:INT    IN [ INT[0 ].. INT[15 ]] DO  K ← i;  WindowOpen↑[K]←FALSE;WindowTime↑[K]←0; ENDLOOP;
--:573----592:--FixNeeded←FALSE;WatchCoefs←TRUE;--:592----738:--CondPtr←0;
IfLimit←0;CurIf←0;IfLine←0;--:738----752:--LoopPtr←0;--:752----796:
CurExp←0;--:796----821:--VarFlag←0;--:821----1077:--StartSym←0;--:1077
--1084:--LongHelpSeen←FALSE;--:1084----1096:
FOR i:INT    IN [ INT[0 ].. INT[255 ]] DO  K ← i;  TfmWidth↑[K]←0;TfmHeight↑[K]←0;
TfmDepth↑[K]←0;TfmItalCorr↑[K]←0;CharExists↑[K]←FALSE;
CharTag↑[K]←0;CharRemainder↑[K]←0; ENDLOOP;
FOR i:INT    IN [ INT[1 ].. INT[HeaderSize ]] DO  K ← i; HeaderByte↑[K]←-1 ENDLOOP;Bc←255;Ec←0;Nl←0;Nk←0;
Ne←0;Np←0;--:1096----1149:--GfPrevPtr←0;TotalChars←0;--:1149----1152:
HalfBuf← PascalDIVPower2[GfBufSize ,1];GfLimit←GfBufSize;GfPtr←0;
GfOffset←0;--:1152----1183:--BaseIdent←0;--:1183-- END;--57:

END.