FORM v5.0.0-35-g6318119
fsizes.h
Go to the documentation of this file.
1
6/* #[ License : */
7/*
8 * Copyright (C) 1984-2026 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#if BITSINWORD == 32
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#elif BITSINWORD == 16
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#else
70 #error Only 64-bit and 32-bit platforms are supported.
71#endif
72
73#define MAXENAME 16
74#define MAXSAVEFUNCTION 16384
75
76#define MAXPARLEVEL 100
77#define MAXNUMBERSIZE 200
78
79#define MAXREPEAT 100
80#define NORMSIZE 1000
81
82#define INITNODESIZE 10
83#define INITNAMESIZE 100
84
85#define NUMFIXED 128
86#define MAXNEST 100
87#define MAXMATCH 30
88#define MAXIF 20
89#define SIZEFACS 640L
90#define NUMFACS 50
91#define MAXLOOPS 30
92#define MAXLABELS 20
93#define COMMERCIALSIZE 24
94#define MAXFLAGS 16
95/*
96 The next quantities should still be eliminated from the program
97 This should be together with changes in setfile!
98*/
99#define COMPRESSBUFFER 90000
100#define FORTRANCONTINUATIONLINES 15
101#define MAXLEVELS 2000
102#define MAXLHS 400
103#define MAXWILDC 100
104#define NUMTABLEENTRIES 1000
105#define COMPILERBUFFER 20000
106
107#if BITSINWORD == 32
108 #ifdef WITHPTHREADS
109 #define SMALLBUFFER 300000000L
110 #define SMALLOVERFLOW 600000000L
111 #define TERMSSMALL 3000000L
112 #define LARGEBUFFER 1500000000L
113 #define SCRATCHSIZE 500000000L
114 #else
115 #define SMALLBUFFER 150000000L
116 #define SMALLOVERFLOW 300000000L
117 #define TERMSSMALL 2000000L
118 #define LARGEBUFFER 800000000L
119 #define SCRATCHSIZE 500000000L
120 #endif
121#elif BITSINWORD == 16
122 #define SMALLBUFFER 10000000L
123 #define SMALLOVERFLOW 20000000L
124 #define TERMSSMALL 100000L
125 #define LARGEBUFFER 50000000L
126 #define SCRATCHSIZE 50000000L
127#else
128 #error Only 64-bit and 32-bit platforms are supported.
129#endif
130
131#define MAXPATCHES 256
132#define MAXFPATCHES 256
133#define SORTIOSIZE 200000L
134
135#define SSMALLBUFFER 2560016L
136#define SSMALLOVERFLOW 3840032L
137#define STERMSSMALL 10000L
138#define SLARGEBUFFER 26880512L
139#define SMAXPATCHES 64
140#define SMAXFPATCHES 64
141#define SSORTIOSIZE 32768L
142
143#define SPECTATORSIZE 1048576L
144
145#define MAXFLEVELS 30
146
147#define COMPINC 2
148
149#define MAXNUMSIZE 10
150
151#define MAXBRACKETBUFFERSIZE 200000
152
153#define SFHSIZE 40
154
155#define DEFAULTPROCESSBUCKETSIZE 1000
156#define SHMWINSIZE 65536L
157
158#define TABLEEXTENSION 6
159
160#define GZIPDEFAULT 6
161#define DEFAULTTHREADS 0
162#define DEFAULTTHREADBUCKETSIZE 500
163#define DEFAULTTHREADLOADBALANCING 1
164#define THREADSCRATCHSIZE 100000L
165#define THREADSCRATCHOUTSIZE 2500000L
166
167#if BITSINWORD == 32
168 #define MAXTABLECOMBUF 100000000000L
169 #define MAXCOMBUFRHS 1000000000L
170#elif BITSINWORD == 16
171 #define MAXTABLECOMBUF 1000000L
172 #define MAXCOMBUFRHS 32500L
173#else
174 #error Only 64-bit and 32-bit platforms are supported.
175#endif
176
177#define NUMSTORECACHES 4
178#define SIZESTORECACHE 32768
179
180#define INDENTSPACE 3
181
182#define MULTIINDENTSPACE 1
183#define MAXMULTIBRACKETLEVELS 25
184
185#define FBUFFERSIZE 1026
186/*
187 For the random number generator (see commentary there)
188*/
189#define NPAIR1 38
190#define NPAIR2 89
191
192#define MAXLINELENGTH 256
193#define MINALLOC 32
194
195#define JUMPRATIO 4
196/*
197 Note: MAXCOUPLINGS should be at least MAXPARTICLES/2+1
198*/
199#define MAXPARTICLES 20
200#define MAXCOUPLINGS 20
201#define NUMOPTIONS 20
202#define MAXLEGS 20
203
204#ifdef WITHFLOAT
205#define MAXWEIGHT 0
206#define DEFAULTPRECISION 1000
207#endif