File: fsizes.h

package info (click to toggle)
form 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 8,312 kB
  • sloc: ansic: 110,546; cpp: 20,395; sh: 5,874; makefile: 545
file content (207 lines) | stat: -rw-r--r-- 5,216 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/** @file fsizes.h
 *
 *  The definition the default values for certain buffer sizes etc.
 */

/* #[ License : */
/*
 *   Copyright (C) 1984-2026 J.A.M. Vermaseren
 *   When using this file you are requested to refer to the publication
 *   J.A.M.Vermaseren "New features of FORM" math-ph/0010025
 *   This is considered a matter of courtesy as the development was paid
 *   for by FOM the Dutch physics granting agency and we would like to
 *   be able to track its scientific use to convince FOM of its value
 *   for the community.
 *
 *   This file is part of FORM.
 *
 *   FORM is free software: you can redistribute it and/or modify it under the
 *   terms of the GNU General Public License as published by the Free Software
 *   Foundation, either version 3 of the License, or (at your option) any later
 *   version.
 *
 *   FORM is distributed in the hope that it will be useful, but WITHOUT ANY
 *   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 *   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 *   details.
 *
 *   You should have received a copy of the GNU General Public License along
 *   with FORM.  If not, see <http://www.gnu.org/licenses/>.
 */
/* #] License : */ 

/*
	First the fixed variables
*/
#define MAXPRENAMESIZE 128
/*
	The following variables are default sizes. They can be changed
	into values read from the setup file

    Remark (21-dec-2008 JV): WILDOFFSET*3 should be larger than WILDMASK!!!!
		old value was WILDOFFSET 200000100
		be careful with old .sav files!!!
*/
#if BITSINWORD == 32
	#define MAXPOWER 500000000
	#define MAXVARIABLES 200000050
	#define MAXDOLLARVARIABLES 1000000000L
	#define WILDOFFSET 400000100
	#define MAXINNAMETREE 2000000000
	#define MAXDUMMIES 100000000
	#define WORKBUFFER 40000000
	#define MAXTER 40000
	#define HALFMAX 0x10000
	#define MAXSUBEXPRESSIONS 0x1FFFFFF
	#define MAXFILESTREAMSIZE 1024
#elif BITSINWORD == 16
	#define MAXPOWER 10000
	#define MAXVARIABLES 8050
	#define MAXDOLLARVARIABLES 32000
	#define WILDOFFSET 6100
	#define MAXINNAMETREE 32768
	#define MAXDUMMIES 1000
	#define WORKBUFFER 10000000
	#define MAXTER 10000
	#define HALFMAX 0x100
	#define MAXSUBEXPRESSIONS 0x3FFF
	#define MAXFILESTREAMSIZE 1048576
#else
	#error Only 64-bit and 32-bit platforms are supported.
#endif

#define MAXENAME 16
#define MAXSAVEFUNCTION 16384

#define MAXPARLEVEL 100
#define MAXNUMBERSIZE 200

#define MAXREPEAT 100
#define NORMSIZE 1000

#define INITNODESIZE 10
#define INITNAMESIZE 100

#define NUMFIXED 128
#define MAXNEST 100
#define MAXMATCH 30
#define MAXIF 20
#define SIZEFACS 640L
#define NUMFACS 50
#define MAXLOOPS 30
#define MAXLABELS 20
#define COMMERCIALSIZE 24
#define MAXFLAGS 16
/*
	The next quantities should still be eliminated from the program
	This should be together with changes in setfile!
*/
#define COMPRESSBUFFER 90000
#define FORTRANCONTINUATIONLINES 15
#define MAXLEVELS 2000
#define MAXLHS 400
#define MAXWILDC 100
#define NUMTABLEENTRIES 1000
#define COMPILERBUFFER 20000

#if BITSINWORD == 32
	#ifdef WITHPTHREADS
		#define SMALLBUFFER   300000000L
		#define SMALLOVERFLOW 600000000L
		#define TERMSSMALL      3000000L
		#define LARGEBUFFER  1500000000L
		#define SCRATCHSIZE   500000000L
	#else
		#define SMALLBUFFER   150000000L
		#define SMALLOVERFLOW 300000000L
		#define TERMSSMALL      2000000L
		#define LARGEBUFFER   800000000L
		#define SCRATCHSIZE   500000000L
    #endif
#elif BITSINWORD == 16
	#define SMALLBUFFER   10000000L
	#define SMALLOVERFLOW 20000000L
	#define TERMSSMALL      100000L
	#define LARGEBUFFER   50000000L
	#define SCRATCHSIZE   50000000L
#else
	#error Only 64-bit and 32-bit platforms are supported.
#endif

#define MAXPATCHES 256
#define MAXFPATCHES 256
#define SORTIOSIZE 200000L

#define SSMALLBUFFER 2560016L
#define SSMALLOVERFLOW 3840032L
#define STERMSSMALL 10000L
#define SLARGEBUFFER 26880512L
#define SMAXPATCHES 64
#define SMAXFPATCHES 64
#define SSORTIOSIZE 32768L

#define SPECTATORSIZE 1048576L

#define MAXFLEVELS 30

#define COMPINC 2
 
#define MAXNUMSIZE 10

#define MAXBRACKETBUFFERSIZE 200000

#define SFHSIZE 40

#define DEFAULTPROCESSBUCKETSIZE 1000
#define SHMWINSIZE     65536L

#define TABLEEXTENSION 6

#define GZIPDEFAULT 6
#define DEFAULTTHREADS 0
#define DEFAULTTHREADBUCKETSIZE 500
#define DEFAULTTHREADLOADBALANCING 1
#define THREADSCRATCHSIZE 100000L
#define THREADSCRATCHOUTSIZE 2500000L

#if BITSINWORD == 32
	#define MAXTABLECOMBUF 100000000000L
	#define MAXCOMBUFRHS 1000000000L
#elif BITSINWORD == 16
	#define MAXTABLECOMBUF 1000000L
	#define MAXCOMBUFRHS 32500L
#else
	#error Only 64-bit and 32-bit platforms are supported.
#endif

#define NUMSTORECACHES 4
#define SIZESTORECACHE 32768

#define INDENTSPACE 3

#define MULTIINDENTSPACE 1
#define MAXMULTIBRACKETLEVELS 25

#define FBUFFERSIZE 1026
/*
	For the random number generator (see commentary there)
*/
#define NPAIR1 38
#define NPAIR2 89

#define MAXLINELENGTH 256
#define MINALLOC 32

#define JUMPRATIO 4
/*
	Note: MAXCOUPLINGS should be at least MAXPARTICLES/2+1
*/ 
#define MAXPARTICLES 20
#define MAXCOUPLINGS 20
#define NUMOPTIONS 20
#define MAXLEGS 20

#ifdef WITHFLOAT
#define MAXWEIGHT 0
#define DEFAULTPRECISION 1000
#endif