source: altifloat/src/Yworkdir/Y1floater_delta.h @ 87

Last change on this file since 87 was 84, checked in by leila_ocean, 11 years ago

initial import

File size: 50.8 KB
Line 
1
2//----------------------------------------------------
3// project: floater_delta     header generated by YAO version v.9
4//----------------------------------------------------
5
6// DEFINE FOR PARALLELISM
7#define NOT_PARALLEL
8
9//€ € € € LES DECLARATIONS DE CLASS, DEFINE ET ALLOCATION DU PROJET
10#define         jtlag   12
11#define         nlon    87
12#define         nlat    58
13#define         nfloat  1
14#define         Y3_M    8
15#define         YO_M1QN3
16#define         YO_GRADTEST
17#define         YDOUBLE
18#define         YTINY  1.e-15
19#define         YREAL double
20
21#define         YNBUPTIME_T_float       1
22#define         YNBSTEPTIME_T_float     12
23#define         YNBALLTIME_T_float      13
24#define         YDt_T_float     YTabTraj[0].dtime
25#define         Yid_T_float     0
26
27#define         YNBUPTIME_T_euler       0
28#define         YNBSTEPTIME_T_euler     1
29#define         YNBALLTIME_T_euler      1
30#define         YDt_T_euler     YTabTraj[1].dtime
31#define         Yid_T_euler     1
32
33#define         YNBUPTIME_T_float_d     1
34#define         YNBSTEPTIME_T_float_d   12
35#define         YNBALLTIME_T_float_d    13
36#define         YDt_T_float_d   YTabTraj[2].dtime
37#define         Yid_T_float_d   2
38
39#define         YNBUPTIME_T_euler_d     0
40#define         YNBSTEPTIME_T_euler_d   1
41#define         YNBALLTIME_T_euler_d    1
42#define         YDt_T_euler_d   YTabTraj[3].dtime
43#define         Yid_T_euler_d   3
44
45#define         YA1_S_float             1
46#define         YDIM_S_float            1
47#define         YNB_S_float             1
48#define         Yid_S_float     0
49
50#define         YA1_S_euler             87
51#define         YA2_S_euler             58
52#define         YDIM_S_euler            2
53#define         YNB_S_euler             5046
54#define         Yid_S_euler     1
55
56#define         YA1_S_eulerlocate               1
57#define         YA2_S_eulerlocate               87
58#define         YA3_S_eulerlocate               58
59#define         YA2A3_S_eulerlocate             5046
60#define         YDIM_S_eulerlocate              3
61#define         YNB_S_eulerlocate               5046
62#define         Yid_S_eulerlocate       2
63
64#define         YA1_S_float_d           1
65#define         YDIM_S_float_d          1
66#define         YNB_S_float_d           1
67#define         Yid_S_float_d   3
68
69#define         YA1_S_euler_d           87
70#define         YA2_S_euler_d           58
71#define         YDIM_S_euler_d          2
72#define         YNB_S_euler_d           5046
73#define         Yid_S_euler_d   4
74
75#define         YA1_S_eulerlocate_d             1
76#define         YA2_S_eulerlocate_d             87
77#define         YA3_S_eulerlocate_d             58
78#define         YA2A3_S_eulerlocate_d           5046
79#define         YDIM_S_eulerlocate_d            3
80#define         YNB_S_eulerlocate_d             5046
81#define         Yid_S_eulerlocate_d     5
82
83/*----------------- GENERATION OF MODULES... -------------*/
84
85//~~~~~~~~~~~~~~~~~~~~~~~~~ module r_float~~~~~~~~~~~~~~~~~~~~~~~~~
86#define Yid_r_float 0
87/*M1_VALST  */ #define   Ydelta_r_float(v, i, t)                 Yr_float[i]->Ydelta[t][v] 
88/*M1_VALST  */ #define   YD_r_float(v, i, t)             Yr_float[i]->Ydelta[t][v] 
89/*M1_VALSIT */ #define   YD1_r_float(i, t)               Yr_float[i]->Ydelta[t][0] 
90/*M1_VALSIT */ #define   YD2_r_float(i, t)               Yr_float[i]->Ydelta[t][1] 
91/*M1_HERESIT*/ #define   YD1Y_r_float            Yr_float[Yi]->Ydelta[YTemps][0] 
92/*M1_HERESIT*/ #define   YD2Y_r_float            Yr_float[Yi]->Ydelta[YTemps][1] 
93
94class Yaor_float;
95class r_float;
96/*NBSMOD    */ #define   YNBS_r_float    2
97/*NBIMOD    */ #define   YNBI_r_float    4
98/*M1_IRMOD  */ #define   Yr_float(i)     Yr_float[i]
99/*M1_NOWMOD */ #define   Yr_floatY               Yr_float[Yi]
100/*M1_VALST  */ #define   Ystate_r_float(v, i, t)                 Yr_float[i]->Ystate[t][v] 
101/*M1_VALST  */ #define   YS_r_float(v, i, t)             Yr_float[i]->Ystate[t][v] 
102/*M1_VALSIT */ #define   YS1_r_float(i, t)               Yr_float[i]->Ystate[t][0] 
103/*M1_HERESIT*/ #define   YS1Y_r_float            Yr_float[Yi]->Ystate[YTemps][0] 
104/*M1_VALSIT */ #define   YS2_r_float(i, t)               Yr_float[i]->Ystate[t][1] 
105/*M1_HERESIT*/ #define   YS2Y_r_float            Yr_float[Yi]->Ystate[YTemps][1] 
106/*M1_VALST  */ #define   Ygrad_r_float(v, i, t)                  Yr_float[i]->Ygrad[t][v] 
107/*M1_VALST  */ #define   YG_r_float(v, i, t)             Yr_float[i]->Ygrad[t][v] 
108/*M1_VALSIT */ #define   YG1_r_float(i, t)               Yr_float[i]->Ygrad[t][0] 
109/*M1_HERESIT*/ #define   YG1Y_r_float            Yr_float[Yi]->Ygrad[YTemps][0] 
110/*M1_VALSIT */ #define   YG2_r_float(i, t)               Yr_float[i]->Ygrad[t][1] 
111/*M1_HERESIT*/ #define   YG2Y_r_float            Yr_float[Yi]->Ygrad[YTemps][1] 
112r_float                  *Yr_float[YA1_S_float];
113
114//~~~~~~~~~~~~~~~~~~~~~~~~~ module ur~~~~~~~~~~~~~~~~~~~~~~~~~
115#define Yid_ur 1
116/*M1_VALST  */ #define   Ydelta_ur(v, i, t)              Yur[i]->Ydelta[t][v] 
117/*M1_VALST  */ #define   YD_ur(v, i, t)                  Yur[i]->Ydelta[t][v] 
118/*M1_VALSIT */ #define   YD1_ur(i, t)            Yur[i]->Ydelta[t][0] 
119/*M1_VALSIT */ #define   YD2_ur(i, t)            Yur[i]->Ydelta[t][1] 
120/*M1_HERESIT*/ #define   YD1Y_ur                 Yur[Yi]->Ydelta[YTemps][0] 
121/*M1_HERESIT*/ #define   YD2Y_ur                 Yur[Yi]->Ydelta[YTemps][1] 
122
123class Yaour;
124class ur;
125/*NBSMOD    */ #define   YNBS_ur         2
126/*NBIMOD    */ #define   YNBI_ur         18
127/*M1_IRMOD  */ #define   Yur(i)          Yur[i]
128/*M1_NOWMOD */ #define   YurY            Yur[Yi]
129/*M1_VALST  */ #define   Ystate_ur(v, i, t)              Yur[i]->Ystate[t][v] 
130/*M1_VALST  */ #define   YS_ur(v, i, t)                  Yur[i]->Ystate[t][v] 
131/*M1_VALSIT */ #define   YS1_ur(i, t)            Yur[i]->Ystate[t][0] 
132/*M1_HERESIT*/ #define   YS1Y_ur                 Yur[Yi]->Ystate[YTemps][0] 
133/*M1_VALSIT */ #define   YS2_ur(i, t)            Yur[i]->Ystate[t][1] 
134/*M1_HERESIT*/ #define   YS2Y_ur                 Yur[Yi]->Ystate[YTemps][1] 
135/*M1_VALST  */ #define   Ygrad_ur(v, i, t)               Yur[i]->Ygrad[t][v] 
136/*M1_VALST  */ #define   YG_ur(v, i, t)                  Yur[i]->Ygrad[t][v] 
137/*M1_VALSIT */ #define   YG1_ur(i, t)            Yur[i]->Ygrad[t][0] 
138/*M1_HERESIT*/ #define   YG1Y_ur                 Yur[Yi]->Ygrad[YTemps][0] 
139/*M1_VALSIT */ #define   YG2_ur(i, t)            Yur[i]->Ygrad[t][1] 
140/*M1_HERESIT*/ #define   YG2Y_ur                 Yur[Yi]->Ygrad[YTemps][1] 
141ur               *Yur[YA1_S_float];
142
143//~~~~~~~~~~~~~~~~~~~~~~~~~ module uinter~~~~~~~~~~~~~~~~~~~~~~~~~
144#define Yid_uinter 2
145/*M1_VALST  */ #define   Ydelta_uinter(v, i, t)                  Yuinter[i]->Ydelta[t][v] 
146/*M1_VALST  */ #define   YD_uinter(v, i, t)              Yuinter[i]->Ydelta[t][v] 
147/*M1_VALSIT */ #define   YD1_uinter(i, t)                Yuinter[i]->Ydelta[t][0] 
148/*M1_VALSIT */ #define   YD2_uinter(i, t)                Yuinter[i]->Ydelta[t][1] 
149/*M1_VALSIT */ #define   YD3_uinter(i, t)                Yuinter[i]->Ydelta[t][2] 
150/*M1_VALSIT */ #define   YD4_uinter(i, t)                Yuinter[i]->Ydelta[t][3] 
151/*M1_VALSIT */ #define   YD5_uinter(i, t)                Yuinter[i]->Ydelta[t][4] 
152/*M1_VALSIT */ #define   YD6_uinter(i, t)                Yuinter[i]->Ydelta[t][5] 
153/*M1_VALSIT */ #define   YD7_uinter(i, t)                Yuinter[i]->Ydelta[t][6] 
154/*M1_VALSIT */ #define   YD8_uinter(i, t)                Yuinter[i]->Ydelta[t][7] 
155/*M1_HERESIT*/ #define   YD1Y_uinter             Yuinter[Yi]->Ydelta[YTemps][0] 
156/*M1_HERESIT*/ #define   YD2Y_uinter             Yuinter[Yi]->Ydelta[YTemps][1] 
157/*M1_HERESIT*/ #define   YD3Y_uinter             Yuinter[Yi]->Ydelta[YTemps][2] 
158/*M1_HERESIT*/ #define   YD4Y_uinter             Yuinter[Yi]->Ydelta[YTemps][3] 
159/*M1_HERESIT*/ #define   YD5Y_uinter             Yuinter[Yi]->Ydelta[YTemps][4] 
160/*M1_HERESIT*/ #define   YD6Y_uinter             Yuinter[Yi]->Ydelta[YTemps][5] 
161/*M1_HERESIT*/ #define   YD7Y_uinter             Yuinter[Yi]->Ydelta[YTemps][6] 
162/*M1_HERESIT*/ #define   YD8Y_uinter             Yuinter[Yi]->Ydelta[YTemps][7] 
163
164class Yaouinter;
165/*NBSMOD    */ #define   YNBS_uinter     8
166/*M1_IRMOD  */ #define   Yuinter(i)      Yuinter[i]
167/*M1_NOWMOD */ #define   YuinterY                Yuinter[Yi]
168/*M1_VALST  */ #define   Ystate_uinter(v, i, t)                  Yuinter[i]->Ystate[t][v] 
169/*M1_VALST  */ #define   YS_uinter(v, i, t)              Yuinter[i]->Ystate[t][v] 
170/*M1_VALSIT */ #define   YS1_uinter(i, t)                Yuinter[i]->Ystate[t][0] 
171/*M1_HERESIT*/ #define   YS1Y_uinter             Yuinter[Yi]->Ystate[YTemps][0] 
172/*M1_VALSIT */ #define   YS2_uinter(i, t)                Yuinter[i]->Ystate[t][1] 
173/*M1_HERESIT*/ #define   YS2Y_uinter             Yuinter[Yi]->Ystate[YTemps][1] 
174/*M1_VALSIT */ #define   YS3_uinter(i, t)                Yuinter[i]->Ystate[t][2] 
175/*M1_HERESIT*/ #define   YS3Y_uinter             Yuinter[Yi]->Ystate[YTemps][2] 
176/*M1_VALSIT */ #define   YS4_uinter(i, t)                Yuinter[i]->Ystate[t][3] 
177/*M1_HERESIT*/ #define   YS4Y_uinter             Yuinter[Yi]->Ystate[YTemps][3] 
178/*M1_VALSIT */ #define   YS5_uinter(i, t)                Yuinter[i]->Ystate[t][4] 
179/*M1_HERESIT*/ #define   YS5Y_uinter             Yuinter[Yi]->Ystate[YTemps][4] 
180/*M1_VALSIT */ #define   YS6_uinter(i, t)                Yuinter[i]->Ystate[t][5] 
181/*M1_HERESIT*/ #define   YS6Y_uinter             Yuinter[Yi]->Ystate[YTemps][5] 
182/*M1_VALSIT */ #define   YS7_uinter(i, t)                Yuinter[i]->Ystate[t][6] 
183/*M1_HERESIT*/ #define   YS7Y_uinter             Yuinter[Yi]->Ystate[YTemps][6] 
184/*M1_VALSIT */ #define   YS8_uinter(i, t)                Yuinter[i]->Ystate[t][7] 
185/*M1_HERESIT*/ #define   YS8Y_uinter             Yuinter[Yi]->Ystate[YTemps][7] 
186/*M1_VALST  */ #define   Ygrad_uinter(v, i, t)           Yuinter[i]->Ygrad[t][v] 
187/*M1_VALST  */ #define   YG_uinter(v, i, t)              Yuinter[i]->Ygrad[t][v] 
188/*M1_VALSIT */ #define   YG1_uinter(i, t)                Yuinter[i]->Ygrad[t][0] 
189/*M1_HERESIT*/ #define   YG1Y_uinter             Yuinter[Yi]->Ygrad[YTemps][0] 
190/*M1_VALSIT */ #define   YG2_uinter(i, t)                Yuinter[i]->Ygrad[t][1] 
191/*M1_HERESIT*/ #define   YG2Y_uinter             Yuinter[Yi]->Ygrad[YTemps][1] 
192/*M1_VALSIT */ #define   YG3_uinter(i, t)                Yuinter[i]->Ygrad[t][2] 
193/*M1_HERESIT*/ #define   YG3Y_uinter             Yuinter[Yi]->Ygrad[YTemps][2] 
194/*M1_VALSIT */ #define   YG4_uinter(i, t)                Yuinter[i]->Ygrad[t][3] 
195/*M1_HERESIT*/ #define   YG4Y_uinter             Yuinter[Yi]->Ygrad[YTemps][3] 
196/*M1_VALSIT */ #define   YG5_uinter(i, t)                Yuinter[i]->Ygrad[t][4] 
197/*M1_HERESIT*/ #define   YG5Y_uinter             Yuinter[Yi]->Ygrad[YTemps][4] 
198/*M1_VALSIT */ #define   YG6_uinter(i, t)                Yuinter[i]->Ygrad[t][5] 
199/*M1_HERESIT*/ #define   YG6Y_uinter             Yuinter[Yi]->Ygrad[YTemps][5] 
200/*M1_VALSIT */ #define   YG7_uinter(i, t)                Yuinter[i]->Ygrad[t][6] 
201/*M1_HERESIT*/ #define   YG7Y_uinter             Yuinter[Yi]->Ygrad[YTemps][6] 
202/*M1_VALSIT */ #define   YG8_uinter(i, t)                Yuinter[i]->Ygrad[t][7] 
203/*M1_HERESIT*/ #define   YG8Y_uinter             Yuinter[Yi]->Ygrad[YTemps][7] 
204Yaouinter                *Yuinter[YA1_S_float];
205
206//~~~~~~~~~~~~~~~~~~~~~~~~~ module xinter~~~~~~~~~~~~~~~~~~~~~~~~~
207#define Yid_xinter 3
208/*M1_VALST  */ #define   Ydelta_xinter(v, i, t)                  Yxinter[i]->Ydelta[t][v] 
209/*M1_VALST  */ #define   YD_xinter(v, i, t)              Yxinter[i]->Ydelta[t][v] 
210/*M1_VALSIT */ #define   YD1_xinter(i, t)                Yxinter[i]->Ydelta[t][0] 
211/*M1_VALSIT */ #define   YD2_xinter(i, t)                Yxinter[i]->Ydelta[t][1] 
212/*M1_VALSIT */ #define   YD3_xinter(i, t)                Yxinter[i]->Ydelta[t][2] 
213/*M1_VALSIT */ #define   YD4_xinter(i, t)                Yxinter[i]->Ydelta[t][3] 
214/*M1_VALSIT */ #define   YD5_xinter(i, t)                Yxinter[i]->Ydelta[t][4] 
215/*M1_VALSIT */ #define   YD6_xinter(i, t)                Yxinter[i]->Ydelta[t][5] 
216/*M1_VALSIT */ #define   YD7_xinter(i, t)                Yxinter[i]->Ydelta[t][6] 
217/*M1_VALSIT */ #define   YD8_xinter(i, t)                Yxinter[i]->Ydelta[t][7] 
218/*M1_HERESIT*/ #define   YD1Y_xinter             Yxinter[Yi]->Ydelta[YTemps][0] 
219/*M1_HERESIT*/ #define   YD2Y_xinter             Yxinter[Yi]->Ydelta[YTemps][1] 
220/*M1_HERESIT*/ #define   YD3Y_xinter             Yxinter[Yi]->Ydelta[YTemps][2] 
221/*M1_HERESIT*/ #define   YD4Y_xinter             Yxinter[Yi]->Ydelta[YTemps][3] 
222/*M1_HERESIT*/ #define   YD5Y_xinter             Yxinter[Yi]->Ydelta[YTemps][4] 
223/*M1_HERESIT*/ #define   YD6Y_xinter             Yxinter[Yi]->Ydelta[YTemps][5] 
224/*M1_HERESIT*/ #define   YD7Y_xinter             Yxinter[Yi]->Ydelta[YTemps][6] 
225/*M1_HERESIT*/ #define   YD8Y_xinter             Yxinter[Yi]->Ydelta[YTemps][7] 
226
227class Yaoxinter;
228/*NBSMOD    */ #define   YNBS_xinter     8
229/*M1_IRMOD  */ #define   Yxinter(i)      Yxinter[i]
230/*M1_NOWMOD */ #define   YxinterY                Yxinter[Yi]
231/*M1_VALST  */ #define   Ystate_xinter(v, i, t)                  Yxinter[i]->Ystate[t][v] 
232/*M1_VALST  */ #define   YS_xinter(v, i, t)              Yxinter[i]->Ystate[t][v] 
233/*M1_VALSIT */ #define   YS1_xinter(i, t)                Yxinter[i]->Ystate[t][0] 
234/*M1_HERESIT*/ #define   YS1Y_xinter             Yxinter[Yi]->Ystate[YTemps][0] 
235/*M1_VALSIT */ #define   YS2_xinter(i, t)                Yxinter[i]->Ystate[t][1] 
236/*M1_HERESIT*/ #define   YS2Y_xinter             Yxinter[Yi]->Ystate[YTemps][1] 
237/*M1_VALSIT */ #define   YS3_xinter(i, t)                Yxinter[i]->Ystate[t][2] 
238/*M1_HERESIT*/ #define   YS3Y_xinter             Yxinter[Yi]->Ystate[YTemps][2] 
239/*M1_VALSIT */ #define   YS4_xinter(i, t)                Yxinter[i]->Ystate[t][3] 
240/*M1_HERESIT*/ #define   YS4Y_xinter             Yxinter[Yi]->Ystate[YTemps][3] 
241/*M1_VALSIT */ #define   YS5_xinter(i, t)                Yxinter[i]->Ystate[t][4] 
242/*M1_HERESIT*/ #define   YS5Y_xinter             Yxinter[Yi]->Ystate[YTemps][4] 
243/*M1_VALSIT */ #define   YS6_xinter(i, t)                Yxinter[i]->Ystate[t][5] 
244/*M1_HERESIT*/ #define   YS6Y_xinter             Yxinter[Yi]->Ystate[YTemps][5] 
245/*M1_VALSIT */ #define   YS7_xinter(i, t)                Yxinter[i]->Ystate[t][6] 
246/*M1_HERESIT*/ #define   YS7Y_xinter             Yxinter[Yi]->Ystate[YTemps][6] 
247/*M1_VALSIT */ #define   YS8_xinter(i, t)                Yxinter[i]->Ystate[t][7] 
248/*M1_HERESIT*/ #define   YS8Y_xinter             Yxinter[Yi]->Ystate[YTemps][7] 
249/*M1_VALST  */ #define   Ygrad_xinter(v, i, t)           Yxinter[i]->Ygrad[t][v] 
250/*M1_VALST  */ #define   YG_xinter(v, i, t)              Yxinter[i]->Ygrad[t][v] 
251/*M1_VALSIT */ #define   YG1_xinter(i, t)                Yxinter[i]->Ygrad[t][0] 
252/*M1_HERESIT*/ #define   YG1Y_xinter             Yxinter[Yi]->Ygrad[YTemps][0] 
253/*M1_VALSIT */ #define   YG2_xinter(i, t)                Yxinter[i]->Ygrad[t][1] 
254/*M1_HERESIT*/ #define   YG2Y_xinter             Yxinter[Yi]->Ygrad[YTemps][1] 
255/*M1_VALSIT */ #define   YG3_xinter(i, t)                Yxinter[i]->Ygrad[t][2] 
256/*M1_HERESIT*/ #define   YG3Y_xinter             Yxinter[Yi]->Ygrad[YTemps][2] 
257/*M1_VALSIT */ #define   YG4_xinter(i, t)                Yxinter[i]->Ygrad[t][3] 
258/*M1_HERESIT*/ #define   YG4Y_xinter             Yxinter[Yi]->Ygrad[YTemps][3] 
259/*M1_VALSIT */ #define   YG5_xinter(i, t)                Yxinter[i]->Ygrad[t][4] 
260/*M1_HERESIT*/ #define   YG5Y_xinter             Yxinter[Yi]->Ygrad[YTemps][4] 
261/*M1_VALSIT */ #define   YG6_xinter(i, t)                Yxinter[i]->Ygrad[t][5] 
262/*M1_HERESIT*/ #define   YG6Y_xinter             Yxinter[Yi]->Ygrad[YTemps][5] 
263/*M1_VALSIT */ #define   YG7_xinter(i, t)                Yxinter[i]->Ygrad[t][6] 
264/*M1_HERESIT*/ #define   YG7Y_xinter             Yxinter[Yi]->Ygrad[YTemps][6] 
265/*M1_VALSIT */ #define   YG8_xinter(i, t)                Yxinter[i]->Ygrad[t][7] 
266/*M1_HERESIT*/ #define   YG8Y_xinter             Yxinter[Yi]->Ygrad[YTemps][7] 
267Yaoxinter                *Yxinter[YA1_S_float];
268
269//~~~~~~~~~~~~~~~~~~~~~~~~~ module u~~~~~~~~~~~~~~~~~~~~~~~~~
270#define Yid_u 4
271/*M2_VALST  */ #define   Ydelta_u(v, i, j, t)            Yu[i][j]->Ydelta[t][v] 
272/*M2_VALST  */ #define   YD_u(v, i, j, t)                Yu[i][j]->Ydelta[t][v] 
273/*M2_VALSIT */ #define   YD1_u(i, j, t)                  Yu[i][j]->Ydelta[t][0] 
274/*M2_HERESIT*/ #define   YD1Y_u                  Yu[Yi][Yj]->Ydelta[YTemps][0] 
275
276class Yaou;
277/*NBSMOD    */ #define   YNBS_u          1
278/*M2_IRMOD  */ #define   Yu(i, j)        Yu[i][j]
279/*M2_NOWMOD */ #define   YuY             Yu[Yi][Yj]
280/*M2_VALSG  */ #define   Ystate_u(v, i, j)               Yu[i][j]->Ystate[v] 
281/*M2_VALSG  */ #define   YS_u(v, i, j)           Yu[i][j]->Ystate[v] 
282/*M2_VALSGI */ #define   YS1_u(i, j)             Yu[i][j]->Ystate[0] 
283/*M2_HERESGI*/ #define   YS1Y_u                  Yu[Yi][Yj]->Ystate[0] 
284/*M2_VALSG  */ #define   Ygrad_u(v, i, j)                Yu[i][j]->Ygrad[v] 
285/*M2_VALSG  */ #define   YG_u(v, i, j)           Yu[i][j]->Ygrad[v] 
286/*M2_VALSGI */ #define   YG1_u(i, j)             Yu[i][j]->Ygrad[0] 
287/*M2_HERESGI*/ #define   YG1Y_u                  Yu[Yi][Yj]->Ygrad[0] 
288Yaou             *Yu[YA1_S_euler][YA2_S_euler];
289
290//~~~~~~~~~~~~~~~~~~~~~~~~~ module v~~~~~~~~~~~~~~~~~~~~~~~~~
291#define Yid_v 5
292/*M2_VALST  */ #define   Ydelta_v(v, i, j, t)            Yv[i][j]->Ydelta[t][v] 
293/*M2_VALST  */ #define   YD_v(v, i, j, t)                Yv[i][j]->Ydelta[t][v] 
294/*M2_VALSIT */ #define   YD1_v(i, j, t)                  Yv[i][j]->Ydelta[t][0] 
295/*M2_HERESIT*/ #define   YD1Y_v                  Yv[Yi][Yj]->Ydelta[YTemps][0] 
296
297class Yaov;
298/*NBSMOD    */ #define   YNBS_v          1
299/*M2_IRMOD  */ #define   Yv(i, j)        Yv[i][j]
300/*M2_NOWMOD */ #define   YvY             Yv[Yi][Yj]
301/*M2_VALSG  */ #define   Ystate_v(v, i, j)               Yv[i][j]->Ystate[v] 
302/*M2_VALSG  */ #define   YS_v(v, i, j)           Yv[i][j]->Ystate[v] 
303/*M2_VALSGI */ #define   YS1_v(i, j)             Yv[i][j]->Ystate[0] 
304/*M2_HERESGI*/ #define   YS1Y_v                  Yv[Yi][Yj]->Ystate[0] 
305/*M2_VALSG  */ #define   Ygrad_v(v, i, j)                Yv[i][j]->Ygrad[v] 
306/*M2_VALSG  */ #define   YG_v(v, i, j)           Yv[i][j]->Ygrad[v] 
307/*M2_VALSGI */ #define   YG1_v(i, j)             Yv[i][j]->Ygrad[0] 
308/*M2_HERESGI*/ #define   YG1Y_v                  Yv[Yi][Yj]->Ygrad[0] 
309Yaov             *Yv[YA1_S_euler][YA2_S_euler];
310
311//~~~~~~~~~~~~~~~~~~~~~~~~~ module locate~~~~~~~~~~~~~~~~~~~~~~~~~
312#define Yid_locate 6
313/*M3_VALST  */ #define   Ydelta_locate(v, i, j, k, t)    Ylocate[i][j][k]->Ydelta[t][v] 
314/*M3_VALST  */ #define   YD_locate(v, i, j, k, t)                Ylocate[i][j][k]->Ydelta[t][v] 
315/*M3_VALSIT */ #define   YD1_locate(i, j, k, t)                  Ylocate[i][j][k]->Ydelta[t][0] 
316/*M3_HERESIT*/ #define   YD1Y_locate             Ylocate[Yi][Yj][Yk]->Ydelta[YTemps][0] 
317
318class Yaolocate;
319class locate;
320/*NBSMOD    */ #define   YNBS_locate     1
321/*NBIMOD    */ #define   YNBI_locate     2
322/*M3_IRMOD  */ #define   Ylocate(i, j, k)        Ylocate[i][j][k]
323/*M3_NOWMOD */ #define   YlocateY                Ylocate[Yi][Yj][Yk]
324/*M3_VALST  */ #define   Ystate_locate(v, i, j, k, t)    Ylocate[i][j][k]->Ystate[t][v] 
325/*M3_VALST  */ #define   YS_locate(v, i, j, k, t)                Ylocate[i][j][k]->Ystate[t][v] 
326/*M3_VALSIT */ #define   YS1_locate(i, j, k, t)                  Ylocate[i][j][k]->Ystate[t][0] 
327/*M3_HERESIT*/ #define   YS1Y_locate             Ylocate[Yi][Yj][Yk]->Ystate[YTemps][0] 
328/*M3_VALST  */ #define   Ygrad_locate(v, i, j, k, t)     Ylocate[i][j][k]->Ygrad[t][v] 
329/*M3_VALST  */ #define   YG_locate(v, i, j, k, t)                Ylocate[i][j][k]->Ygrad[t][v] 
330/*M3_VALSIT */ #define   YG1_locate(i, j, k, t)                  Ylocate[i][j][k]->Ygrad[t][0] 
331/*M3_HERESIT*/ #define   YG1Y_locate             Ylocate[Yi][Yj][Yk]->Ygrad[YTemps][0] 
332locate           *Ylocate[YA1_S_eulerlocate][YA2_S_eulerlocate][YA3_S_eulerlocate];
333
334//~~~~~~~~~~~~~~~~~~~~~~~~~ module r_float_d~~~~~~~~~~~~~~~~~~~~~~~~~
335#define Yid_r_float_d 7
336/*M1_VALST  */ #define   Ydelta_r_float_d(v, i, t)               Yr_float_d[i]->Ydelta[t][v] 
337/*M1_VALST  */ #define   YD_r_float_d(v, i, t)           Yr_float_d[i]->Ydelta[t][v] 
338/*M1_VALSIT */ #define   YD1_r_float_d(i, t)             Yr_float_d[i]->Ydelta[t][0] 
339/*M1_VALSIT */ #define   YD2_r_float_d(i, t)             Yr_float_d[i]->Ydelta[t][1] 
340/*M1_HERESIT*/ #define   YD1Y_r_float_d                  Yr_float_d[Yi]->Ydelta[YTemps][0] 
341/*M1_HERESIT*/ #define   YD2Y_r_float_d                  Yr_float_d[Yi]->Ydelta[YTemps][1] 
342
343class Yaor_float_d;
344class r_float_d;
345/*NBSMOD    */ #define   YNBS_r_float_d          2
346/*NBIMOD    */ #define   YNBI_r_float_d          4
347/*M1_IRMOD  */ #define   Yr_float_d(i)   Yr_float_d[i]
348/*M1_NOWMOD */ #define   Yr_float_dY             Yr_float_d[Yi]
349/*M1_VALST  */ #define   Ystate_r_float_d(v, i, t)               Yr_float_d[i]->Ystate[t][v] 
350/*M1_VALST  */ #define   YS_r_float_d(v, i, t)           Yr_float_d[i]->Ystate[t][v] 
351/*M1_VALSIT */ #define   YS1_r_float_d(i, t)             Yr_float_d[i]->Ystate[t][0] 
352/*M1_HERESIT*/ #define   YS1Y_r_float_d                  Yr_float_d[Yi]->Ystate[YTemps][0] 
353/*M1_VALSIT */ #define   YS2_r_float_d(i, t)             Yr_float_d[i]->Ystate[t][1] 
354/*M1_HERESIT*/ #define   YS2Y_r_float_d                  Yr_float_d[Yi]->Ystate[YTemps][1] 
355/*M1_VALST  */ #define   Ygrad_r_float_d(v, i, t)                Yr_float_d[i]->Ygrad[t][v] 
356/*M1_VALST  */ #define   YG_r_float_d(v, i, t)           Yr_float_d[i]->Ygrad[t][v] 
357/*M1_VALSIT */ #define   YG1_r_float_d(i, t)             Yr_float_d[i]->Ygrad[t][0] 
358/*M1_HERESIT*/ #define   YG1Y_r_float_d                  Yr_float_d[Yi]->Ygrad[YTemps][0] 
359/*M1_VALSIT */ #define   YG2_r_float_d(i, t)             Yr_float_d[i]->Ygrad[t][1] 
360/*M1_HERESIT*/ #define   YG2Y_r_float_d                  Yr_float_d[Yi]->Ygrad[YTemps][1] 
361r_float_d                *Yr_float_d[YA1_S_float_d];
362
363//~~~~~~~~~~~~~~~~~~~~~~~~~ module ur_d~~~~~~~~~~~~~~~~~~~~~~~~~
364#define Yid_ur_d 8
365/*M1_VALST  */ #define   Ydelta_ur_d(v, i, t)            Yur_d[i]->Ydelta[t][v] 
366/*M1_VALST  */ #define   YD_ur_d(v, i, t)                Yur_d[i]->Ydelta[t][v] 
367/*M1_VALSIT */ #define   YD1_ur_d(i, t)                  Yur_d[i]->Ydelta[t][0] 
368/*M1_VALSIT */ #define   YD2_ur_d(i, t)                  Yur_d[i]->Ydelta[t][1] 
369/*M1_HERESIT*/ #define   YD1Y_ur_d               Yur_d[Yi]->Ydelta[YTemps][0] 
370/*M1_HERESIT*/ #define   YD2Y_ur_d               Yur_d[Yi]->Ydelta[YTemps][1] 
371
372class Yaour_d;
373class ur_d;
374/*NBSMOD    */ #define   YNBS_ur_d       2
375/*NBIMOD    */ #define   YNBI_ur_d       18
376/*M1_IRMOD  */ #define   Yur_d(i)        Yur_d[i]
377/*M1_NOWMOD */ #define   Yur_dY                  Yur_d[Yi]
378/*M1_VALST  */ #define   Ystate_ur_d(v, i, t)            Yur_d[i]->Ystate[t][v] 
379/*M1_VALST  */ #define   YS_ur_d(v, i, t)                Yur_d[i]->Ystate[t][v] 
380/*M1_VALSIT */ #define   YS1_ur_d(i, t)                  Yur_d[i]->Ystate[t][0] 
381/*M1_HERESIT*/ #define   YS1Y_ur_d               Yur_d[Yi]->Ystate[YTemps][0] 
382/*M1_VALSIT */ #define   YS2_ur_d(i, t)                  Yur_d[i]->Ystate[t][1] 
383/*M1_HERESIT*/ #define   YS2Y_ur_d               Yur_d[Yi]->Ystate[YTemps][1] 
384/*M1_VALST  */ #define   Ygrad_ur_d(v, i, t)             Yur_d[i]->Ygrad[t][v] 
385/*M1_VALST  */ #define   YG_ur_d(v, i, t)                Yur_d[i]->Ygrad[t][v] 
386/*M1_VALSIT */ #define   YG1_ur_d(i, t)                  Yur_d[i]->Ygrad[t][0] 
387/*M1_HERESIT*/ #define   YG1Y_ur_d               Yur_d[Yi]->Ygrad[YTemps][0] 
388/*M1_VALSIT */ #define   YG2_ur_d(i, t)                  Yur_d[i]->Ygrad[t][1] 
389/*M1_HERESIT*/ #define   YG2Y_ur_d               Yur_d[Yi]->Ygrad[YTemps][1] 
390ur_d             *Yur_d[YA1_S_float_d];
391
392//~~~~~~~~~~~~~~~~~~~~~~~~~ module uinter_d~~~~~~~~~~~~~~~~~~~~~~~~~
393#define Yid_uinter_d 9
394/*M1_VALST  */ #define   Ydelta_uinter_d(v, i, t)                Yuinter_d[i]->Ydelta[t][v] 
395/*M1_VALST  */ #define   YD_uinter_d(v, i, t)            Yuinter_d[i]->Ydelta[t][v] 
396/*M1_VALSIT */ #define   YD1_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][0] 
397/*M1_VALSIT */ #define   YD2_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][1] 
398/*M1_VALSIT */ #define   YD3_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][2] 
399/*M1_VALSIT */ #define   YD4_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][3] 
400/*M1_VALSIT */ #define   YD5_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][4] 
401/*M1_VALSIT */ #define   YD6_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][5] 
402/*M1_VALSIT */ #define   YD7_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][6] 
403/*M1_VALSIT */ #define   YD8_uinter_d(i, t)              Yuinter_d[i]->Ydelta[t][7] 
404/*M1_HERESIT*/ #define   YD1Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][0] 
405/*M1_HERESIT*/ #define   YD2Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][1] 
406/*M1_HERESIT*/ #define   YD3Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][2] 
407/*M1_HERESIT*/ #define   YD4Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][3] 
408/*M1_HERESIT*/ #define   YD5Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][4] 
409/*M1_HERESIT*/ #define   YD6Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][5] 
410/*M1_HERESIT*/ #define   YD7Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][6] 
411/*M1_HERESIT*/ #define   YD8Y_uinter_d           Yuinter_d[Yi]->Ydelta[YTemps][7] 
412
413class Yaouinter_d;
414/*NBSMOD    */ #define   YNBS_uinter_d   8
415/*M1_IRMOD  */ #define   Yuinter_d(i)    Yuinter_d[i]
416/*M1_NOWMOD */ #define   Yuinter_dY              Yuinter_d[Yi]
417/*M1_VALST  */ #define   Ystate_uinter_d(v, i, t)                Yuinter_d[i]->Ystate[t][v] 
418/*M1_VALST  */ #define   YS_uinter_d(v, i, t)            Yuinter_d[i]->Ystate[t][v] 
419/*M1_VALSIT */ #define   YS1_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][0] 
420/*M1_HERESIT*/ #define   YS1Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][0] 
421/*M1_VALSIT */ #define   YS2_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][1] 
422/*M1_HERESIT*/ #define   YS2Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][1] 
423/*M1_VALSIT */ #define   YS3_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][2] 
424/*M1_HERESIT*/ #define   YS3Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][2] 
425/*M1_VALSIT */ #define   YS4_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][3] 
426/*M1_HERESIT*/ #define   YS4Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][3] 
427/*M1_VALSIT */ #define   YS5_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][4] 
428/*M1_HERESIT*/ #define   YS5Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][4] 
429/*M1_VALSIT */ #define   YS6_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][5] 
430/*M1_HERESIT*/ #define   YS6Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][5] 
431/*M1_VALSIT */ #define   YS7_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][6] 
432/*M1_HERESIT*/ #define   YS7Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][6] 
433/*M1_VALSIT */ #define   YS8_uinter_d(i, t)              Yuinter_d[i]->Ystate[t][7] 
434/*M1_HERESIT*/ #define   YS8Y_uinter_d           Yuinter_d[Yi]->Ystate[YTemps][7] 
435/*M1_VALST  */ #define   Ygrad_uinter_d(v, i, t)                 Yuinter_d[i]->Ygrad[t][v] 
436/*M1_VALST  */ #define   YG_uinter_d(v, i, t)            Yuinter_d[i]->Ygrad[t][v] 
437/*M1_VALSIT */ #define   YG1_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][0] 
438/*M1_HERESIT*/ #define   YG1Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][0] 
439/*M1_VALSIT */ #define   YG2_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][1] 
440/*M1_HERESIT*/ #define   YG2Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][1] 
441/*M1_VALSIT */ #define   YG3_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][2] 
442/*M1_HERESIT*/ #define   YG3Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][2] 
443/*M1_VALSIT */ #define   YG4_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][3] 
444/*M1_HERESIT*/ #define   YG4Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][3] 
445/*M1_VALSIT */ #define   YG5_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][4] 
446/*M1_HERESIT*/ #define   YG5Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][4] 
447/*M1_VALSIT */ #define   YG6_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][5] 
448/*M1_HERESIT*/ #define   YG6Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][5] 
449/*M1_VALSIT */ #define   YG7_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][6] 
450/*M1_HERESIT*/ #define   YG7Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][6] 
451/*M1_VALSIT */ #define   YG8_uinter_d(i, t)              Yuinter_d[i]->Ygrad[t][7] 
452/*M1_HERESIT*/ #define   YG8Y_uinter_d           Yuinter_d[Yi]->Ygrad[YTemps][7] 
453Yaouinter_d              *Yuinter_d[YA1_S_float_d];
454
455//~~~~~~~~~~~~~~~~~~~~~~~~~ module u_d~~~~~~~~~~~~~~~~~~~~~~~~~
456#define Yid_u_d 10
457#define YNBPTARGET_u_d 0
458#define YDEBTARGET_u_d 0
459#define YENDTARGET_u_d 0
460/*M2_VALST  */ #define   Ydelta_u_d(v, i, j, t)                  Yu_d[i][j]->Ydelta[t][v] 
461/*M2_VALST  */ #define   YD_u_d(v, i, j, t)              Yu_d[i][j]->Ydelta[t][v] 
462/*M2_VALSIT */ #define   YD1_u_d(i, j, t)                Yu_d[i][j]->Ydelta[t][0] 
463/*M2_HERESIT*/ #define   YD1Y_u_d                Yu_d[Yi][Yj]->Ydelta[YTemps][0] 
464
465class Yaou_d;
466/*NBSMOD    */ #define   YNBS_u_d        1
467/*M2_IRMOD  */ #define   Yu_d(i, j)      Yu_d[i][j]
468/*M2_NOWMOD */ #define   Yu_dY           Yu_d[Yi][Yj]
469/*M2_VALSG  */ #define   Ystate_u_d(v, i, j)             Yu_d[i][j]->Ystate[v] 
470/*M2_VALSG  */ #define   YS_u_d(v, i, j)                 Yu_d[i][j]->Ystate[v] 
471/*M2_VALSGI */ #define   YS1_u_d(i, j)           Yu_d[i][j]->Ystate[0] 
472/*M2_HERESGI*/ #define   YS1Y_u_d                Yu_d[Yi][Yj]->Ystate[0] 
473/*M2_VALSG  */ #define   Ygrad_u_d(v, i, j)              Yu_d[i][j]->Ygrad[v] 
474/*M2_VALSG  */ #define   YG_u_d(v, i, j)                 Yu_d[i][j]->Ygrad[v] 
475/*M2_VALSGI */ #define   YG1_u_d(i, j)           Yu_d[i][j]->Ygrad[0] 
476/*M2_HERESGI*/ #define   YG1Y_u_d                Yu_d[Yi][Yj]->Ygrad[0] 
477/*M2_VALSG  */ #define   Yepsi_u_d(v, i, j)              Yu_d[i][j]->Yepsi[v] 
478/*M2_VALSG  */ #define   YE_u_d(v, i, j)                 Yu_d[i][j]->Yepsi[v] 
479/*M2_VALSGI */ #define   YE1_u_d(i, j)           Yu_d[i][j]->Yepsi[0] 
480Yaou_d           *Yu_d[YA1_S_euler_d][YA2_S_euler_d];
481/*M2_VALSG  */ #define   Ywish_u_d(v, i, j)              Yu_d[i][j]->Ywish[v] 
482/*M2_VALSG  */ #define   YW_u_d(v, i, j)                 Yu_d[i][j]->Ywish[v] 
483/*M2_VALSGI */ #define   YW1_u_d(i, j)           Yu_d[i][j]->Ywish[0] 
484/*M2_HERESGI*/ #define   YW1Y_u_d                Yu_d[Yi][Yj]->Ywish[0] 
485
486//~~~~~~~~~~~~~~~~~~~~~~~~~ module v_d~~~~~~~~~~~~~~~~~~~~~~~~~
487#define Yid_v_d 11
488#define YNBPTARGET_v_d 0
489#define YDEBTARGET_v_d 0
490#define YENDTARGET_v_d 0
491/*M2_VALST  */ #define   Ydelta_v_d(v, i, j, t)                  Yv_d[i][j]->Ydelta[t][v] 
492/*M2_VALST  */ #define   YD_v_d(v, i, j, t)              Yv_d[i][j]->Ydelta[t][v] 
493/*M2_VALSIT */ #define   YD1_v_d(i, j, t)                Yv_d[i][j]->Ydelta[t][0] 
494/*M2_HERESIT*/ #define   YD1Y_v_d                Yv_d[Yi][Yj]->Ydelta[YTemps][0] 
495
496class Yaov_d;
497/*NBSMOD    */ #define   YNBS_v_d        1
498/*M2_IRMOD  */ #define   Yv_d(i, j)      Yv_d[i][j]
499/*M2_NOWMOD */ #define   Yv_dY           Yv_d[Yi][Yj]
500/*M2_VALSG  */ #define   Ystate_v_d(v, i, j)             Yv_d[i][j]->Ystate[v] 
501/*M2_VALSG  */ #define   YS_v_d(v, i, j)                 Yv_d[i][j]->Ystate[v] 
502/*M2_VALSGI */ #define   YS1_v_d(i, j)           Yv_d[i][j]->Ystate[0] 
503/*M2_HERESGI*/ #define   YS1Y_v_d                Yv_d[Yi][Yj]->Ystate[0] 
504/*M2_VALSG  */ #define   Ygrad_v_d(v, i, j)              Yv_d[i][j]->Ygrad[v] 
505/*M2_VALSG  */ #define   YG_v_d(v, i, j)                 Yv_d[i][j]->Ygrad[v] 
506/*M2_VALSGI */ #define   YG1_v_d(i, j)           Yv_d[i][j]->Ygrad[0] 
507/*M2_HERESGI*/ #define   YG1Y_v_d                Yv_d[Yi][Yj]->Ygrad[0] 
508/*M2_VALSG  */ #define   Yepsi_v_d(v, i, j)              Yv_d[i][j]->Yepsi[v] 
509/*M2_VALSG  */ #define   YE_v_d(v, i, j)                 Yv_d[i][j]->Yepsi[v] 
510/*M2_VALSGI */ #define   YE1_v_d(i, j)           Yv_d[i][j]->Yepsi[0] 
511Yaov_d           *Yv_d[YA1_S_euler_d][YA2_S_euler_d];
512/*M2_VALSG  */ #define   Ywish_v_d(v, i, j)              Yv_d[i][j]->Ywish[v] 
513/*M2_VALSG  */ #define   YW_v_d(v, i, j)                 Yv_d[i][j]->Ywish[v] 
514/*M2_VALSGI */ #define   YW1_v_d(i, j)           Yv_d[i][j]->Ywish[0] 
515/*M2_HERESGI*/ #define   YW1Y_v_d                Yv_d[Yi][Yj]->Ywish[0] 
516
517//~~~~~~~~~~~~~~~~~~~~~~~~~ module locate_d~~~~~~~~~~~~~~~~~~~~~~~~~
518#define Yid_locate_d 12
519/*M3_VALST  */ #define   Ydelta_locate_d(v, i, j, k, t)          Ylocate_d[i][j][k]->Ydelta[t][v] 
520/*M3_VALST  */ #define   YD_locate_d(v, i, j, k, t)              Ylocate_d[i][j][k]->Ydelta[t][v] 
521/*M3_VALSIT */ #define   YD1_locate_d(i, j, k, t)                Ylocate_d[i][j][k]->Ydelta[t][0] 
522/*M3_HERESIT*/ #define   YD1Y_locate_d           Ylocate_d[Yi][Yj][Yk]->Ydelta[YTemps][0] 
523
524class Yaolocate_d;
525class locate_d;
526/*NBSMOD    */ #define   YNBS_locate_d   1
527/*NBIMOD    */ #define   YNBI_locate_d   2
528/*M3_IRMOD  */ #define   Ylocate_d(i, j, k)      Ylocate_d[i][j][k]
529/*M3_NOWMOD */ #define   Ylocate_dY              Ylocate_d[Yi][Yj][Yk]
530/*M3_VALST  */ #define   Ystate_locate_d(v, i, j, k, t)          Ylocate_d[i][j][k]->Ystate[t][v] 
531/*M3_VALST  */ #define   YS_locate_d(v, i, j, k, t)              Ylocate_d[i][j][k]->Ystate[t][v] 
532/*M3_VALSIT */ #define   YS1_locate_d(i, j, k, t)                Ylocate_d[i][j][k]->Ystate[t][0] 
533/*M3_HERESIT*/ #define   YS1Y_locate_d           Ylocate_d[Yi][Yj][Yk]->Ystate[YTemps][0] 
534/*M3_VALST  */ #define   Ygrad_locate_d(v, i, j, k, t)   Ylocate_d[i][j][k]->Ygrad[t][v] 
535/*M3_VALST  */ #define   YG_locate_d(v, i, j, k, t)              Ylocate_d[i][j][k]->Ygrad[t][v] 
536/*M3_VALSIT */ #define   YG1_locate_d(i, j, k, t)                Ylocate_d[i][j][k]->Ygrad[t][0] 
537/*M3_HERESIT*/ #define   YG1Y_locate_d           Ylocate_d[Yi][Yj][Yk]->Ygrad[YTemps][0] 
538locate_d                 *Ylocate_d[YA1_S_eulerlocate_d][YA2_S_eulerlocate_d][YA3_S_eulerlocate_d];
539
540//~~~~~~~~~~~~~~~~~~~~~~~~~ module r_cout_d~~~~~~~~~~~~~~~~~~~~~~~~~
541#define Yid_r_cout_d 13
542/*M1_VALST  */ #define   Ydelta_r_cout_d(v, i, t)                Yr_cout_d[i]->Ydelta[t][v] 
543/*M1_VALST  */ #define   YD_r_cout_d(v, i, t)            Yr_cout_d[i]->Ydelta[t][v] 
544/*M1_VALSIT */ #define   YD1_r_cout_d(i, t)              Yr_cout_d[i]->Ydelta[t][0] 
545/*M1_VALSIT */ #define   YD2_r_cout_d(i, t)              Yr_cout_d[i]->Ydelta[t][1] 
546/*M1_HERESIT*/ #define   YD1Y_r_cout_d           Yr_cout_d[Yi]->Ydelta[YTemps][0] 
547/*M1_HERESIT*/ #define   YD2Y_r_cout_d           Yr_cout_d[Yi]->Ydelta[YTemps][1] 
548
549class Yaor_cout_d;
550class r_cout_d;
551/*NBSMOD    */ #define   YNBS_r_cout_d   2
552/*NBIMOD    */ #define   YNBI_r_cout_d   2
553/*M1_IRMOD  */ #define   Yr_cout_d(i)    Yr_cout_d[i]
554/*M1_NOWMOD */ #define   Yr_cout_dY              Yr_cout_d[Yi]
555/*M1_VALST  */ #define   Ystate_r_cout_d(v, i, t)                Yr_cout_d[i]->Ystate[t][v] 
556/*M1_VALST  */ #define   YS_r_cout_d(v, i, t)            Yr_cout_d[i]->Ystate[t][v] 
557/*M1_VALSIT */ #define   YS1_r_cout_d(i, t)              Yr_cout_d[i]->Ystate[t][0] 
558/*M1_HERESIT*/ #define   YS1Y_r_cout_d           Yr_cout_d[Yi]->Ystate[YTemps][0] 
559/*M1_VALSIT */ #define   YS2_r_cout_d(i, t)              Yr_cout_d[i]->Ystate[t][1] 
560/*M1_HERESIT*/ #define   YS2Y_r_cout_d           Yr_cout_d[Yi]->Ystate[YTemps][1] 
561/*M1_VALST  */ #define   Ygrad_r_cout_d(v, i, t)                 Yr_cout_d[i]->Ygrad[t][v] 
562/*M1_VALST  */ #define   YG_r_cout_d(v, i, t)            Yr_cout_d[i]->Ygrad[t][v] 
563/*M1_VALSIT */ #define   YG1_r_cout_d(i, t)              Yr_cout_d[i]->Ygrad[t][0] 
564/*M1_HERESIT*/ #define   YG1Y_r_cout_d           Yr_cout_d[Yi]->Ygrad[YTemps][0] 
565/*M1_VALSIT */ #define   YG2_r_cout_d(i, t)              Yr_cout_d[i]->Ygrad[t][1] 
566/*M1_HERESIT*/ #define   YG2Y_r_cout_d           Yr_cout_d[Yi]->Ygrad[YTemps][1] 
567r_cout_d                 *Yr_cout_d[YA1_S_float_d];
568/*M1_VALSG  */ #define   Ywish_r_cout_d(v, i)            Yr_cout_d[i]->Ywish[v] 
569/*M1_VALSG  */ #define   YW_r_cout_d(v, i)               Yr_cout_d[i]->Ywish[v] 
570/*M1_VALSGI */ #define   YW1_r_cout_d(i)                 Yr_cout_d[i]->Ywish[0] 
571/*M1_HERESGI*/ #define   YW1Y_r_cout_d           Yr_cout_d[Yi]->Ywish[0] 
572/*M1_VALSGI */ #define   YW2_r_cout_d(i)                 Yr_cout_d[i]->Ywish[1] 
573/*M1_HERESGI*/ #define   YW2Y_r_cout_d           Yr_cout_d[Yi]->Ywish[1] 
574#define  YSIZEPB   10092//sum of the number of states (output) of all targets
575
576//€ € € € FOR M1QN3 € € € € € € € € € € € € € € € € € € € € € € €
577float   Y3x[YSIZEPB]; //table for the states of targets
578float   Y3g[YSIZEPB]; //table for the gradients of targets
579#define Y3_SZ_RZ   201848  //rz dimension
580float   Y3rz[Y3_SZ_RZ];
581#define Y3_SZ_IZ   5  //iz dimension
582float   Y3dxmin[1]; //resolution scalar for the vector to be controlled
583
584/*------- GENERATION of global objects ------------------------*/
585#define YSIZECO        2 //size of modules cout (atempo)(event if not in order !)
586#define YMAX_NBI        18 //max input number of a module
587#define YMAX_NBS        8 //max output number of a module
588#define YMAX_JAC_NBI    18 //max number of input for the jacobian (Yjac)
589#define YMAX_JAC_NBS    8 //max number of output for the jacobian (Yjac)
590double  Yting[YMAX_NBI];                //max table for a global and common inputs number
591double  Yjac[YMAX_JAC_NBS][YMAX_JAC_NBI]; //max table for a global and common jacobian
592#define YJ1I1  Yjac[0][0]
593#define YJ1I2  Yjac[0][1]
594#define YJ1I3  Yjac[0][2]
595#define YJ1I4  Yjac[0][3]
596#define YJ1I5  Yjac[0][4]
597#define YJ1I6  Yjac[0][5]
598#define YJ1I7  Yjac[0][6]
599#define YJ1I8  Yjac[0][7]
600#define YJ1I9  Yjac[0][8]
601#define YJ1I10  Yjac[0][9]
602#define YJ1I11  Yjac[0][10]
603#define YJ1I12  Yjac[0][11]
604#define YJ1I13  Yjac[0][12]
605#define YJ1I14  Yjac[0][13]
606#define YJ1I15  Yjac[0][14]
607#define YJ1I16  Yjac[0][15]
608#define YJ1I17  Yjac[0][16]
609#define YJ1I18  Yjac[0][17]
610#define YJ2I1  Yjac[1][0]
611#define YJ2I2  Yjac[1][1]
612#define YJ2I3  Yjac[1][2]
613#define YJ2I4  Yjac[1][3]
614#define YJ2I5  Yjac[1][4]
615#define YJ2I6  Yjac[1][5]
616#define YJ2I7  Yjac[1][6]
617#define YJ2I8  Yjac[1][7]
618#define YJ2I9  Yjac[1][8]
619#define YJ2I10  Yjac[1][9]
620#define YJ2I11  Yjac[1][10]
621#define YJ2I12  Yjac[1][11]
622#define YJ2I13  Yjac[1][12]
623#define YJ2I14  Yjac[1][13]
624#define YJ2I15  Yjac[1][14]
625#define YJ2I16  Yjac[1][15]
626#define YJ2I17  Yjac[1][16]
627#define YJ2I18  Yjac[1][17]
628#define YJ3I1  Yjac[2][0]
629#define YJ3I2  Yjac[2][1]
630#define YJ3I3  Yjac[2][2]
631#define YJ3I4  Yjac[2][3]
632#define YJ3I5  Yjac[2][4]
633#define YJ3I6  Yjac[2][5]
634#define YJ3I7  Yjac[2][6]
635#define YJ3I8  Yjac[2][7]
636#define YJ3I9  Yjac[2][8]
637#define YJ3I10  Yjac[2][9]
638#define YJ3I11  Yjac[2][10]
639#define YJ3I12  Yjac[2][11]
640#define YJ3I13  Yjac[2][12]
641#define YJ3I14  Yjac[2][13]
642#define YJ3I15  Yjac[2][14]
643#define YJ3I16  Yjac[2][15]
644#define YJ3I17  Yjac[2][16]
645#define YJ3I18  Yjac[2][17]
646#define YJ4I1  Yjac[3][0]
647#define YJ4I2  Yjac[3][1]
648#define YJ4I3  Yjac[3][2]
649#define YJ4I4  Yjac[3][3]
650#define YJ4I5  Yjac[3][4]
651#define YJ4I6  Yjac[3][5]
652#define YJ4I7  Yjac[3][6]
653#define YJ4I8  Yjac[3][7]
654#define YJ4I9  Yjac[3][8]
655#define YJ4I10  Yjac[3][9]
656#define YJ4I11  Yjac[3][10]
657#define YJ4I12  Yjac[3][11]
658#define YJ4I13  Yjac[3][12]
659#define YJ4I14  Yjac[3][13]
660#define YJ4I15  Yjac[3][14]
661#define YJ4I16  Yjac[3][15]
662#define YJ4I17  Yjac[3][16]
663#define YJ4I18  Yjac[3][17]
664#define YJ5I1  Yjac[4][0]
665#define YJ5I2  Yjac[4][1]
666#define YJ5I3  Yjac[4][2]
667#define YJ5I4  Yjac[4][3]
668#define YJ5I5  Yjac[4][4]
669#define YJ5I6  Yjac[4][5]
670#define YJ5I7  Yjac[4][6]
671#define YJ5I8  Yjac[4][7]
672#define YJ5I9  Yjac[4][8]
673#define YJ5I10  Yjac[4][9]
674#define YJ5I11  Yjac[4][10]
675#define YJ5I12  Yjac[4][11]
676#define YJ5I13  Yjac[4][12]
677#define YJ5I14  Yjac[4][13]
678#define YJ5I15  Yjac[4][14]
679#define YJ5I16  Yjac[4][15]
680#define YJ5I17  Yjac[4][16]
681#define YJ5I18  Yjac[4][17]
682#define YJ6I1  Yjac[5][0]
683#define YJ6I2  Yjac[5][1]
684#define YJ6I3  Yjac[5][2]
685#define YJ6I4  Yjac[5][3]
686#define YJ6I5  Yjac[5][4]
687#define YJ6I6  Yjac[5][5]
688#define YJ6I7  Yjac[5][6]
689#define YJ6I8  Yjac[5][7]
690#define YJ6I9  Yjac[5][8]
691#define YJ6I10  Yjac[5][9]
692#define YJ6I11  Yjac[5][10]
693#define YJ6I12  Yjac[5][11]
694#define YJ6I13  Yjac[5][12]
695#define YJ6I14  Yjac[5][13]
696#define YJ6I15  Yjac[5][14]
697#define YJ6I16  Yjac[5][15]
698#define YJ6I17  Yjac[5][16]
699#define YJ6I18  Yjac[5][17]
700#define YJ7I1  Yjac[6][0]
701#define YJ7I2  Yjac[6][1]
702#define YJ7I3  Yjac[6][2]
703#define YJ7I4  Yjac[6][3]
704#define YJ7I5  Yjac[6][4]
705#define YJ7I6  Yjac[6][5]
706#define YJ7I7  Yjac[6][6]
707#define YJ7I8  Yjac[6][7]
708#define YJ7I9  Yjac[6][8]
709#define YJ7I10  Yjac[6][9]
710#define YJ7I11  Yjac[6][10]
711#define YJ7I12  Yjac[6][11]
712#define YJ7I13  Yjac[6][12]
713#define YJ7I14  Yjac[6][13]
714#define YJ7I15  Yjac[6][14]
715#define YJ7I16  Yjac[6][15]
716#define YJ7I17  Yjac[6][16]
717#define YJ7I18  Yjac[6][17]
718#define YJ8I1  Yjac[7][0]
719#define YJ8I2  Yjac[7][1]
720#define YJ8I3  Yjac[7][2]
721#define YJ8I4  Yjac[7][3]
722#define YJ8I5  Yjac[7][4]
723#define YJ8I6  Yjac[7][5]
724#define YJ8I7  Yjac[7][6]
725#define YJ8I8  Yjac[7][7]
726#define YJ8I9  Yjac[7][8]
727#define YJ8I10  Yjac[7][9]
728#define YJ8I11  Yjac[7][10]
729#define YJ8I12  Yjac[7][11]
730#define YJ8I13  Yjac[7][12]
731#define YJ8I14  Yjac[7][13]
732#define YJ8I15  Yjac[7][14]
733#define YJ8I16  Yjac[7][15]
734#define YJ8I17  Yjac[7][16]
735#define YJ8I18  Yjac[7][17]
736double  Ytbeta[YMAX_NBI];               //max table of global and common beta
737
738/*------- SOME OTHER AUTOMATIC GENERATION ------------------*/
739
740struct Yst_obs {
741  int   time;
742  int   imod;
743  int   smod;
744  int   iaxe;
745  int   jaxe;
746  int   kaxe;
747  YREAL vobs;
748};
749struct Yst_obs Yaobs;
750int Yobs_insert(struct Yst_obs *aobs);
751
752/*------- GENERATION of NECESSARY PROTOTYPES -------------*/
753double Ycostdiff(double dinov, double dcov);
754
755/*------- AUTOMATIC GENERATION of YaoModul class ----------*/
756
757//////////// Begin of the Yao Class Yaor_float ////////////
758class                 Yaor_float
759{
760         public:
761              double     Ystate[YNBALLTIME_T_float][YNBS_r_float];
762              double     Ygrad[YNBALLTIME_T_float][YNBS_r_float];
763              double     Ydelta[YNBALLTIME_T_float][YNBS_r_float];
764
765//:=========> Constructor - Destructor ============
766Yaor_float(){}
767~Yaor_float(){}
768
769};
770
771/*M_PCL   */
772class    r_float:public Yaor_float
773{       public: 
774         r_float(){}; 
775         ~r_float (){}; 
776         void forward (double x0,double x1,double x2,double x3); 
777         void backward(double x0,double x1,double x2,double x3); 
778};
779
780//////////// Begin of the Yao Class Yaour ////////////
781class                 Yaour
782{
783         public:
784              double     Ystate[YNBALLTIME_T_float][YNBS_ur];
785              double     Ygrad[YNBALLTIME_T_float][YNBS_ur];
786              double     Ydelta[YNBALLTIME_T_float][YNBS_ur];
787
788//:=========> Constructor - Destructor ============
789Yaour(){}
790~Yaour(){}
791
792};
793
794/*M_PCL   */
795class    ur:public Yaour
796{       public: 
797         ur(){}; 
798         ~ur (){}; 
799         void forward (double x0,double x1,double x2,double x3,double x4,double x5,double x6,double x7,double x8,double x9,double x10,double x11,double x12,double x13,double x14,double x15,double x16,double x17); 
800         void backward(double x0,double x1,double x2,double x3,double x4,double x5,double x6,double x7,double x8,double x9,double x10,double x11,double x12,double x13,double x14,double x15,double x16,double x17); 
801};
802
803//////////// Begin of the Yao Class Yaouinter ////////////
804class                 Yaouinter
805{
806         public:
807              double     Ystate[YNBALLTIME_T_float][YNBS_uinter];
808              double     Ygrad[YNBALLTIME_T_float][YNBS_uinter];
809              double     Ydelta[YNBALLTIME_T_float][YNBS_uinter];
810
811//:=========> Constructor - Destructor ============
812Yaouinter(){}
813~Yaouinter(){}
814
815};
816
817//////////// Begin of the Yao Class Yaoxinter ////////////
818class                 Yaoxinter
819{
820         public:
821              double     Ystate[YNBALLTIME_T_float][YNBS_xinter];
822              double     Ygrad[YNBALLTIME_T_float][YNBS_xinter];
823              double     Ydelta[YNBALLTIME_T_float][YNBS_xinter];
824
825//:=========> Constructor - Destructor ============
826Yaoxinter(){}
827~Yaoxinter(){}
828
829};
830
831//////////// Begin of the Yao Class Yaou ////////////
832class                 Yaou
833{
834         public:
835              double     Ystate[YNBS_u];
836              double     Ygrad[YNBS_u];
837              double     Ydelta[1][YNBS_u];
838
839//:=========> Constructor - Destructor ============
840Yaou(){}
841~Yaou(){}
842
843};
844
845//////////// Begin of the Yao Class Yaov ////////////
846class                 Yaov
847{
848         public:
849              double     Ystate[YNBS_v];
850              double     Ygrad[YNBS_v];
851              double     Ydelta[1][YNBS_v];
852
853//:=========> Constructor - Destructor ============
854Yaov(){}
855~Yaov(){}
856
857};
858
859//////////// Begin of the Yao Class Yaolocate ////////////
860class                 Yaolocate
861{
862         public:
863              double     Ystate[YNBALLTIME_T_float][YNBS_locate];
864              double     Ygrad[YNBALLTIME_T_float][YNBS_locate];
865              double     Ydelta[YNBALLTIME_T_float][YNBS_locate];
866
867//:=========> Constructor - Destructor ============
868Yaolocate(){}
869~Yaolocate(){}
870
871};
872
873/*M_PCL   */
874class    locate:public Yaolocate
875{       public: 
876         locate(){}; 
877         ~locate (){}; 
878         void forward (double x0,double x1); 
879         void backward(double x0,double x1); 
880};
881
882//////////// Begin of the Yao Class Yaor_float_d ////////////
883class                 Yaor_float_d
884{
885         public:
886              double     Ystate[YNBALLTIME_T_float_d][YNBS_r_float_d];
887              double     Ygrad[YNBALLTIME_T_float_d][YNBS_r_float_d];
888              double     Ydelta[YNBALLTIME_T_float_d][YNBS_r_float_d];
889
890//:=========> Constructor - Destructor ============
891Yaor_float_d(){}
892~Yaor_float_d(){}
893
894};
895
896/*M_PCL   */
897class    r_float_d:public Yaor_float_d
898{       public: 
899         r_float_d(){}; 
900         ~r_float_d (){}; 
901         void forward (double x0,double x1,double x2,double x3); 
902         void backward(double x0,double x1,double x2,double x3); 
903};
904
905//////////// Begin of the Yao Class Yaour_d ////////////
906class                 Yaour_d
907{
908         public:
909              double     Ystate[YNBALLTIME_T_float_d][YNBS_ur_d];
910              double     Ygrad[YNBALLTIME_T_float_d][YNBS_ur_d];
911              double     Ydelta[YNBALLTIME_T_float_d][YNBS_ur_d];
912
913//:=========> Constructor - Destructor ============
914Yaour_d(){}
915~Yaour_d(){}
916
917};
918
919/*M_PCL   */
920class    ur_d:public Yaour_d
921{       public: 
922         ur_d(){}; 
923         ~ur_d (){}; 
924         void forward (double x0,double x1,double x2,double x3,double x4,double x5,double x6,double x7,double x8,double x9,double x10,double x11,double x12,double x13,double x14,double x15,double x16,double x17); 
925         void backward(double x0,double x1,double x2,double x3,double x4,double x5,double x6,double x7,double x8,double x9,double x10,double x11,double x12,double x13,double x14,double x15,double x16,double x17); 
926};
927
928//////////// Begin of the Yao Class Yaouinter_d ////////////
929class                 Yaouinter_d
930{
931         public:
932              double     Ystate[YNBALLTIME_T_float_d][YNBS_uinter_d];
933              double     Ygrad[YNBALLTIME_T_float_d][YNBS_uinter_d];
934              double     Ydelta[YNBALLTIME_T_float_d][YNBS_uinter_d];
935
936//:=========> Constructor - Destructor ============
937Yaouinter_d(){}
938~Yaouinter_d(){}
939
940};
941
942//////////// Begin of the Yao Class Yaou_d ////////////
943class                 Yaou_d
944{
945         public:
946              double     Ystate[YNBS_u_d];
947              double     Ygrad[YNBS_u_d];
948              double     Yepsi[YNBS_u_d];
949              double     Ywish[YNBS_u_d];
950              double     Ydelta[1][YNBS_u_d];
951
952//:=========> Constructor - Destructor ============
953Yaou_d(){}
954~Yaou_d(){}
955
956};
957
958//////////// Begin of the Yao Class Yaov_d ////////////
959class                 Yaov_d
960{
961         public:
962              double     Ystate[YNBS_v_d];
963              double     Ygrad[YNBS_v_d];
964              double     Yepsi[YNBS_v_d];
965              double     Ywish[YNBS_v_d];
966              double     Ydelta[1][YNBS_v_d];
967
968//:=========> Constructor - Destructor ============
969Yaov_d(){}
970~Yaov_d(){}
971
972};
973
974//////////// Begin of the Yao Class Yaolocate_d ////////////
975class                 Yaolocate_d
976{
977         public:
978              double     Ystate[YNBALLTIME_T_float_d][YNBS_locate_d];
979              double     Ygrad[YNBALLTIME_T_float_d][YNBS_locate_d];
980              double     Ydelta[YNBALLTIME_T_float_d][YNBS_locate_d];
981
982//:=========> Constructor - Destructor ============
983Yaolocate_d(){}
984~Yaolocate_d(){}
985
986};
987
988/*M_PCL   */
989class    locate_d:public Yaolocate_d
990{       public: 
991         locate_d(){}; 
992         ~locate_d (){}; 
993         void forward (double x0,double x1); 
994         void backward(double x0,double x1); 
995};
996
997//////////// Begin of the Yao Class Yaor_cout_d ////////////
998class                 Yaor_cout_d
999{
1000         public:
1001              double     Ystate[YNBALLTIME_T_float_d][YNBS_r_cout_d];
1002              double     Ygrad[YNBALLTIME_T_float_d][YNBS_r_cout_d];
1003              double     Ywish[YNBS_r_cout_d];
1004              double     Ydelta[YNBALLTIME_T_float_d][YNBS_r_cout_d];
1005
1006//:=========> Constructor - Destructor ============
1007Yaor_cout_d(){}
1008~Yaor_cout_d(){}
1009
1010};
1011
1012/*M_PCL   */
1013class    r_cout_d:public Yaor_cout_d
1014{       public: 
1015         r_cout_d(){}; 
1016         ~r_cout_d (){}; 
1017         void forward (double x0,double x1); 
1018         void backward(double x0,double x1); 
1019};
1020
1021//€ € € € PROTOTYPES of AUTO-FUNCTIONS € € € € € € € € € € €
1022void Yrazgrad_r_float(); 
1023void Ysetstate_r_float(); 
1024void Yrazgrad_ur(); 
1025void Ysetstate_ur(); 
1026void Yrazgrad_uinter(); 
1027void Ysetstate_uinter(); 
1028void Yrazgrad_xinter(); 
1029void Ysetstate_xinter(); 
1030void Yrazgrad_u(); 
1031void Ysetstate_u(); 
1032void Yrazgrad_v(); 
1033void Ysetstate_v(); 
1034void Yrazgrad_locate(); 
1035void Ysetstate_locate(); 
1036void Yrazgrad_r_float_d(); 
1037void Ysetstate_r_float_d(); 
1038void Yrazgrad_ur_d(); 
1039void Ysetstate_ur_d(); 
1040void Yrazgrad_uinter_d(); 
1041void Ysetstate_uinter_d(); 
1042void Yrazgrad_u_d(); 
1043void Ysetstate_u_d(); 
1044void Ysetepsi_u_d(); 
1045void Yadjust_u_d(); 
1046void Y3getstate_u_d(float x[]); 
1047void Y3valstate_u_d(); 
1048void Y3valgrad_u_d(float g[]); void Yrazgrad_v_d(); 
1049void Ysetstate_v_d(); 
1050void Ysetepsi_v_d(); 
1051void Yadjust_v_d(); 
1052void Y3getstate_v_d(float x[]); 
1053void Y3valstate_v_d(); 
1054void Y3valgrad_v_d(float g[]); void Yrazgrad_locate_d(); 
1055void Ysetstate_locate_d(); 
1056void Yrazgrad_r_cout_d(); 
1057void Ysetstate_r_cout_d(); 
1058
1059/*------------- DUE TO MULTI TRAJECTOIRIES --------------*/
1060#define YNBTRAJ        4
1061int Yforward_traj_T_float(int nbp);
1062int Ybackward_traj_T_float(int nbp);
1063int Ylinward_traj_T_float(int nbp);
1064int Ydfward_traj_T_float(int modop, char *nmmod, int All, int KeKo, int koleft,float pdx, float ptol, int yi, int yj,   int yk);
1065int Yforward_traj_T_float_d(int nbp);
1066int Ybackward_traj_T_float_d(int nbp);
1067int Ylinward_traj_T_float_d(int nbp);
1068int Ydfward_traj_T_float_d(int modop, char *nmmod, int All, int KeKo, int koleft,float pdx, float ptol, int yi, int yj, int yk);
1069int Ydftestijkt(int imod);
1070int Ydftesttt(int itraj);
1071
1072/*------- GENERATION DU TABLEAU DES TRAJECTOIRES --------*/
1073struct Yst_traj YTabTraj[4] = {
1074        {"T_float", 'M', 1, 0.000000, 1.000000, 0.000000, 1, 12, 12.000000, Yforward_traj_T_float, Ybackward_traj_T_float, Ylinward_traj_T_float, Ydfward_traj_T_float, 1},
1075        {"T_euler", 'M', 0, 0.000000, 1.000000, 0.000000, 0, 1, 1.000000, NULL, NULL, NULL, NULL, 0},
1076        {"T_float_d", 'D', 1, 0.000000, 1.000000, 0.000000, 1, 12, 12.000000, Yforward_traj_T_float_d, Ybackward_traj_T_float_d, Ylinward_traj_T_float_d, Ydfward_traj_T_float_d, 1},
1077        {"T_euler_d", 'D', 0, 0.000000, 1.000000, 0.000000, 0, 1, 1.000000, NULL, NULL, NULL, NULL, 0},
1078};
1079
1080/*------- GENERATION DU TABLEAU DES ESPACES --------*/
1081#define YNBSPACE       6
1082struct Yst_space YTabSpace[6] = {
1083        {"S_float", 'M', 1, 0, 0, "T_float"},
1084        {"S_euler", 'M', 87, 58, 0, "T_euler"},
1085        {"S_eulerlocate", 'M', 1, 87, 58, "T_float"},
1086        {"S_float_d", 'M', 1, 0, 0, "T_float_d"},
1087        {"S_euler_d", 'M', 87, 58, 0, "T_euler_d"},
1088        {"S_eulerlocate_d", 'M', 1, 87, 58, "T_float_d"},
1089};
1090
1091/*------ GENERATION DU TABLEAU DES OPERATEURS -------*/
1092#define YNBOPERA       0
1093struct Yst_opera YTabOpera[0] = {
1094};
1095
1096/*------- GENERATION D'UN TABLEAU d'ACCES AUX MODULES --------*/
1097#define YNBMODUL       14
1098struct Yst_modul YTabMod[14] = {
1099        {"r_float", *Yr_float, 1, 1, 0, 0, 4, 2, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_float"},
1100        {"ur", *Yur, 1, 1, 0, 0, 18, 2, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_float"},
1101        {"uinter", *Yuinter, 1, 1, 0, 0, 0, 8, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_float"},
1102        {"xinter", *Yxinter, 1, 1, 0, 0, 0, 8, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_float"},
1103        {"u", *Yu, 2, 87, 58, 0, 0, 1, 0, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_euler"},
1104        {"v", *Yv, 2, 87, 58, 0, 0, 1, 0, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_euler"},
1105        {"locate", *Ylocate, 3, 1, 87, 58, 2, 1, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_eulerlocate"},
1106        {"r_float_d", *Yr_float_d, 1, 1, 0, 0, 4, 2, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_float_d"},
1107        {"ur_d", *Yur_d, 1, 1, 0, 0, 18, 2, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_float_d"},
1108        {"uinter_d", *Yuinter_d, 1, 1, 0, 0, 0, 8, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_float_d"},
1109        {"u_d", *Yu_d, 2, 87, 58, 0, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_euler_d"},
1110        {"v_d", *Yv_d, 2, 87, 58, 0, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S_euler_d"},
1111        {"locate_d", *Ylocate_d, 3, 1, 87, 58, 2, 1, 13, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_eulerlocate_d"},
1112        {"r_cout_d", *Yr_cout_d, 1, 1, 0, 0, 2, 2, 13, 1, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S_float_d"},
1113};
1114
1115/*------- GENERATION TABLEAU COUT_MODULES/OPERA --------*/
1116short   YTabMocop[YNBMODUL][YNBOPERA] = {
1117        {  },
1118        {  },
1119        {  },
1120        {  },
1121        {  },
1122        {  },
1123        {  },
1124        {  },
1125        {  },
1126        {  },
1127        {  },
1128        {  },
1129        {  },
1130        {  },
1131};
1132
1133//----- GENERATION d'UN TABLEAU de DEFINITIONS de VALEURS -----
1134#define YNBDEFVAL      4
1135struct Yst_defval YTabDefval[4] = {
1136        {"jtlag", "12"},
1137        {"nlon", "87"},
1138        {"nlat", "58"},
1139        {"nfloat", "1"},
1140};
1141
1142//€ € € € GENERATION AUTOMATIQUE DES include € € € € € € € € € € €
1143#include "floater.h"
1144
1145#define  forward  void r_float::forward
1146#define  backward void r_float::backward
1147#define  flinward void r_float::flinward
1148#define  YS1Y Ystate[YTemps][0]
1149#define  YS1  Ystate[YTemps][0]
1150#define  YG1  Ygrad[YTemps][0]
1151#define  YS2Y Ystate[YTemps][1]
1152#define  YS2  Ystate[YTemps][1]
1153#define  YG2  Ygrad[YTemps][1]
1154#include "r_float.h"
1155#undef   YS1Y 
1156#undef   YS1   
1157#undef   YG1   
1158#undef   YS2Y 
1159#undef   YS2   
1160#undef   YG2   
1161#undef   forward
1162#undef   backward
1163#undef   flinward
1164
1165#define  forward  void ur::forward
1166#define  backward void ur::backward
1167#define  flinward void ur::flinward
1168#define  YS1Y Ystate[YTemps][0]
1169#define  YS1  Ystate[YTemps][0]
1170#define  YG1  Ygrad[YTemps][0]
1171#define  YS2Y Ystate[YTemps][1]
1172#define  YS2  Ystate[YTemps][1]
1173#define  YG2  Ygrad[YTemps][1]
1174#include "ur.h"
1175#undef   YS1Y 
1176#undef   YS1   
1177#undef   YG1   
1178#undef   YS2Y 
1179#undef   YS2   
1180#undef   YG2   
1181#undef   forward
1182#undef   backward
1183#undef   flinward
1184
1185#define  forward  void locate::forward
1186#define  backward void locate::backward
1187#define  flinward void locate::flinward
1188#define  YS1Y Ystate[YTemps][0]
1189#define  YS1  Ystate[YTemps][0]
1190#define  YG1  Ygrad[YTemps][0]
1191#include "locate.h"
1192#undef   YS1Y 
1193#undef   YS1   
1194#undef   YG1   
1195#undef   forward
1196#undef   backward
1197#undef   flinward
1198
1199#define  forward  void r_float_d::forward
1200#define  backward void r_float_d::backward
1201#define  flinward void r_float_d::flinward
1202#define  YS1Y Ystate[YTemps][0]
1203#define  YS1  Ystate[YTemps][0]
1204#define  YG1  Ygrad[YTemps][0]
1205#define  YS2Y Ystate[YTemps][1]
1206#define  YS2  Ystate[YTemps][1]
1207#define  YG2  Ygrad[YTemps][1]
1208#include "r_float_d.h"
1209#undef   YS1Y 
1210#undef   YS1   
1211#undef   YG1   
1212#undef   YS2Y 
1213#undef   YS2   
1214#undef   YG2   
1215#undef   forward
1216#undef   backward
1217#undef   flinward
1218
1219#define  forward  void ur_d::forward
1220#define  backward void ur_d::backward
1221#define  flinward void ur_d::flinward
1222#define  YS1Y Ystate[YTemps][0]
1223#define  YS1  Ystate[YTemps][0]
1224#define  YG1  Ygrad[YTemps][0]
1225#define  YS2Y Ystate[YTemps][1]
1226#define  YS2  Ystate[YTemps][1]
1227#define  YG2  Ygrad[YTemps][1]
1228#include "ur_d.h"
1229#undef   YS1Y 
1230#undef   YS1   
1231#undef   YG1   
1232#undef   YS2Y 
1233#undef   YS2   
1234#undef   YG2   
1235#undef   forward
1236#undef   backward
1237#undef   flinward
1238
1239#define  forward  void locate_d::forward
1240#define  backward void locate_d::backward
1241#define  flinward void locate_d::flinward
1242#define  YS1Y Ystate[YTemps][0]
1243#define  YS1  Ystate[YTemps][0]
1244#define  YG1  Ygrad[YTemps][0]
1245#include "locate_d.h"
1246#undef   YS1Y 
1247#undef   YS1   
1248#undef   YG1   
1249#undef   forward
1250#undef   backward
1251#undef   flinward
1252
1253#define  forward  void r_cout_d::forward
1254#define  backward void r_cout_d::backward
1255#define  flinward void r_cout_d::flinward
1256#define  YS1Y Ystate[YTemps][0]
1257#define  YS1  Ystate[YTemps][0]
1258#define  YG1  Ygrad[YTemps][0]
1259#define  YS2Y Ystate[YTemps][1]
1260#define  YS2  Ystate[YTemps][1]
1261#define  YG2  Ygrad[YTemps][1]
1262#include "r_cout_d.h"
1263#undef   YS1Y 
1264#undef   YS1   
1265#undef   YG1   
1266#undef   YS2Y 
1267#undef   YS2   
1268#undef   YG2   
1269#undef   forward
1270#undef   backward
1271#undef   flinward
1272
1273//-------------- end Yao generation -----------------
Note: See TracBrowser for help on using the repository browser.