00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "StMicky.h"
00029 #if ROOT_VERSION_CODE < ROOT_VERSION(5,13,0)
00030 # include "TCL.h"
00031 #else
00032 # include "TCernLib.h"
00033 #endif
00034 #include <Stiostream.h>
00035
00036
00037 int StMicky::ttrinv()
00038 {
00039
00040
00041
00042 float ac[10] = { 1.,0.,0.,2.,0.,13.,4.,0.,23.,77. };
00043 float cc[10] = { 0.2, -8.0, 4.0, 0.0, 0.0, 0.0, 4.2, -2.0, 0.0,1.0 };
00044 float qc[10] = { 5.0, 10.0, .25, 0.0, 0.0, 0.0,-1.0, 0.5, 0.0,1.0 };
00045 float rc[10] = { 1.45679,0.,0.,-.191358,0.,.1882716,-.0185185,0.,-.0462963,.02777778 };
00046 struct {
00047 int e_1;
00048 char e_2[4];
00049 int e_3;
00050 char e_4[4];
00051 } equiv_11 = { 1000, {'I', 'N', 'V', ' '}, 1, {'4', '*', '4', ' '} };
00052
00053 #define tinf ((int *)&equiv_11)
00054
00055 static struct {
00056 char e_1[4];
00057 int e_2;
00058 } equiv_12 = { {'S', 'I', 'N', 'V'}, 0 };
00059
00060 #define tinfs2 (*(int *)&equiv_12)
00061
00062 static struct {
00063 char e_1[4];
00064 int e_2;
00065 } equiv_13 = { {'4', '*', '4', ' '}, 0 };
00066
00067 #define tinfs4 (*(int *)&equiv_13)
00068
00069
00070
00071 static int j;
00072
00073
00074 Newguy("TRINV -TRSINV.", "TTRINV ");
00075 param_1.zerlev = param_1.zerov[1];
00076 TCL::trinv(cc, _BLNK__1.a, 4);
00077 Mverif(11, _BLNK__1.a, qc, 10);
00078
00079 TCL::ucopy(cc, _BLNK__1.a, 10);
00080 TCL::trinv(_BLNK__1.a, _BLNK__1.a, 4);
00081 Mverif(12, _BLNK__1.a, qc, 10);
00082
00083 param_1.zerlev = param_1.zerov[3];
00084 TCL::trsinv(ac, _BLNK__1.a, 4);
00085 Mverif(21, _BLNK__1.a, rc, 10);
00086
00087 TCL::ucopy(ac, _BLNK__1.a, 10);
00088 TCL::trsinv(_BLNK__1.a, _BLNK__1.a, 4);
00089 Mverif(22, _BLNK__1.a, rc, 10);
00090
00091
00092 if (param_1.itimes == 0) return 0;
00093
00094 Timed(¶m_1.timerd);
00095 for (j = 1; j <= 1000; ++j)
00096 TCL::trinv(cc, _BLNK__1.a, 4);
00097
00098 Timing(tinf);
00099 tinf[1] = tinfs2;
00100 tinf[3] = tinfs4;
00101 Timed(¶m_1.timerd);
00102 for (j = 1; j <= 1000; ++j)
00103 TCL::trsinv(ac, _BLNK__1.a, 4);
00104 Timing(tinf);
00105 return 0;
00106 }
00107
00108 #undef tinfs4
00109 #undef tinfs2
00110 #undef tinf
00111
00112
00113
00114 int StMicky::ttrla()
00115 {
00116
00117
00118
00119 float xc[10] = { 77.,62.,69.,17., 23.,10.,52.,45.,11.,38. };
00120 float yc[12] = { 4.,29.,0.,69., 6.,24.,0.,74.,5.,16.,0., 42. };
00121 float ac[10] = { 1.,0.,0.,2.,0.,13.,4.,0.,23.,77. };
00122 float asc[12] = { 30.,44.,0.,69.,34.,49.,0.,74.,17.,26., 0.,42. };
00123 float sac[12] = { 18.,23.,19.,27.,37.,28.,0.,0.,0.,43.,64.,44. };
00124 float satc[12] = { 30.,34.,17.,44.,49.,26.,0.,0.,0.,69.,74.,42. };
00125 float atsc[12] = { 18.,27.,0.,43.,23.,37.,0.,64.,19.,28.,0.,44. };
00126 float atsac[6] = { 239.,331.,447.,248.,345.,257. };
00127 float qsqc[10] = { 1265.,1594.,2009.,0.,0.,0.,1940.,2446.,0.,2980. };
00128 float upckc[16] = { 1.,2.,4.,7.,2.,3.,5.,8.,4.,5.,6.,9.,7.,8.,9.,10. };
00129 float pckc[10] = { 1.,2.,3.,4.,5.,6.,7.,8.,9.,10. };
00130 struct {
00131 int e_1;
00132 char e_2[4];
00133 int e_3;
00134 char e_4[4];
00135 } equiv_25 = { 1000, {' ', ' ', ' ', ' '}, 1, {' ', ' ', ' ', ' '} };
00136
00137 #define tinf ((int *)&equiv_25)
00138
00139 struct {
00140 char e_1[60];
00141 int e_2;
00142 } equiv_26 = { {'L', 'A', ' ', ' ', 'L', 'T', 'A', ' ', 'A', 'L', ' ',
00143 ' ', 'A', 'L', 'T', ' ', 'A', 'A', 'T', ' ', 'A', 'T', 'A',
00144 ' ', 'A', 'S', 'A', 'T', 'A', 'T', 'S', 'A', 'Q', 'S', 'Q',
00145 ' ', 'S', 'A', ' ', ' ', 'A', 'S', ' ', ' ', 'S', 'A', 'T',
00146 ' ', 'A', 'T', 'S', ' ', 'P', 'C', 'K', ' ', 'U', 'P', 'C',
00147 'K'}, 0 };
00148
00149 #define tinf2 ((int *)&equiv_26)
00150
00151 struct {
00152 char e_1[60];
00153 int e_2;
00154 } equiv_27 = { {'4', '4', '3', ' ', '4', '4', '3', ' ', '3', '4', '4',
00155 ' ', '3', '4', '4', ' ', '4', '*', '3', ' ', '4', '*', '3',
00156 ' ', '3', '4', '4', '3', '3', '4', '4', '3', '4', '4', '4',
00157 '4', '4', '4', '3', ' ', '3', '4', '4', ' ', '4', '4', '3',
00158 ' ', '3', '4', '4', ' ', '4', '*', '4', ' ', '4', '*', '4',
00159 ' '}, 0 };
00160
00161 #define tinf4 ((int *)&equiv_27)
00162
00163 float dc[10] = { 1.,2.,3.,0.,0.,0.,4.,5.,0.,6. };
00164 float ec[12] = { 4.,7.,3.,3.,6.,4.,0.,5.,5.,2.,1.,2. };
00165 float sc[6] = { 1384.,1712.,2201.,858.,1075.,538. };
00166 float tc[12] = { 18.,23.,19.,19.,23.,22.,0.,0.,0.,12.,6.,12. };
00167 float uc[12] = { 30.,36.,0.,18.,34.,37.,0.,30.,17.,16.,0.,12. };
00168 float vc[12] = { 4.,7.,3.,17.,32.,18.,0.,0.,0.,43.,64.,44. };
00169 float wc[10] = { 74.,66.,61.,50.,50.,50.,21.,20.,15.,9. };
00170
00171
00172 int j;
00173 Newguy("TRLA-TRLTA-TRAL-TRALT.", "TTRLA ");
00174 param_1.zerlev = param_1.zerov[1];
00175 TCL::trla(dc, ec, _BLNK__1.a, 4, 3);
00176 Mverif(111, _BLNK__1.a, vc, 12);
00177
00178 TCL::ucopy(ec, _BLNK__1.a, 12);
00179 TCL::trla(dc, _BLNK__1.a, _BLNK__1.a, 4, 3);
00180 Mverif(112, _BLNK__1.a, vc, 12);
00181
00182 TCL::trlta(dc, ec, _BLNK__1.a, 4, 3);
00183 Mverif(121, _BLNK__1.a, tc, 12);
00184 TCL::ucopy(ec, _BLNK__1.a, 12);
00185 TCL::trlta(dc, _BLNK__1.a, _BLNK__1.a, 4, 3);
00186 Mverif(122, _BLNK__1.a, tc, 12);
00187
00188 TCL::tral(ec, dc, _BLNK__1.a, 3, 4);
00189 Mverif(131, _BLNK__1.a, uc, 12);
00190 TCL::ucopy(ec, _BLNK__1.a, 12);
00191 TCL::tral(_BLNK__1.a, dc, _BLNK__1.a, 3, 4);
00192 Mverif(132, _BLNK__1.a, uc, 12);
00193
00194 TCL::tralt(ec, dc, _BLNK__1.a, 3, 4);
00195 Mverif(141, _BLNK__1.a, yc, 12);
00196 TCL::ucopy(ec, _BLNK__1.a, 12);
00197 TCL::tralt(_BLNK__1.a, dc, _BLNK__1.a, 3, 4);
00198 Mverif(142, _BLNK__1.a, yc, 12);
00199
00200
00201 if (param_1.itimes == 0) goto L180;
00202
00203 tinf[1] = tinf2[0];
00204 tinf[3] = tinf4[0];
00205 Timed(¶m_1.timerd);
00206 for (j = 1; j <= 1000; ++j)
00207 TCL::trla(dc, ec, _BLNK__1.a, 4, 3);
00208
00209 Timing(tinf);
00210 tinf[1] = tinf2[1];
00211 tinf[3] = tinf4[1];
00212 Timed(¶m_1.timerd);
00213 for (j = 1; j <= 1000; ++j)
00214 TCL::trlta(dc, ec, _BLNK__1.a, 4, 3);
00215
00216 Timing(tinf);
00217 tinf[1] = tinf2[2];
00218 tinf[3] = tinf4[2];
00219 Timed(¶m_1.timerd);
00220 for (j = 1; j <= 1000; ++j)
00221 TCL::tral(ec, dc, _BLNK__1.a, 3, 4);
00222
00223 Timing(tinf);
00224 tinf[1] = tinf2[3];
00225 tinf[3] = tinf4[3];
00226 Timed(¶m_1.timerd);
00227
00228 for (j = 1; j <= 1000; ++j)
00229 TCL::tralt(ec, dc, _BLNK__1.a, 3, 4);
00230
00231 Timing(tinf);
00232
00233
00234 L180:
00235 Newguy("TRAAT-TRATA.", "TTRLA ");
00236 TCL::traat(ec, _BLNK__1.a, 4, 3);
00237 Mverif(211, _BLNK__1.a, wc, 10);
00238
00239 TCL::trata(ec, _BLNK__1.a, 4, 3);
00240 Mverif(221, _BLNK__1.a, xc, 10);
00241
00242
00243 if (param_1.itimes == 0) goto L280;
00244
00245 tinf[1] = tinf2[4];
00246 tinf[3] = tinf4[4];
00247 Timed(¶m_1.timerd);
00248
00249 for (j = 1; j <= 1000; ++j)
00250 TCL::traat(ec, _BLNK__1.a, 4, 3);
00251
00252 Timing(tinf);
00253 tinf[1] = tinf2[5];
00254 tinf[3] = tinf4[5];
00255 Timed(¶m_1.timerd);
00256
00257 for (j = 1; j <= 1000; ++j)
00258 TCL::trata(ec, _BLNK__1.a, 4, 3);
00259
00260 Timing(tinf);
00261
00262
00263 L280:
00264 Newguy("TRASAT-TRATSA-TRQSQ.", "TTRLA ");
00265 TCL::trasat(ec, ac, _BLNK__1.a, 3, 4);
00266 Mverif(311, _BLNK__1.a, sc, 6);
00267
00268 TCL::tratsa(ec, dc, _BLNK__1.a, 3, 4);
00269 Mverif(321, _BLNK__1.a, atsac, 6);
00270 TCL::trqsq(dc, ac, _BLNK__1.a, 4);
00271 Mverif(331, _BLNK__1.a, qsqc, 10);
00272
00273
00274 if (param_1.itimes == 0) goto L380;
00275
00276 tinf[1] = tinf2[6];
00277 tinf[3] = tinf4[6];
00278 Timed(¶m_1.timerd);
00279
00280 for (j = 1; j <= 1000; ++j)
00281 TCL::trasat(ac, ec, _BLNK__1.a, 4, 3);
00282
00283 Timing(tinf);
00284 tinf[1] = tinf2[7];
00285 tinf[3] = tinf4[7];
00286 Timed(¶m_1.timerd);
00287
00288 for (j = 1; j <= 1000; ++j)
00289 TCL::tratsa(ec, ac, _BLNK__1.a, 3, 4);
00290
00291 Timing(tinf);
00292 tinf[1] = tinf2[8];
00293 tinf[3] = tinf4[8];
00294 Timed(¶m_1.timerd);
00295 for (j = 1; j <= 1000; ++j)
00296 TCL::trqsq(dc, ac, _BLNK__1.a, 4);
00297
00298 Timing(tinf);
00299
00300
00301 L380:
00302 Newguy("TRSA-TRAS-TRSAT-TRATS.", "TTRLA ");
00303 TCL::trsa(dc, ec, _BLNK__1.a, 4, 3);
00304 Mverif(411, _BLNK__1.a, sac, 12);
00305
00306 TCL::tras(ec, dc, _BLNK__1.a, 3, 4);
00307 Mverif(421, _BLNK__1.a, asc, 12);
00308
00309 TCL::trsat(dc, ec, _BLNK__1.a, 4, 3);
00310 Mverif(431, _BLNK__1.a, satc, 12);
00311
00312 TCL::trats(ec, dc, _BLNK__1.a, 3, 4);
00313 Mverif(441, _BLNK__1.a, atsc, 12);
00314
00315
00316 if (param_1.itimes == 0) goto L480;
00317 tinf[1] = tinf2[9];
00318 tinf[3] = tinf4[9];
00319 Timed(¶m_1.timerd);
00320
00321 for (j = 1; j <= 1000; ++j)
00322 TCL::trsa(dc, ec, _BLNK__1.a, 4, 3);
00323
00324 Timing(tinf);
00325 tinf[1] = tinf2[10];
00326 tinf[3] = tinf4[10];
00327 Timed(¶m_1.timerd);
00328
00329 for (j = 1; j <= 1000; ++j)
00330 TCL::tras(ec, dc, _BLNK__1.a, 3, 4);
00331 Timing(tinf);
00332 tinf[1] = tinf2[11];
00333 tinf[3] = tinf4[11];
00334 Timed(¶m_1.timerd);
00335 for (j = 1; j <= 1000; ++j)
00336 TCL::trsat(dc, ec, _BLNK__1.a, 4, 3);
00337
00338 Timing(tinf);
00339 tinf[1] = tinf2[12];
00340 tinf[3] = tinf4[12];
00341 Timed(¶m_1.timerd);
00342 for (j = 1; j <= 1000; ++j)
00343 TCL::trats(ec, dc, _BLNK__1.a, 3, 4);
00344 Timing(tinf);
00345
00346
00347 L480:
00348 Newguy("TRPCK-TRUPCK.", "TTRLA ");
00349 TCL::trpck(upckc, _BLNK__1.a, 4);
00350 Mverif(511, _BLNK__1.a, pckc, 10);
00351
00352 TCL::trupck(pckc, _BLNK__1.b, 4);
00353 Mverif(521, _BLNK__1.b, upckc, 16);
00354
00355 TCL::trpck(_BLNK__1.b, _BLNK__1.b, 4);
00356 Mverif(512, _BLNK__1.b, pckc, 10);
00357 TCL::trupck(_BLNK__1.a, _BLNK__1.a, 4);
00358 Mverif(522, _BLNK__1.a, upckc, 16);
00359
00360
00361 if (param_1.itimes == 0) goto L580;
00362 tinf[1] = tinf2[13];
00363 tinf[3] = tinf4[13];
00364 Timed(¶m_1.timerd);
00365 for (j = 1; j <= 1000; ++j)
00366 TCL::trpck(_BLNK__1.a, _BLNK__1.b, 4);
00367
00368 Timing(tinf);
00369 tinf[3] = tinf4[14];
00370 tinf[1] = tinf2[14];
00371 Timed(¶m_1.timerd);
00372 for (j = 1; j <= 1000; ++j)
00373 TCL::trupck(_BLNK__1.a, _BLNK__1.b, 4);
00374
00375 Timing(tinf);
00376 L580:
00377 return 0;
00378 }
00379
00380 #undef tinf4
00381 #undef tinf2
00382 #undef tinf
00383
00384
00385
00386
00387 int StMicky::ttrcho()
00388 {
00389
00390
00391 struct {
00392 char e_1[4];
00393 int e_2;
00394 } equiv_14 = { {'S', 'M', 'U', 'L'}, 0 };
00395
00396 #define tinfm2 (*(int *)&equiv_14)
00397
00398 struct {
00399 char e_1[4];
00400 int e_2;
00401 } equiv_15 = { {'4', '*', '4', ' '}, 0 };
00402
00403 #define tinfm4 (*(int *)&equiv_15)
00404
00405 #if 0
00406 struct {
00407 char e_1[4];
00408 float e_2;
00409 } equiv_16 = { {'S', 'M', 'L', 'U'}, 0. };
00410 #endif
00411
00412 #define tinfl2 (*(float *)&equiv_16)
00413
00414 float ac[10] = { 1.,0.,0.,2.,0.,13.,4.,0.,23.,77. };
00415 float bc[10] = { 21.,26.,34.,0.,0.,0.,24.,30.,0.,36. };
00416 float dc[10] = { 1.,2.,3.,0.,0.,0.,4.,5.,0.,6. };
00417 float pc[10] = { 1.,0.,0.,2.,0.,3.,4.,0.,5.,6. };
00418 float ec[10] = { 1.,2.,13.,0.,0.,0.,4.,23.,0.,77. };
00419 struct {
00420 int e_1;
00421 char e_2[4];
00422 int e_3;
00423 char e_4[4];
00424 } equiv_17 = { 1000, {'C', 'H', 'L', 'U'}, 1, {'4', '*', '4', ' '} };
00425
00426 #define tinf ((int *)&equiv_17)
00427
00428 struct {
00429 char e_1[4];
00430 int e_2;
00431 } equiv_18 = { {'C', 'H', 'U', 'L'}, 0 };
00432
00433 #define tinft2 (*(int *)&equiv_18)
00434
00435
00436
00437 int j;
00438 Newguy("TRCHLU-TRCHUL.", "TTRCHO ");
00439 param_1.zerlev = param_1.zerov[2];
00440 TCL::trchlu(ac, _BLNK__1.a, 4);
00441 Mverif(11, _BLNK__1.a, pc, 10);
00442
00443 TCL::ucopy(ac, _BLNK__1.a, 10);
00444 TCL::trchlu(_BLNK__1.a, _BLNK__1.a, 4);
00445 Mverif(12, _BLNK__1.a, pc, 10);
00446
00447 TCL::trchul(bc, _BLNK__1.a, 4);
00448 Mverif(21, _BLNK__1.a, dc, 10);
00449 TCL::ucopy(bc, _BLNK__1.a, 10);
00450 TCL::trchul(_BLNK__1.a, _BLNK__1.a, 4);
00451 Mverif(22, _BLNK__1.a, dc, 10);
00452
00453
00454 if (param_1.itimes == 0) goto L120;
00455 Timed(¶m_1.timerd);
00456 for (j = 1; j <= 1000; ++j)
00457 TCL::trchlu(ac, _BLNK__1.a, 4);
00458
00459 Timing(tinf);
00460 tinf[1] = tinft2;
00461 Timed(¶m_1.timerd);
00462 for (j = 1; j <= 1000; ++j)
00463 TCL::trchul(bc, _BLNK__1.a, 4);
00464
00465 Timing(tinf);
00466
00467
00468 L120:
00469 Newguy("TRSMUL-TRSMLU.", "TTRCHO ");
00470 param_1.zerlev = param_1.zerov[1];
00471 TCL::trsmul(dc, _BLNK__1.a, 4);
00472 Mverif(11, _BLNK__1.a, bc, 10);
00473
00474 TCL::ucopy(dc, _BLNK__1.a, 10);
00475 TCL::trsmul(_BLNK__1.a, _BLNK__1.a, 4);
00476 Mverif(12, _BLNK__1.a, bc, 10);
00477
00478 TCL::trsmlu(dc, _BLNK__1.a, 4);
00479 Mverif(22, _BLNK__1.a, ec, 10);
00480
00481 TCL::ucopy(dc, _BLNK__1.a, 10);
00482 TCL::trsmlu(_BLNK__1.a, _BLNK__1.a, 4);
00483 Mverif(21, _BLNK__1.a, ec, 10);
00484
00485
00486 if (param_1.itimes == 0) return 0;
00487 tinf[1] = tinfm2;
00488 tinf[3] = tinfm4;
00489 Timed(¶m_1.timerd);
00490 for (j = 1; j <= 1000; ++j)
00491 TCL::trsmul(dc, _BLNK__1.a, 4);
00492
00493 Timing(tinf);
00494
00495 Timed(¶m_1.timerd);
00496 for (j = 1; j <= 1000; ++j)
00497 TCL::trsmlu(dc, _BLNK__1.a, 4);
00498
00499 Timing(tinf);
00500 return 0;
00501 }
00502