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