1 /** @file fsizes.h 2 * 3 * The definition the default values for certain buffer sizes etc. 4 */ 5 6 /* #[ License : */ 7 /* 8 * Copyright (C) 1984-2017 J.A.M. Vermaseren 9 * When using this file you are requested to refer to the publication 10 * J.A.M.Vermaseren "New features of FORM" math-ph/0010025 11 * This is considered a matter of courtesy as the development was paid 12 * for by FOM the Dutch physics granting agency and we would like to 13 * be able to track its scientific use to convince FOM of its value 14 * for the community. 15 * 16 * This file is part of FORM. 17 * 18 * FORM is free software: you can redistribute it and/or modify it under the 19 * terms of the GNU General Public License as published by the Free Software 20 * Foundation, either version 3 of the License, or (at your option) any later 21 * version. 22 * 23 * FORM is distributed in the hope that it will be useful, but WITHOUT ANY 24 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 25 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 26 * details. 27 * 28 * You should have received a copy of the GNU General Public License along 29 * with FORM. If not, see <http://www.gnu.org/licenses/>. 30 */ 31 /* #] License : */ 32 33 /* 34 First the fixed variables 35 */ 36 #define MAXPRENAMESIZE 128 37 /* 38 The following variables are default sizes. They can be changed 39 into values read from the setup file 40 41 Remark (21-dec-2008 JV): WILDOFFSET*3 should be larger than WILDMASK!!!! 42 old value was WILDOFFSET 200000100 43 be careful with old .sav files!!! 44 */ 45 #ifdef WORDSIZE32 46 #define MAXPOWER 500000000 47 #define MAXVARIABLES 200000050 48 #define MAXDOLLARVARIABLES 1000000000L 49 #define WILDOFFSET 400000100 50 #define MAXINNAMETREE 2000000000 51 #define MAXDUMMIES 100000000 52 #define WORKBUFFER 40000000 53 #define MAXTER 40000 54 #define HALFMAX 0x10000 55 #define MAXSUBEXPRESSIONS 0x1FFFFFF 56 #define MAXFILESTREAMSIZE 1024 57 #else 58 #define MAXPOWER 10000 59 #define MAXVARIABLES 8050 60 #define MAXDOLLARVARIABLES 32000 61 #define WILDOFFSET 6100 62 #define MAXINNAMETREE 32768 63 #define MAXDUMMIES 1000 64 #define WORKBUFFER 10000000 65 #define MAXTER 10000 66 #define HALFMAX 0x100 67 #define MAXSUBEXPRESSIONS 0x3FFF 68 #define MAXFILESTREAMSIZE 1048576 69 #endif 70 #define MAXENAME 16 71 #define MAXSAVEFUNCTION 16384 72 73 #define MAXPARLEVEL 100 74 #define MAXNUMBERSIZE 200 75 76 #define MAXREPEAT 100 77 #define NORMSIZE 1000 78 79 #define INITNODESIZE 10 80 #define INITNAMESIZE 100 81 82 #define NUMFIXED 128 83 #define MAXNEST 100 84 #define MAXMATCH 30 85 #define MAXIF 20 86 #define SIZEFACS 640L 87 #define NUMFACS 50 88 #define MAXLOOPS 30 89 #define MAXLABELS 20 90 #define COMMERCIALSIZE 24 91 #define MAXFLAGS 16 92 /* 93 The next quantities should still be eliminated from the program 94 This should be together with changes in setfile! 95 */ 96 #define COMPRESSBUFFER 90000 97 #define FORTRANCONTINUATIONLINES 15 98 #define MAXLEVELS 2000 99 #define MAXLHS 400 100 #define MAXWILDC 100 101 #define NUMTABLEENTRIES 1000 102 #define COMPILERBUFFER 20000 103 104 #ifdef WORDSIZE32 105 #ifdef WITHPTHREADS 106 #define SMALLBUFFER 300000000L 107 #define SMALLOVERFLOW 600000000L 108 #define TERMSSMALL 3000000L 109 #define LARGEBUFFER 1500000000L 110 #define SCRATCHSIZE 500000000L 111 #else 112 #define SMALLBUFFER 150000000L 113 #define SMALLOVERFLOW 300000000L 114 #define TERMSSMALL 2000000L 115 #define LARGEBUFFER 800000000L 116 #define SCRATCHSIZE 500000000L 117 #endif 118 #else 119 #define SMALLBUFFER 10000000L 120 #define SMALLOVERFLOW 20000000L 121 #define TERMSSMALL 100000L 122 #define LARGEBUFFER 50000000L 123 #define SCRATCHSIZE 50000000L 124 #endif 125 #define MAXPATCHES 256 126 #define MAXFPATCHES 256 127 #define SORTIOSIZE 200000L 128 129 #define SSMALLBUFFER 500000L 130 #define SSMALLOVERFLOW 800000L 131 #define STERMSSMALL 10000L 132 #define SLARGEBUFFER 4000000L 133 #define SMAXPATCHES 64 134 #define SMAXFPATCHES 64 135 #define SSORTIOSIZE 32768L 136 137 #define SPECTATORSIZE 1048576L 138 139 #define MAXFLEVELS 30 140 141 #define COMPINC 2 142 143 #define MAXNUMSIZE 10 144 145 #define MAXBRACKETBUFFERSIZE 200000 146 147 #define SFHSIZE 40 148 149 #define DEFAULTPROCESSBUCKETSIZE 1000 150 #define SHMWINSIZE 65536L 151 152 #define TABLEEXTENSION 6 153 154 #define GZIPDEFAULT 6 155 #define DEFAULTTHREADS 0 156 #define DEFAULTTHREADBUCKETSIZE 500 157 #define DEFAULTTHREADLOADBALANCING 1 158 #define THREADSCRATCHSIZE 100000L 159 #define THREADSCRATCHOUTSIZE 2500000L 160 161 #ifdef WORDSIZE32 162 #define MAXTABLECOMBUF 100000000000L 163 #define MAXCOMBUFRHS 1000000000L 164 #else 165 #define MAXTABLECOMBUF 1000000L 166 #define MAXCOMBUFRHS 32500L 167 #endif 168 169 #define NUMSTORECACHES 4 170 #define SIZESTORECACHE 32768 171 172 #define INDENTSPACE 3 173 174 #define MULTIINDENTSPACE 1 175 #define MAXMULTIBRACKETLEVELS 25 176 177 #define FBUFFERSIZE 1026 178 /* 179 For the random number generator (see commentary there) 180 */ 181 #define NPAIR1 38 182 #define NPAIR2 89 183 184 #define MAXLINELENGTH 256 185 #define MINALLOC 32 186 187 #define JUMPRATIO 4 188