StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TTrF112.cxx
1 //*-- Author : Valery Fine(fine@bnl.gov) 25/09/99
2 //
3 // The test ("micky") of the set of methods to work with the plain
4 // matrix / vector "derived" from
5 // http://wwwinfo.cern.ch/asdoc/shortwrupsdir/f112/top.html
6 //
7 // $Id: TTrF112.cxx,v 1.6 2006/12/08 17:51:15 fine Exp $
8 // $Log: TTrF112.cxx,v $
9 // Revision 1.6 2006/12/08 17:51:15 fine
10 // prepare the test are to move to ROOT CVS
11 //
12 // Revision 1.5 2003/09/02 17:59:25 perev
13 // gcc 3.2 updates + WarnOff
14 //
15 // Revision 1.4 2000/03/26 03:16:05 fine
16 // Adjusted to ROOT 2.24
17 //
18 // Revision 1.3 1999/12/07 22:33:11 fine
19 // Clean up to remove compilation warnings
20 //
21 // Revision 1.2 1999/09/28 19:54:57 fine
22 // RMath has been renamed to TCL
23 //
24 // Revision 1.1 1999/09/27 00:13:46 fine
25 // test F112 has been fixed for Sun
26 //
27 
28 #include "StMicky.h"
29 #if ROOT_VERSION_CODE < ROOT_VERSION(5,13,0)
30 # include "TCL.h"
31 #else
32 # include "TCernLib.h"
33 #endif
34 #include <Stiostream.h>
35 
36 //____________________________________________________________________________________
37 int StMicky::ttrinv()
38 {
39 // ttrinv.F -- translated by f2c (version 19970219).
40  /* Initialized data */
41 
42  float ac[10] = { 1.,0.,0.,2.,0.,13.,4.,0.,23.,77. };
43  float cc[10] = { 0.2, -8.0, 4.0, 0.0, 0.0, 0.0, 4.2, -2.0, 0.0,1.0 };
44  float qc[10] = { 5.0, 10.0, .25, 0.0, 0.0, 0.0,-1.0, 0.5, 0.0,1.0 };
45  float rc[10] = { 1.45679,0.,0.,-.191358,0.,.1882716,-.0185185,0.,-.0462963,.02777778 };
46  struct {
47  int e_1;
48  char e_2[4];
49  int e_3;
50  char e_4[4];
51  } equiv_11 = { 1000, {'I', 'N', 'V', ' '}, 1, {'4', '*', '4', ' '} };
52 
53 #define tinf ((int *)&equiv_11)
54 
55  static struct {
56  char e_1[4];
57  int e_2;
58  } equiv_12 = { {'S', 'I', 'N', 'V'}, 0 };
59 
60 #define tinfs2 (*(int *)&equiv_12)
61 
62  static struct {
63  char e_1[4];
64  int e_2;
65  } equiv_13 = { {'4', '*', '4', ' '}, 0 };
66 
67 #define tinfs4 (*(int *)&equiv_13)
68 
69 
70  /* Local variables */
71  static int j;
72 
73 
74  Newguy("TRINV -TRSINV.", "TTRINV ");
75  param_1.zerlev = param_1.zerov[1];
76  TCL::trinv(cc, _BLNK__1.a, 4);
77  Mverif(11, _BLNK__1.a, qc, 10);
78 
79  TCL::ucopy(cc, _BLNK__1.a, 10);
80  TCL::trinv(_BLNK__1.a, _BLNK__1.a, 4);
81  Mverif(12, _BLNK__1.a, qc, 10);
82 
83  param_1.zerlev = param_1.zerov[3];
84  TCL::trsinv(ac, _BLNK__1.a, 4);
85  Mverif(21, _BLNK__1.a, rc, 10);
86 
87  TCL::ucopy(ac, _BLNK__1.a, 10);
88  TCL::trsinv(_BLNK__1.a, _BLNK__1.a, 4);
89  Mverif(22, _BLNK__1.a, rc, 10);
90 /* - - - - - - - - - - - - - - - - - - - -- - - -- - - - - - - - - - - -
91 */
92  if (param_1.itimes == 0) return 0;
93 
94  Timed(&param_1.timerd);
95  for (j = 1; j <= 1000; ++j)
96  TCL::trinv(cc, _BLNK__1.a, 4);
97 
98  Timing(tinf);
99  tinf[1] = tinfs2;
100  tinf[3] = tinfs4;
101  Timed(&param_1.timerd);
102  for (j = 1; j <= 1000; ++j)
103  TCL::trsinv(ac, _BLNK__1.a, 4);
104  Timing(tinf);
105  return 0;
106 } /* trinv */
107 
108 #undef tinfs4
109 #undef tinfs2
110 #undef tinf
111 
112 
113 //____________________________________________________________________________________
114 /* Subroutine */ int StMicky::ttrla()
115 {
116 // ttrla.F -- translated by f2c (version 19970219).
117  /* Initialized data */
118 
119  float xc[10] = { 77.,62.,69.,17., 23.,10.,52.,45.,11.,38. };
120  float yc[12] = { 4.,29.,0.,69., 6.,24.,0.,74.,5.,16.,0., 42. };
121  float ac[10] = { 1.,0.,0.,2.,0.,13.,4.,0.,23.,77. };
122  float asc[12] = { 30.,44.,0.,69.,34.,49.,0.,74.,17.,26., 0.,42. };
123  float sac[12] = { 18.,23.,19.,27.,37.,28.,0.,0.,0.,43.,64.,44. };
124  float satc[12] = { 30.,34.,17.,44.,49.,26.,0.,0.,0.,69.,74.,42. };
125  float atsc[12] = { 18.,27.,0.,43.,23.,37.,0.,64.,19.,28.,0.,44. };
126  float atsac[6] = { 239.,331.,447.,248.,345.,257. };
127  float qsqc[10] = { 1265.,1594.,2009.,0.,0.,0.,1940.,2446.,0.,2980. };
128  float upckc[16] = { 1.,2.,4.,7.,2.,3.,5.,8.,4.,5.,6.,9.,7.,8.,9.,10. };
129  float pckc[10] = { 1.,2.,3.,4.,5.,6.,7.,8.,9.,10. };
130  struct {
131  int e_1;
132  char e_2[4];
133  int e_3;
134  char e_4[4];
135  } equiv_25 = { 1000, {' ', ' ', ' ', ' '}, 1, {' ', ' ', ' ', ' '} };
136 
137 #define tinf ((int *)&equiv_25)
138 
139  struct {
140  char e_1[60];
141  int e_2;
142  } equiv_26 = { {'L', 'A', ' ', ' ', 'L', 'T', 'A', ' ', 'A', 'L', ' ',
143  ' ', 'A', 'L', 'T', ' ', 'A', 'A', 'T', ' ', 'A', 'T', 'A',
144  ' ', 'A', 'S', 'A', 'T', 'A', 'T', 'S', 'A', 'Q', 'S', 'Q',
145  ' ', 'S', 'A', ' ', ' ', 'A', 'S', ' ', ' ', 'S', 'A', 'T',
146  ' ', 'A', 'T', 'S', ' ', 'P', 'C', 'K', ' ', 'U', 'P', 'C',
147  'K'}, 0 };
148 
149 #define tinf2 ((int *)&equiv_26)
150 
151  struct {
152  char e_1[60];
153  int e_2;
154  } equiv_27 = { {'4', '4', '3', ' ', '4', '4', '3', ' ', '3', '4', '4',
155  ' ', '3', '4', '4', ' ', '4', '*', '3', ' ', '4', '*', '3',
156  ' ', '3', '4', '4', '3', '3', '4', '4', '3', '4', '4', '4',
157  '4', '4', '4', '3', ' ', '3', '4', '4', ' ', '4', '4', '3',
158  ' ', '3', '4', '4', ' ', '4', '*', '4', ' ', '4', '*', '4',
159  ' '}, 0 };
160 
161 #define tinf4 ((int *)&equiv_27)
162 
163  float dc[10] = { 1.,2.,3.,0.,0.,0.,4.,5.,0.,6. };
164  float ec[12] = { 4.,7.,3.,3.,6.,4.,0.,5.,5.,2.,1.,2. };
165  float sc[6] = { 1384.,1712.,2201.,858.,1075.,538. };
166  float tc[12] = { 18.,23.,19.,19.,23.,22.,0.,0.,0.,12.,6.,12. };
167  float uc[12] = { 30.,36.,0.,18.,34.,37.,0.,30.,17.,16.,0.,12. };
168  float vc[12] = { 4.,7.,3.,17.,32.,18.,0.,0.,0.,43.,64.,44. };
169  float wc[10] = { 74.,66.,61.,50.,50.,50.,21.,20.,15.,9. };
170 
171  /* Local variables */
172  int j;
173  Newguy("TRLA-TRLTA-TRAL-TRALT.", "TTRLA ");
174  param_1.zerlev = param_1.zerov[1];
175  TCL::trla(dc, ec, _BLNK__1.a, 4, 3);
176  Mverif(111, _BLNK__1.a, vc, 12);
177 
178  TCL::ucopy(ec, _BLNK__1.a, 12);
179  TCL::trla(dc, _BLNK__1.a, _BLNK__1.a, 4, 3);
180  Mverif(112, _BLNK__1.a, vc, 12);
181 
182  TCL::trlta(dc, ec, _BLNK__1.a, 4, 3);
183  Mverif(121, _BLNK__1.a, tc, 12);
184  TCL::ucopy(ec, _BLNK__1.a, 12);
185  TCL::trlta(dc, _BLNK__1.a, _BLNK__1.a, 4, 3);
186  Mverif(122, _BLNK__1.a, tc, 12);
187 
188  TCL::tral(ec, dc, _BLNK__1.a, 3, 4);
189  Mverif(131, _BLNK__1.a, uc, 12);
190  TCL::ucopy(ec, _BLNK__1.a, 12);
191  TCL::tral(_BLNK__1.a, dc, _BLNK__1.a, 3, 4);
192  Mverif(132, _BLNK__1.a, uc, 12);
193 
194  TCL::tralt(ec, dc, _BLNK__1.a, 3, 4);
195  Mverif(141, _BLNK__1.a, yc, 12);
196  TCL::ucopy(ec, _BLNK__1.a, 12);
197  TCL::tralt(_BLNK__1.a, dc, _BLNK__1.a, 3, 4);
198  Mverif(142, _BLNK__1.a, yc, 12);
199 /* - - - - - - - - - - - - - - - - - - - - - - - -
200 */
201  if (param_1.itimes == 0) goto L180;
202 
203  tinf[1] = tinf2[0];
204  tinf[3] = tinf4[0];
205  Timed(&param_1.timerd);
206  for (j = 1; j <= 1000; ++j)
207  TCL::trla(dc, ec, _BLNK__1.a, 4, 3);
208 
209  Timing(tinf);
210  tinf[1] = tinf2[1];
211  tinf[3] = tinf4[1];
212  Timed(&param_1.timerd);
213  for (j = 1; j <= 1000; ++j)
214  TCL::trlta(dc, ec, _BLNK__1.a, 4, 3);
215 
216  Timing(tinf);
217  tinf[1] = tinf2[2];
218  tinf[3] = tinf4[2];
219  Timed(&param_1.timerd);
220  for (j = 1; j <= 1000; ++j)
221  TCL::tral(ec, dc, _BLNK__1.a, 3, 4);
222 
223  Timing(tinf);
224  tinf[1] = tinf2[3];
225  tinf[3] = tinf4[3];
226  Timed(&param_1.timerd);
227 
228  for (j = 1; j <= 1000; ++j)
229  TCL::tralt(ec, dc, _BLNK__1.a, 3, 4);
230 
231  Timing(tinf);
232 /* ----------------------------------------------------------------------
233 */
234 L180:
235  Newguy("TRAAT-TRATA.", "TTRLA ");
236  TCL::traat(ec, _BLNK__1.a, 4, 3);
237  Mverif(211, _BLNK__1.a, wc, 10);
238 
239  TCL::trata(ec, _BLNK__1.a, 4, 3);
240  Mverif(221, _BLNK__1.a, xc, 10);
241 /* - - - - - - - - - - - - - - - - - - - - - - - -
242 */
243  if (param_1.itimes == 0) goto L280;
244 
245  tinf[1] = tinf2[4];
246  tinf[3] = tinf4[4];
247  Timed(&param_1.timerd);
248 
249  for (j = 1; j <= 1000; ++j)
250  TCL::traat(ec, _BLNK__1.a, 4, 3);
251 
252  Timing(tinf);
253  tinf[1] = tinf2[5];
254  tinf[3] = tinf4[5];
255  Timed(&param_1.timerd);
256 
257  for (j = 1; j <= 1000; ++j)
258  TCL::trata(ec, _BLNK__1.a, 4, 3);
259 
260  Timing(tinf);
261 /* ----------------------------------------------------------------------
262 */
263 L280:
264  Newguy("TRASAT-TRATSA-TRQSQ.", "TTRLA ");
265  TCL::trasat(ec, ac, _BLNK__1.a, 3, 4);
266  Mverif(311, _BLNK__1.a, sc, 6);
267 
268  TCL::tratsa(ec, dc, _BLNK__1.a, 3, 4);
269  Mverif(321, _BLNK__1.a, atsac, 6);
270  TCL::trqsq(dc, ac, _BLNK__1.a, 4);
271  Mverif(331, _BLNK__1.a, qsqc, 10);
272 /* - - - - - - - - - - - - - - - - - - - - - - - -
273 */
274  if (param_1.itimes == 0) goto L380;
275 
276  tinf[1] = tinf2[6];
277  tinf[3] = tinf4[6];
278  Timed(&param_1.timerd);
279 
280  for (j = 1; j <= 1000; ++j)
281  TCL::trasat(ac, ec, _BLNK__1.a, 4, 3);
282 
283  Timing(tinf);
284  tinf[1] = tinf2[7];
285  tinf[3] = tinf4[7];
286  Timed(&param_1.timerd);
287 
288  for (j = 1; j <= 1000; ++j)
289  TCL::tratsa(ec, ac, _BLNK__1.a, 3, 4);
290 
291  Timing(tinf);
292  tinf[1] = tinf2[8];
293  tinf[3] = tinf4[8];
294  Timed(&param_1.timerd);
295  for (j = 1; j <= 1000; ++j)
296  TCL::trqsq(dc, ac, _BLNK__1.a, 4);
297 
298  Timing(tinf);
299 /* ----------------------------------------------------------------------
300 */
301 L380:
302  Newguy("TRSA-TRAS-TRSAT-TRATS.", "TTRLA ");
303  TCL::trsa(dc, ec, _BLNK__1.a, 4, 3);
304  Mverif(411, _BLNK__1.a, sac, 12);
305 
306  TCL::tras(ec, dc, _BLNK__1.a, 3, 4);
307  Mverif(421, _BLNK__1.a, asc, 12);
308 
309  TCL::trsat(dc, ec, _BLNK__1.a, 4, 3);
310  Mverif(431, _BLNK__1.a, satc, 12);
311 
312  TCL::trats(ec, dc, _BLNK__1.a, 3, 4);
313  Mverif(441, _BLNK__1.a, atsc, 12);
314 /* - - - - - - - - - - - - - - - - - - - - - - - -
315 */
316  if (param_1.itimes == 0) goto L480;
317  tinf[1] = tinf2[9];
318  tinf[3] = tinf4[9];
319  Timed(&param_1.timerd);
320 
321  for (j = 1; j <= 1000; ++j)
322  TCL::trsa(dc, ec, _BLNK__1.a, 4, 3);
323 
324  Timing(tinf);
325  tinf[1] = tinf2[10];
326  tinf[3] = tinf4[10];
327  Timed(&param_1.timerd);
328 
329  for (j = 1; j <= 1000; ++j)
330  TCL::tras(ec, dc, _BLNK__1.a, 3, 4);
331  Timing(tinf);
332  tinf[1] = tinf2[11];
333  tinf[3] = tinf4[11];
334  Timed(&param_1.timerd);
335  for (j = 1; j <= 1000; ++j)
336  TCL::trsat(dc, ec, _BLNK__1.a, 4, 3);
337 
338  Timing(tinf);
339  tinf[1] = tinf2[12];
340  tinf[3] = tinf4[12];
341  Timed(&param_1.timerd);
342  for (j = 1; j <= 1000; ++j)
343  TCL::trats(ec, dc, _BLNK__1.a, 3, 4);
344  Timing(tinf);
345 /* ----------------------------------------------------------------------
346 */
347 L480:
348  Newguy("TRPCK-TRUPCK.", "TTRLA ");
349  TCL::trpck(upckc, _BLNK__1.a, 4);
350  Mverif(511, _BLNK__1.a, pckc, 10);
351 
352  TCL::trupck(pckc, _BLNK__1.b, 4);
353  Mverif(521, _BLNK__1.b, upckc, 16);
354 
355  TCL::trpck(_BLNK__1.b, _BLNK__1.b, 4);
356  Mverif(512, _BLNK__1.b, pckc, 10);
357  TCL::trupck(_BLNK__1.a, _BLNK__1.a, 4);
358  Mverif(522, _BLNK__1.a, upckc, 16);
359 /* - - - - - - - - - - - - - - - - - - - - - - - -
360 */
361  if (param_1.itimes == 0) goto L580;
362  tinf[1] = tinf2[13];
363  tinf[3] = tinf4[13];
364  Timed(&param_1.timerd);
365  for (j = 1; j <= 1000; ++j)
366  TCL::trpck(_BLNK__1.a, _BLNK__1.b, 4);
367 
368  Timing(tinf);
369  tinf[3] = tinf4[14];
370  tinf[1] = tinf2[14];
371  Timed(&param_1.timerd);
372  for (j = 1; j <= 1000; ++j)
373  TCL::trupck(_BLNK__1.a, _BLNK__1.b, 4);
374 
375  Timing(tinf);
376 L580:
377  return 0;
378 } /* trla */
379 
380 #undef tinf4
381 #undef tinf2
382 #undef tinf
383 
384 
385 //____________________________________________________________________________________
386 // ttrcho.F -- translated by f2c (version 19970219).
387 int StMicky::ttrcho()
388 {
389  /* Initialized data */
390 
391  struct {
392  char e_1[4];
393  int e_2;
394  } equiv_14 = { {'S', 'M', 'U', 'L'}, 0 };
395 
396 #define tinfm2 (*(int *)&equiv_14)
397 
398  struct {
399  char e_1[4];
400  int e_2;
401  } equiv_15 = { {'4', '*', '4', ' '}, 0 };
402 
403 #define tinfm4 (*(int *)&equiv_15)
404 
405 #if 0
406  struct {
407  char e_1[4];
408  float e_2;
409  } equiv_16 = { {'S', 'M', 'L', 'U'}, 0. };
410 #endif
411 
412 #define tinfl2 (*(float *)&equiv_16)
413 
414  float ac[10] = { 1.,0.,0.,2.,0.,13.,4.,0.,23.,77. };
415  float bc[10] = { 21.,26.,34.,0.,0.,0.,24.,30.,0.,36. };
416  float dc[10] = { 1.,2.,3.,0.,0.,0.,4.,5.,0.,6. };
417  float pc[10] = { 1.,0.,0.,2.,0.,3.,4.,0.,5.,6. };
418  float ec[10] = { 1.,2.,13.,0.,0.,0.,4.,23.,0.,77. };
419  struct {
420  int e_1;
421  char e_2[4];
422  int e_3;
423  char e_4[4];
424  } equiv_17 = { 1000, {'C', 'H', 'L', 'U'}, 1, {'4', '*', '4', ' '} };
425 
426 #define tinf ((int *)&equiv_17)
427 
428  struct {
429  char e_1[4];
430  int e_2;
431  } equiv_18 = { {'C', 'H', 'U', 'L'}, 0 };
432 
433 #define tinft2 (*(int *)&equiv_18)
434 
435 
436  /* Local variables */
437  int j;
438  Newguy("TRCHLU-TRCHUL.", "TTRCHO ");
439  param_1.zerlev = param_1.zerov[2];
440  TCL::trchlu(ac, _BLNK__1.a, 4);
441  Mverif(11, _BLNK__1.a, pc, 10);
442 
443  TCL::ucopy(ac, _BLNK__1.a, 10);
444  TCL::trchlu(_BLNK__1.a, _BLNK__1.a, 4);
445  Mverif(12, _BLNK__1.a, pc, 10);
446 
447  TCL::trchul(bc, _BLNK__1.a, 4);
448  Mverif(21, _BLNK__1.a, dc, 10);
449  TCL::ucopy(bc, _BLNK__1.a, 10);
450  TCL::trchul(_BLNK__1.a, _BLNK__1.a, 4);
451  Mverif(22, _BLNK__1.a, dc, 10);
452 /* - - - - - - - - - - - - - - - - - - - -- - - -- - - - - - - - - - - -
453 */
454  if (param_1.itimes == 0) goto L120;
455  Timed(&param_1.timerd);
456  for (j = 1; j <= 1000; ++j)
457  TCL::trchlu(ac, _BLNK__1.a, 4);
458 
459  Timing(tinf);
460  tinf[1] = tinft2;
461  Timed(&param_1.timerd);
462  for (j = 1; j <= 1000; ++j)
463  TCL::trchul(bc, _BLNK__1.a, 4);
464 
465  Timing(tinf);
466 /* -----------------------------------------------------------------------
467  */
468 L120:
469  Newguy("TRSMUL-TRSMLU.", "TTRCHO ");
470  param_1.zerlev = param_1.zerov[1];
471  TCL::trsmul(dc, _BLNK__1.a, 4);
472  Mverif(11, _BLNK__1.a, bc, 10);
473 
474  TCL::ucopy(dc, _BLNK__1.a, 10);
475  TCL::trsmul(_BLNK__1.a, _BLNK__1.a, 4);
476  Mverif(12, _BLNK__1.a, bc, 10);
477 
478  TCL::trsmlu(dc, _BLNK__1.a, 4);
479  Mverif(22, _BLNK__1.a, ec, 10);
480 
481  TCL::ucopy(dc, _BLNK__1.a, 10);
482  TCL::trsmlu(_BLNK__1.a, _BLNK__1.a, 4);
483  Mverif(21, _BLNK__1.a, ec, 10);
484 /* - - - - - - - - - - - - - - - - - - - -- - - -- - - - - - - - - - - -
485 */
486  if (param_1.itimes == 0) return 0;
487  tinf[1] = tinfm2;
488  tinf[3] = tinfm4;
489  Timed(&param_1.timerd);
490  for (j = 1; j <= 1000; ++j)
491  TCL::trsmul(dc, _BLNK__1.a, 4);
492 
493  Timing(tinf);
494 // tinf[1] = tinfl2;
495  Timed(&param_1.timerd);
496  for (j = 1; j <= 1000; ++j)
497  TCL::trsmlu(dc, _BLNK__1.a, 4);
498 
499  Timing(tinf);
500  return 0;
501 } /* ttrcho_ */
502 
static float * traat(const float *a, float *s, int m, int n)
Definition: TCernLib.cxx:293
static float * trsmul(const float *g, float *gi, int n)
Definition: TCernLib.cxx:1212
static float * trata(const float *a, float *r, int m, int n)
Definition: TCernLib.cxx:589
static float * trinv(const float *t, float *s, int n)
Definition: TCernLib.cxx:857
static float * trsat(const float *s, const float *a, float *b, int m, int n)
Definition: TCernLib.cxx:1298
static float * trpck(const float *s, float *u, int n)
Definition: TCernLib.cxx:1010
static float * trsa(const float *s, const float *a, float *b, int m, int n)
Definition: TCernLib.cxx:1111
static float * tralt(const float *a, const float *u, float *b, int m, int n)
Definition: TCernLib.cxx:407
static float * trlta(const float *u, const float *a, float *b, int m, int n)
Definition: TCernLib.cxx:959
static float * trqsq(const float *q, const float *s, float *r, int m)
Definition: TCernLib.cxx:1045
static float * trats(const float *a, const float *s, float *b, int m, int n)
Definition: TCernLib.cxx:629
static float * tral(const float *a, const float *u, float *b, int m, int n)
Definition: TCernLib.cxx:350
static float * trchul(const float *a, float *b, int n)
Definition: TCernLib.cxx:793
static float * trsinv(const float *g, float *gi, int n)
Definition: TCernLib.cxx:1160
static float * trasat(const float *a, const float *s, float *r, int m, int n)
Definition: TCernLib.cxx:540
static float * trsmlu(const float *u, float *s, int n)
Definition: TCernLib.cxx:1177
static float * tras(const float *a, const float *s, float *b, int m, int n)
Definition: TCernLib.cxx:470
static float * trupck(const float *u, float *s, int m)
Definition: TCernLib.cxx:1248
static float * tratsa(const float *a, const float *s, float *r, int m, int n)
Definition: TCernLib.cxx:677
static float * trchlu(const float *a, float *b, int n)
Definition: TCernLib.cxx:733
static float * trla(const float *u, const float *a, float *b, int m, int n)
Definition: TCernLib.cxx:915