02626a96 |
1 | #include "string.h" |
2 | |
3 | #ifndef WIN32 |
4 | # define pyjets pyjets_ |
5 | # define pydat1 pydat1_ |
6 | # define pydat2 pydat2_ |
7 | # define pydat3 pydat3_ |
8 | # define pydat4 pydat4_ |
9 | # define pydatr pydatr_ |
10 | # define pysubs pysubs_ |
11 | # define pypars pypars_ |
12 | # define pyint1 pyint1_ |
13 | # define pyint2 pyint2_ |
14 | # define pyint3 pyint3_ |
15 | # define pyint4 pyint4_ |
16 | # define pyint5 pyint5_ |
17 | # define pyint6 pyint6_ |
18 | # define pyint7 pyint7_ |
19 | # define pyint8 pyint8_ |
20 | # define pyint9 pyint9_ |
21 | # define pymssm pymssm_ |
22 | # define pyssmt pyssmt_ |
23 | # define pyints pyints_ |
24 | # define pybins pybins_ |
25 | #else |
26 | # define pyjets PYJETS |
27 | # define pydat1 PYDAT1 |
28 | # define pydat2 PYDAT2 |
29 | # define pydat3 PYDAT3 |
30 | # define pydat4 PYDAT4 |
31 | # define pydatr PYDATR |
32 | # define pysubs PYSUBS |
33 | # define pypars PYPARS |
34 | # define pyint1 PYINT1 |
35 | # define pyint2 PYINT2 |
36 | # define pyint3 PYINT3 |
37 | # define pyint4 PYINT4 |
38 | # define pyint5 PYINT5 |
39 | # define pyint6 PYINT6 |
40 | # define pyint7 PYINT7 |
41 | # define pyint8 PYINT8 |
42 | # define pyint9 PYINT9 |
43 | # define pymssm PYMSSM |
44 | # define pyssmt PYSSMT |
45 | # define pyints PYINTS |
46 | # define pybins PYBINS |
47 | #endif |
48 | |
49 | extern int pyjets[2+5*4000+2*2*5*4000]; |
50 | extern int pydat1[200+2*200+200+2*200]; |
51 | extern int pydat2[4*500+2*4*500+2*2000+2*4*4]; |
52 | extern int pydat3[3*500+2*8000+2*8000+5*8000]; /* KNDCAY=8000 */ |
53 | extern char pydat4[2*500*16]; |
54 | extern int pydatr[6+2*100]; |
55 | extern int pysubs[2+500+81*2+2*200]; |
56 | extern int pypars[200+2*200+200+2*200]; |
57 | extern int pyint1[400+2*400]; |
58 | extern int pyint2[500+2*500+2*20*500+2*4*40]; |
59 | extern int pyint3[2*81*2+3*1000+2*1000]; |
60 | extern int pyint4[500+2*5*500]; |
61 | extern int pyint5[1+3*501+2*3*501]; |
62 | extern char pyint6[501*28]; |
63 | extern int pyint7[2*6*7*7]; |
64 | extern int pyint8[2*5*13]; |
65 | extern int pyint9[2*4*13]; |
66 | extern int pymssm[100+2*100]; |
67 | extern int pyssmt[2*4*4+2*2*2+2*2*2+2*4+2*2+2*4*16]; |
68 | extern int pyints[2*20]; |
69 | extern int pybins[4+1000+2*20000]; |
70 | |
71 | |
72 | void *pythia6_common_address(const char* name) { |
73 | if (!strcmp(name,"PYJETS")) return pyjets; |
74 | else if (!strcmp(name,"PYDAT1")) return pydat1; |
75 | else if (!strcmp(name,"PYDAT2")) return pydat2; |
76 | else if (!strcmp(name,"PYDAT3")) return pydat3; |
77 | else if (!strcmp(name,"PYDAT4")) return pydat4; |
78 | else if (!strcmp(name,"PYDATR")) return pydatr; |
79 | else if (!strcmp(name,"PYSUBS")) return pysubs; |
80 | else if (!strcmp(name,"PYPARS")) return pypars; |
81 | else if (!strcmp(name,"PYINT1")) return pyint1; |
82 | else if (!strcmp(name,"PYINT2")) return pyint2; |
83 | else if (!strcmp(name,"PYINT3")) return pyint3; |
84 | else if (!strcmp(name,"PYINT4")) return pyint4; |
85 | else if (!strcmp(name,"PYINT5")) return pyint5; |
86 | else if (!strcmp(name,"PYINT6")) return pyint6; |
87 | else if (!strcmp(name,"PYINT7")) return pyint7; |
88 | else if (!strcmp(name,"PYINT8")) return pyint8; |
89 | else if (!strcmp(name,"PYINT9")) return pyint9; |
90 | else if (!strcmp(name,"PYMSSM")) return pymssm; |
91 | else if (!strcmp(name,"PYSSMT")) return pyssmt; |
92 | else if (!strcmp(name,"PYINTS")) return pyints; |
93 | else if (!strcmp(name,"PYBINS")) return pybins; |
94 | return 0; |
95 | } |
96 | |
97 | #if defined(CERNLIB_WINNT) |
98 | # define pythia6_addressc PYTHIA^_ADDRESSC |
99 | # define pythia6_addressf PYTHIA^_ADDRESSF |
100 | # define pythia6_addressi PYTHIA^_ADDRESSI |
101 | # define pythia6_addressd PYTHIA^_ADDRESSD |
102 | # define type_of_call _stdcall |
103 | #else |
104 | # define pythia6_addressc pythia6_addressc_ |
105 | # define pythia6_addressf pythia6_addressf_ |
106 | # define pythia6_addressi pythia6_addressi_ |
107 | # define pythia6_addressd pythia6_addressd_ |
108 | # define type_of_call |
109 | #endif |
110 | |
111 | char* type_of_call pythia6_addressc(char *arg) |
112 | { |
113 | return arg; |
114 | } |
115 | int* type_of_call pythia6_addressi(int *arg) |
116 | { |
117 | return arg; |
118 | } |
119 | float* type_of_call pythia6_addressf(float *arg) |
120 | { |
121 | return arg; |
122 | } |
123 | double* type_of_call pythia6_addressd(double *arg) |
124 | { |
125 | return arg; |
126 | } |
127 | |
128 | |
129 | |
130 | |