89 UBYTE reserved[512-8-4-16-4-16-16-1];
110 PADPOSITION(0,1,0,5,MAXENAME+1);
118 #define INFILEINDEX ((512-2*sizeof(POSITION))/sizeof(INDEXENTRY))
123 #define EMPTYININDEX (512-2*sizeof(POSITION)-INFILEINDEX*sizeof(INDEXENTRY))
156 PADPOSITION(0,0,0,2,0);
189 PADPOSITION(4,0,0,0,
sizeof(
VARRENUM)*4);
282 PADPOINTER(10,0,1,0);
321 PADPOSITION(0,2,0,0,0);
331 LONG bracketbuffersize;
332 LONG indexbuffersize;
416 PADPOSITION(5,2,0,13,0);
418 PADPOSITION(5,2,0,12,0);
490 PADPOINTER(2,0,11,0);
532 pthread_mutex_t pthreadslockread;
533 pthread_mutex_t pthreadslockwrite;
544 PADPOINTER(2,0,6,
sizeof(pthread_mutex_t)*2);
583 PADPOSITION(0,1,0,0,0);
597 PADPOSITION(3,0,1,0,0);
659 pthread_mutex_t pthreadslock;
665 PADPOSITION(11,5,2,0,
sizeof(pthread_mutex_t));
667 PADPOSITION(9,4,2,0,
sizeof(pthread_mutex_t));
671 PADPOSITION(7,4,2,0,0);
673 PADPOSITION(5,3,2,0,0);
705 int previousNoShowInput;
713 PADPOSITION(6,3,9,0,4);
723 PADPOSITION(2,0,0,2,0);
759 WORD step1,kstep,mdum;
760 WORD gamm,ad,a3,a4,lc3,lc4;
761 WORD sign1,sign2,gamma5,num,level,factor,allsign;
763 PADPOINTER(0,0,19,0);
779 WORD sgn,num,level,factor,allsign;
809 int oldnumpotmoddollars;
854 LONG startlinenumber;
929 typedef WORD (*FINISHUFFLE)(WORD *);
930 typedef WORD (*DO_UFFLE)(WORD *,WORD,WORD,WORD);
931 typedef WORD (*COMPARE)(WORD *,WORD *,WORD);
1016 PADPOSITION(1,0,0,2,0);
1028 WORD cycle[MAXMATCH];
1029 PADPOINTER(0,0,MAXMATCH+2,0);
1040 WORD cycle[MAXMATCH];
1041 PADPOINTER(0,0,MAXMATCH+2,0);
1057 WORD cycle[MAXMATCH];
1058 PADPOINTER(0,0,(MAXMATCH+4),0);
1074 PADPOINTER(0,0,3,0);
1100 WORD **SplitScratch;
1110 WORD *fpincompressed;
1147 PADPOSITION(28,12,12,3,0);
1149 PADPOSITION(25,12,12,3,0);
1160 typedef struct SoRtBlOcK {
1161 pthread_mutex_t *MasterBlockLock;
1165 int MasterNumBlocks;
1168 PADPOINTER(0,3,0,0);
1173 typedef struct DeBuGgInG {
1188 typedef struct ThReAdBuCkEt {
1191 WORD *compressbuffer;
1192 LONG threadbuffersize;
1197 pthread_mutex_t lock;
1203 PADPOINTER(5,5,0,
sizeof(pthread_mutex_t));
1231 FINISHUFFLE finishuf;
1238 PADPOINTER(1,0,4,0);
1265 int hornerdirection;
1271 int greedytimelimit;
1297 PADPOSITION(2,1,0,3,0);
1368 UBYTE *InputFileName;
1374 UBYTE *gFortran90Kind;
1377 UBYTE *oldnumextrasymbols;
1380 pthread_rwlock_t handlelock;
1381 pthread_mutex_t storefilelock;
1382 pthread_mutex_t sbuflock;
1383 LONG ThreadScratSize;
1384 LONG ThreadScratOutSize;
1390 LONG SizeStoreCache;
1397 LONG MaxBracketBufferSize;
1398 LONG hProcessBucketSize;
1399 LONG gProcessBucketSize;
1405 LONG gThreadBucketSize;
1406 LONG ggThreadBucketSize;
1421 int NumFixedFunctions;
1427 int gTokensWriteFlag;
1433 int gproperorderflag;
1436 int totalnumberofthreads;
1437 int gSizeCommuteInSet;
1444 int gThreadBalancing;
1445 int ggThreadBalancing;
1446 int gThreadSortFileSynch;
1447 int ggThreadSortFileSynch;
1450 int gOldParallelStats;
1451 int ggOldParallelStats;
1453 int resetTimeOnClear;
1456 int gNoSpacesInNumbers;
1457 int ggNoSpacesInNumbers;
1461 int gOldFactArgFlag;
1462 int ggOldFactArgFlag;
1465 int NumSpectatorFiles;
1466 int SizeForSpectatorFiles;
1469 int gWTimeStatsFlag;
1470 int ggWTimeStatsFlag;
1482 WORD gOutNumberType;
1518 WORD NumStoreCaches;
1524 WORD ggextrasymbols;
1530 WORD BracketFactors[8];
1532 PADPOSITION(17,26,62,83,(
sizeof(pthread_rwlock_t)+
sizeof(pthread_mutex_t)*2));
1534 PADPOSITION(17,24,62,83,0);
1556 UBYTE **PreSwitchStrings;
1560 UBYTE *procedureExtension;
1561 UBYTE *cprocedureExtension;
1562 LONG *PreAssignStack;
1564 int *PreSwitchModes;
1567 pthread_mutex_t PreVarLock;
1573 int PreContinuation;
1578 int NumPreSwitchStrings;
1592 int MaxPreAssignLevel;
1597 PADPOINTER(3,21,2,2);
1640 LIST AutoSymbolList;
1642 LIST AutoVectorList;
1643 LIST AutoFunctionList;
1682 UBYTE *Fortran90Kind;
1683 WORD **MultiBracketBuf;
1699 pthread_mutex_t halfmodlock;
1701 LONG argstack[MAXNEST];
1702 LONG insidestack[MAXNEST];
1703 LONG inexprstack[MAXNEST];
1707 LONG ProcessBucketSize;
1708 LONG mProcessBucketSize;
1710 LONG ThreadBucketSize;
1715 int AutoDeclareFlag;
1720 int firstconstindex;
1728 int NumWildcardNames;
1729 int WildcardBufferSize;
1733 int firstctypemessage;
1738 int TokensWriteFlag;
1739 int UnsureDollarMode;
1751 int OldParallelStats;
1753 int ThreadBalancing;
1754 int ThreadSortFileSynch;
1756 int BracketNormalize;
1759 int bracketindexflag;
1764 int properorderflag;
1767 int vetotablebasefill;
1768 int exprfillwarning;
1772 int MultiBracketLevels;
1773 int topolynomialflag;
1779 int doloopstacksize;
1785 int SizeCommuteInSet;
1792 WORD argsumcheck[MAXNEST];
1793 WORD insidesumcheck[MAXNEST];
1794 WORD inexprsumcheck[MAXNEST];
1795 WORD RepSumCheck[MAXREPEAT];
1835 WORD CollectPercentage;
1838 WORD PolyRatFunChanged;
1842 WORD RhsExprInModuleFlag;
1844 UBYTE Commercial[COMMERCIALSIZE+2];
1845 UBYTE debugFlags[MAXFLAGS+2];
1846 #if defined(WITHPTHREADS)
1847 PADPOSITION(49,8+3*MAXNEST,72,48+3*MAXNEST+MAXREPEAT,COMMERCIALSIZE+MAXFLAGS+4+
sizeof(
LIST)*17+
sizeof(pthread_mutex_t));
1848 #elif defined(WITHMPI)
1849 PADPOSITION(49,8+3*MAXNEST,72,49+3*MAXNEST+MAXREPEAT,COMMERCIALSIZE+MAXFLAGS+4+
sizeof(
LIST)*17);
1851 PADPOSITION(47,8+3*MAXNEST,70,48+3*MAXNEST+MAXREPEAT,COMMERCIALSIZE+MAXFLAGS+4+
sizeof(
LIST)*17);
1869 pthread_mutex_t inputslock;
1870 pthread_mutex_t outputslock;
1871 pthread_mutex_t MaxExprSizeLock;
1874 WORD *OldNumFactors;
1877 int NumOldNumFactors;
1888 WORD CollectOverFlag;
1892 #if defined(WITHPTHREADS)
1893 PADPOSITION(3,0,5,3,
sizeof(pthread_mutex_t)*3);
1894 #elif defined(WITHMPI)
1895 PADPOSITION(3,0,5,2,0);
1897 PADPOSITION(3,0,4,2,0);
1923 WORD *CompressBuffer;
1925 WORD *CompressPointer;
1926 COMPARE CompareRoutine;
1946 #if ( BITSINWORD == 32 )
1947 WORD PrimeList[5000];
1948 WORD numinprimelist;
1974 WORD ShortSortCount;
1975 #if ( BITSINWORD == 32 )
1977 PADPOSITION(8,7,8,5026,0);
1979 PADPOSITION(8,7,7,5026,0);
1983 PADPOSITION(8,7,8,24,0);
1985 PADPOSITION(8,7,7,24,0);
2024 WORD *small_power_n;
2025 UWORD **small_power;
2032 WORD *previousEfactor;
2034 UWORD **NumberMemHeap;
2035 UWORD **CacheNumberMemHeap;
2040 WORD *TopologiesTerm;
2041 WORD *TopologiesStart;
2046 LONG posWorkPointer;
2057 int WildcardBufferSize;
2070 int CacheNumberMemMax;
2071 int CacheNumberMemTop;
2072 int bracketindexflag;
2074 int ListSymbolsSize;
2079 WORD small_power_maxx;
2080 WORD small_power_maxn;
2081 WORD dummysubexp[SUBEXPSIZE+4];
2084 WORD comfun[FUNHEAD+4];
2087 WORD MinVecArg[7+ARGHEAD];
2088 WORD FunArg[4+ARGHEAD+FUNHEAD];
2089 WORD locwildvalue[SUBEXPSIZE];
2090 WORD mulpat[SUBEXPSIZE+5];
2092 WORD proexp[SUBEXPSIZE+5];
2106 WORD TopologiesLevel;
2107 WORD TopologiesOptions[2];
2110 PADPOINTER(5,27,105+SUBEXPSIZE*4+FUNHEAD*2+ARGHEAD*2,0);
2112 PADPOINTER(5,25,105+SUBEXPSIZE*4+FUNHEAD*2+ARGHEAD*2,0);
2115 PADPOINTER(5,23,105+SUBEXPSIZE*4+FUNHEAD*2+ARGHEAD*2,0);
2165 WORD *dummyrenumlist;
2172 WORD *selecttermundo;
2173 WORD *patternbuffer;
2179 WORD **SplitScratch;
2180 WORD **SplitScratch1;
2187 #ifdef WHICHSUBEXPRESSION
2190 WORD *compressSpace;
2192 THREADBUCKET *threadbuck;
2201 LONG SplitScratchSize;
2203 LONG SplitScratchSize1;
2209 #ifdef WHICHSUBEXPRESSION
2237 WORD MaxRenumScratch;
2252 WORD sizeselecttermundo;
2253 WORD patternbuffersize;
2254 WORD numlistinprint;
2260 WORD idfunctionflag;
2261 WORD poly_vars_type;
2263 #ifdef WHICHSUBEXPRESSION
2268 #ifdef WHICHSUBEXPRESSION
2282 #ifdef WHICHSUBEXPRESSION
2322 UBYTE *DollarOutBuffer;
2324 VOID (*FlipWORD)(UBYTE *);
2325 VOID (*FlipLONG)(UBYTE *);
2326 VOID (*FlipPOS)(UBYTE *);
2327 VOID (*FlipPOINTER)(UBYTE *);
2328 VOID (*ResizeData)(UBYTE *,int,UBYTE *,int);
2329 VOID (*ResizeWORD)(UBYTE *,UBYTE *);
2330 VOID (*ResizeNCWORD)(UBYTE *,UBYTE *);
2331 VOID (*ResizeLONG)(UBYTE *,UBYTE *);
2332 VOID (*ResizePOS)(UBYTE *,UBYTE *);
2333 VOID (*ResizePOINTER)(UBYTE *,UBYTE *);
2334 VOID (*CheckPower)(UBYTE *);
2335 VOID (*RenumberVec)(UBYTE *);
2342 LONG DollarOutSizeBuffer;
2343 LONG DollarInOutBuffer;
2344 #if defined(mBSD) && defined(MICROTIME)
2350 int NoSpacesInNumbers;
2352 int CurrentDictionary;
2353 int SizeDictionaries;
2354 int NumDictionaries;
2356 int CurDictVariables;
2357 int CurDictSpecials;
2358 int CurDictFunWithArgs;
2359 int CurDictNumberWarning;
2360 int CurDictNotInFunctions;
2361 int CurDictInDollars;
2362 int gNumDictionaries;
2379 WORD OptimizationLevel;
2384 #if defined(mBSD) && defined(MICROTIME)
2385 PADPOSITION(25,6,35,17,1);
2387 PADPOSITION(25,4,35,17,1);
2402 UBYTE *currentPrompt;
2414 int currentExternalChannel;
2415 PADPOINTER(0,5,0,0);
2436 PADPOSITION(0,0,0,0,
sizeof(
struct P_const)+
sizeof(
struct X_const));
2444 typedef struct AllPrivates {
2448 PADPOSITION(0,0,0,0,
sizeof(
struct T_const));
2479 #define PHEAD ALLPRIVATES *B,
2480 #define PHEAD0 ALLPRIVATES *B
2491 typedef WORD (*WCN)(PHEAD WORD *,WORD *,WORD,WORD);
2492 typedef WORD (*WCN2)(PHEAD WORD *,WORD *);
2494 typedef WORD (*WCN)();
2495 typedef WORD (*WCN2)();
struct AllGlobals ALLGLOBALS
SBYTE empty[EMPTYININDEX]
struct ReNuMbEr * RENUMBER
INDEXENTRY expression[INFILEINDEX]
struct InDeXeNtRy INDEXENTRY
struct StOrEcAcHe * STORECACHE
BRACKETINDEX * indexbuffer
char * CheckpointRunBefore
struct bit_field * one_byte
struct DiStRiBuTe DISTRIBUTE
struct FuNcTiOn * FUNCTIONS
struct bit_field set_of_char[32]
struct FiLeInDeX FILEINDEX
char * CheckpointRunAfter
struct FixedGlobals FIXEDGLOBALS