37 #if ROOT_VERSION_CODE < ROOT_VERSION(5,13,0)
51 float ac[6] = { 0.,1.,2.,3.,4.,5. };
52 float bc[8] = { 10.,20.,30.,40.,50.,60.,70.,80. };
53 float c1c[12] = { 50.,60.,70.,80.,170.,220.,270.,320.,290., 380.,470.,560. };
54 float c2c[9] = { 3.,4.,5.,9.,14.,19.,15.,24.,33. };
55 float d__[12] = { 2.,4.,6.,8.,102.,104.,106.,108.,202.,204.,206.,208. };
61 } equiv_30 = { 1000, {
'X',
'M',
'P',
'Y'}, 0, {
'3',
'2',
'4',
' '} };
64 #define tinf ((int *)&equiv_30)
70 } equiv_31 = { {
'X',
'M',
'A',
'D'}, 0 };
74 #define tinfa (*(int *)&equiv_31)
80 } equiv_32 = { {
'X',
'M',
'U',
'B'}, 0 };
83 #define tinfu (*(int *)&equiv_32)
89 } equiv_33 = { {
'M',
'P',
'Y',
'1'}, 0 };
92 #define tinfy1 (*(int *)&equiv_33)
98 } equiv_34 = { {
'M',
'A',
'D',
'1'}, 0 };
101 #define tinfa1 (*(int *)&equiv_34)
107 } equiv_35 = { {
'M',
'U',
'B',
'1'}, 0 };
110 #define tinfu1 (*(int *)&equiv_35)
116 } equiv_36 = { {
'M',
'P',
'Y',
'2'}, 0 };
119 #define tinfy2 (*(int *)&equiv_36)
126 } equiv_37 = { {
'M',
'A',
'D',
'2'}, 0 };
129 #define tinfa2 (*(int *)&equiv_37)
135 } equiv_38 = { {
'M',
'U',
'B',
'2'}, 0 };
138 #define tinfu2 (*(int *)&equiv_38)
144 } equiv_39 = { {
'M',
'P',
'Y',
'3'}, 0 };
147 #define tinfy3 (*(int *)&equiv_39)
153 } equiv_40 = { {
'M',
'A',
'D',
'3'}, 0 };
156 #define tinfa3 (*(int *)&equiv_40)
162 } equiv_41 = { {
'M',
'U',
'B',
'3'}, 0 };
165 #define tinfu3 (*(int *)&equiv_41)
172 #ifndef _LOCALMICKYVARS_
173 #define _LOCALMICKYVARS_
175 #define amin ((float *)&_BLNK__1 + 1399)
176 #define dmin__ ((float *)&_BLNK__1 + 1699)
177 #define amin2 ((float *)&_BLNK__1 + 1599)
178 #define aplus ((float *)&_BLNK__1 + 1299)
180 #define aplus1 ((float *)&_BLNK__1 + 1499)
181 #define ia ((int *)&_BLNK__1)
182 #define ib ((int *)&_BLNK__1 + 1000)
184 #define act ((float *)&_BLNK__1 + 1099)
185 #define bct ((float *)&_BLNK__1 + 1199)
186 #define zer ((float *)&_BLNK__1 + 1000)
191 param_1.zerlev = param_1.zerov[1];
196 Newguy(
"MXMPY-1-2-3.",
"TMXM ");
197 TCL::mxmpy(ac, bc, _BLNK__1.a, 3, 2, 4);
198 Mverif(1, _BLNK__1.a, c1c, 12);
200 TCL::mxmpy1(ac, bct, _BLNK__1.a, 3, 2, 4);
201 Mverif(11, _BLNK__1.a, c1c, 12);
203 TCL::mxmpy2(act, bc, _BLNK__1.a, 3, 2, 4);
204 Mverif(21, _BLNK__1.a, c1c, 12);
206 TCL::mxmpy3(act, bct, _BLNK__1.a, 3, 2, 4);
207 Mverif(31, _BLNK__1.a, c1c, 12);
209 TCL::mxmpy(ac, bc, _BLNK__1.a, 3, 0, 4);
210 Mverif(10, _BLNK__1.a, zer, 12);
212 TCL::mxmpy1(ac, bct, _BLNK__1.a, 3, 0, 4);
213 Mverif(110, _BLNK__1.a, zer, 12);
215 TCL::mxmpy2(act, bc, _BLNK__1.a, 3, 0, 4);
216 Mverif(210, _BLNK__1.a, zer, 12);
218 TCL::mxmpy3(act, bct, _BLNK__1.a, 3, 0, 4);
219 Mverif(310, _BLNK__1.a, zer, 12);
221 TCL::mxmpy(ac, ac, _BLNK__1.a, 3, 2, 3);
222 Mverif(12, _BLNK__1.a, c2c, 9);
224 if (param_1.itimes == 0) {
227 ntimes = param_1.itimes * tinf[0];
229 Timed(¶m_1.timerd);
230 for (j = 1; j <= ntimes; ++j)
231 TCL::mxmpy(ac, bc, _BLNK__1.a, 3, 2, 4);
235 Timed(¶m_1.timerd);
236 for (j = 1; j <= ntimes; ++j)
237 TCL::mxmpy1(ac, bct, _BLNK__1.a, 3, 2, 4);
241 Timed(¶m_1.timerd);
242 for (j = 1; j <= ntimes; ++j)
243 TCL::mxmpy2(act, bc, _BLNK__1.a, 3, 2, 4);
247 Timed(¶m_1.timerd);
248 for (j = 1; j <= ntimes; ++j)
249 TCL::mxmpy3(act, bct, _BLNK__1.a, 3, 2, 4);
254 Newguy(
"MXMAD-1-2-3.",
"TMXM ");
255 TCL::ucopy(c1c, _BLNK__1.a, 12);
256 TCL::vadd(_BLNK__1.a, d__, aplus, 12);
257 TCL::vsub(_BLNK__1.a, d__, amin, 12);
258 TCL::mxmpy(ac, ac, _BLNK__1.a, 3, 2, 3);
259 TCL::vadd(_BLNK__1.a, d__, aplus1, 9);
260 TCL::vsub(_BLNK__1.a, d__, amin2, 9);
262 TCL::ucopy(d__, _BLNK__1.a, 12);
263 TCL::mxmad(ac, bc, _BLNK__1.a, 3, 2, 4);
264 Mverif(1, _BLNK__1.a, aplus, 12);
266 TCL::ucopy(d__, _BLNK__1.a, 12);
267 TCL::mxmad1(ac, bct, _BLNK__1.a, 3, 2, 4);
268 Mverif(11, _BLNK__1.a, aplus, 12);
270 TCL::ucopy(d__, _BLNK__1.a, 12);
271 TCL::mxmad2(act, bc, _BLNK__1.a, 3, 2, 4);
272 Mverif(21, _BLNK__1.a, aplus, 12);
274 TCL::ucopy(d__, _BLNK__1.a, 12);
275 TCL::mxmad3(act, bct, _BLNK__1.a, 3, 2, 4);
276 Mverif(31, _BLNK__1.a, aplus, 12);
278 TCL::ucopy(d__, _BLNK__1.a, 12);
279 TCL::mxmad(ac, bc, _BLNK__1.a, 3, 0, 4);
280 Mverif(10, _BLNK__1.a, d__, 12);
282 TCL::mxmad1(ac, bct, _BLNK__1.a, 3, 0, 4);
283 Mverif(110, _BLNK__1.a, d__, 12);
285 TCL::mxmad2(act, bc, _BLNK__1.a, 3, 0, 4);
286 Mverif(210, _BLNK__1.a, d__, 12);
288 TCL::mxmad3(act, bct, _BLNK__1.a, 3, 0, 4);
289 Mverif(310, _BLNK__1.a, d__, 12);
291 TCL::ucopy(d__, _BLNK__1.a, 9);
292 TCL::mxmad(ac, ac, _BLNK__1.a, 3, 2, 3);
293 Mverif(12, _BLNK__1.a, aplus1, 9);
295 TCL::ucopy(d__, _BLNK__1.a, 9);
297 if (param_1.itimes == 0) {
301 Timed(¶m_1.timerd);
302 for (j = 1; j <= ntimes; ++j) {
303 TCL::ucopy(d__, _BLNK__1.a, 12);
304 TCL::mxmad(ac, bc, _BLNK__1.a, 3, 2, 4);
309 Timed(¶m_1.timerd);
311 for (j = 1; j <= ntimes; ++j) {
312 TCL::ucopy(d__, _BLNK__1.a, 12);
313 TCL::mxmad1(ac, bct, _BLNK__1.a, 3, 2, 4);
318 Timed(¶m_1.timerd);
320 for (j = 1; j <= ntimes; ++j) {
321 TCL::ucopy(d__, _BLNK__1.a, 12);
322 TCL::mxmad2(act, bc, _BLNK__1.a, 3, 2, 4);
327 Timed(¶m_1.timerd);
329 for (j = 1; j <= ntimes; ++j) {
330 TCL::ucopy(d__, _BLNK__1.a, 12);
331 TCL::mxmad3(act, bct, _BLNK__1.a, 3, 2, 4);
338 Newguy(
"MXMUB-1-2-3.",
"TMXM ");
339 TCL::vcopyn(d__, dmin__, 12);
340 TCL::ucopy(d__, _BLNK__1.a, 12);
341 TCL::mxmub(ac, bc, _BLNK__1.a, 3, 2, 4);
342 Mverif(1, _BLNK__1.a, amin, 12);
344 TCL::ucopy(d__, _BLNK__1.a, 12);
345 TCL::mxmub1(ac, bct, _BLNK__1.a, 3, 2, 4);
346 Mverif(11, _BLNK__1.a, amin, 12);
348 TCL::ucopy(d__, _BLNK__1.a, 12);
349 TCL::mxmub2(act, bc, _BLNK__1.a, 3, 2, 4);
350 Mverif(21, _BLNK__1.a, amin, 12);
352 TCL::ucopy(d__, _BLNK__1.a, 12);
353 TCL::mxmub3(act, bct, _BLNK__1.a, 3, 2, 4);
354 Mverif(31, _BLNK__1.a, amin, 12);
356 TCL::ucopy(d__, _BLNK__1.a, 12);
357 TCL::mxmub(ac, bc, _BLNK__1.a, 3, 0, 4);
358 Mverif(10, _BLNK__1.a, dmin__, 12);
360 TCL::ucopy(d__, _BLNK__1.a, 12);
361 TCL::mxmub1(ac, bct, _BLNK__1.a, 3, 0, 4);
362 Mverif(110, _BLNK__1.a, dmin__, 12);
364 TCL::ucopy(d__, _BLNK__1.a, 12);
365 TCL::mxmub2(act, bc, _BLNK__1.a, 3, 0, 4);
366 Mverif(210, _BLNK__1.a, dmin__, 12);
368 TCL::ucopy(d__, _BLNK__1.a, 12);
369 TCL::mxmub3(act, bct, _BLNK__1.a, 3, 0, 4);
370 Mverif(310, _BLNK__1.a, dmin__, 12);
372 TCL::ucopy(d__, _BLNK__1.a, 9);
373 TCL::mxmub(ac, ac, _BLNK__1.a, 3, 2, 3);
374 Mverif(12, _BLNK__1.a, amin2, 9);
376 if (param_1.itimes == 0)
goto L300;
379 Timed(¶m_1.timerd);
381 for (j = 1; j <= ntimes; ++j) {
382 TCL::ucopy(d__, _BLNK__1.a, 12);
383 TCL::mxmub(ac, bc, _BLNK__1.a, 3, 2, 4);
388 Timed(¶m_1.timerd);
390 for (j = 1; j <= ntimes; ++j) {
391 TCL::ucopy(d__, _BLNK__1.a, 12);
392 TCL::mxmub1(ac, bct, _BLNK__1.a, 3, 2, 4);
397 Timed(¶m_1.timerd);
399 for (j = 1; j <= ntimes; ++j) {
400 TCL::ucopy(d__, _BLNK__1.a, 12);
401 TCL::mxmub2(act, bc, _BLNK__1.a, 3, 2, 4);
406 Timed(¶m_1.timerd);
408 for (j = 1; j <= ntimes; ++j) {
409 TCL::ucopy(d__, _BLNK__1.a, 12);
410 TCL::mxmub3(act, bct, _BLNK__1.a, 3, 2, 4);
417 Newguy(
"MXMLRT - MXMLTR.",
"TMXM ");
418 TCL::mxmpy(ac, c2c, _BLNK__1.a, 2, 3, 3);
419 TCL::mxmpy1(_BLNK__1.a, ac, _BLNK__1.b, 2, 3, 2);
420 TCL::mxmpy1(c2c, ac, &_BLNK__1.a[100], 3, 3, 2);
421 TCL::mxmpy(ac, &_BLNK__1.a[100], &_BLNK__1.b[100], 2, 3, 2);
422 Mverif(0, _BLNK__1.b, &_BLNK__1.b[100], 4);
424 TCL::mxmlrt(ac, c2c, _BLNK__1.a, 2, 3);
425 Mverif(1, _BLNK__1.a, _BLNK__1.b, 4);
427 TCL::mxmpy2(c1c, c2c, _BLNK__1.a, 4, 3, 3);
428 TCL::mxmpy(_BLNK__1.a, c1c, _BLNK__1.b, 4, 3, 4);
429 TCL::mxmpy(c2c, c1c, &_BLNK__1.a[100], 3, 3, 4);
430 TCL::mxmpy2(c1c, &_BLNK__1.a[100], &_BLNK__1.b[100], 4, 3, 4);
431 Mverif(10, _BLNK__1.b, &_BLNK__1.b[100], 16);
433 TCL::mxmltr(c1c, c2c, _BLNK__1.a, 4, 3);
434 Mverif(11, _BLNK__1.a, _BLNK__1.b, 16);
static float * mxtrp(const float *a, float *b, int i, int j)