#include <TCL.h>
Public Member Functions | |
| virtual | ~TCL () |
Static Public Member Functions | |
| int * | ucopy (const int *a, int *b, int n) |
| float * | ucopy (const float *a, float *b, int n) |
| double * | ucopy (const float *a, double *b, int n) |
| float * | ucopy (const double *a, float *b, int n) |
| double * | ucopy (const double *a, double *b, int n) |
| void ** | ucopy (const void **a, void **b, int n) |
| float * | vzero (float *a, int n2) |
| double * | vzero (double *a, int n2) |
| void ** | vzero (void **a, int n2) |
| float * | vadd (const float *b, const float *c, float *a, int n) |
| double * | vadd (const double *b, const double *c, double *a, int n) |
| float * | vadd (const float *b, const double *c, float *a, int n) |
| double * | vadd (const double *b, const float *c, double *a, int n) |
| float | vdot (const float *b, const float *a, int n) |
| double | vdot (const double *b, const double *a, int n) |
| float * | vsub (const float *a, const float *b, float *x, int n) |
| double * | vsub (const double *a, const double *b, double *x, int n) |
| float * | vsub (const float *b, const double *c, float *a, int n) |
| double * | vsub (const double *b, const float *c, double *a, int n) |
| float * | vcopyn (const float *a, float *x, int n) |
| double * | vcopyn (const double *a, double *x, int n) |
| float * | vscale (const float *a, float scale, float *b, int n) |
| double * | vscale (const double *a, double scale, double *b, int n) |
| float * | vlinco (const float *a, float fa, const float *b, float fb, float *x, int n) |
| double * | vlinco (const double *a, double fa, const double *b, double fb, double *x, int n) |
| float * | vmatl (const float *g, const float *c, float *x, int n=3, int m=3) |
| double * | vmatl (const double *g, const double *c, double *x, int n=3, int m=3) |
| float * | vmatr (const float *c, const float *g, float *x, int n=3, int m=3) |
| double * | vmatr (const double *c, const double *g, double *x, int n=3, int m=3) |
| float * | mxmad_0_ (int n, const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmad (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmad1 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmad2 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmad3 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmpy (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmpy1 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmpy2 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmpy3 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmub (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmub1 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmub2 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmub3 (const float *a, const float *b, float *c, int i, int j, int k) |
| float * | mxmlrt_0_ (int n__, const float *a, const float *b, float *c, int ni, int nj) |
| float * | mxmlrt (const float *a, const float *b, float *c, int ni, int nj) |
| float * | mxmltr (const float *a, const float *b, float *c, int ni, int nj) |
| float * | mxtrp (const float *a, float *b, int i, int j) |
| double * | mxmad_0_ (int n, const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmad (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmad1 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmad2 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmad3 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmpy (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmpy1 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmpy2 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmpy3 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmub (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmub1 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmub2 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmub3 (const double *a, const double *b, double *c, int i, int j, int k) |
| double * | mxmlrt_0_ (int n__, const double *a, const double *b, double *c, int ni, int nj) |
| double * | mxmlrt (const double *a, const double *b, double *c, int ni, int nj) |
| double * | mxmltr (const double *a, const double *b, double *c, int ni, int nj) |
| double * | mxtrp (const double *a, double *b, int i, int j) |
| float * | traat (const float *a, float *s, int m, int n) |
| float * | tral (const float *a, const float *u, float *b, int m, int n) |
| float * | tralt (const float *a, const float *u, float *b, int m, int n) |
| float * | tras (const float *a, const float *s, float *b, int m, int n) |
| float * | trasat (const float *a, const float *s, float *r, int m, int n) |
| float * | trasat (const double *a, const float *s, float *r, int m, int n) |
| float * | trata (const float *a, float *r, int m, int n) |
| float * | trats (const float *a, const float *s, float *b, int m, int n) |
| float * | tratsa (const float *a, const float *s, float *r, int m, int n) |
| float * | trchlu (const float *a, float *b, int n) |
| float * | trchul (const float *a, float *b, int n) |
| float * | trinv (const float *t, float *s, int n) |
| float * | trla (const float *u, const float *a, float *b, int m, int n) |
| float * | trlta (const float *u, const float *a, float *b, int m, int n) |
| float * | trpck (const float *s, float *u, int n) |
| float * | trqsq (const float *q, const float *s, float *r, int m) |
| float * | trsa (const float *s, const float *a, float *b, int m, int n) |
| float * | trsinv (const float *g, float *gi, int n) |
| float * | trsmlu (const float *u, float *s, int n) |
| float * | trsmul (const float *g, float *gi, int n) |
| float * | trupck (const float *u, float *s, int m) |
| float * | trsat (const float *s, const float *a, float *b, int m, int n) |
| float * | trsequ (float *smx, int m=3, float *b=0, int n=1) |
| double * | traat (const double *a, double *s, int m, int n) |
| double * | tral (const double *a, const double *u, double *b, int m, int n) |
| double * | tralt (const double *a, const double *u, double *b, int m, int n) |
| double * | tras (const double *a, const double *s, double *b, int m, int n) |
| double * | trasat (const double *a, const double *s, double *r, int m, int n) |
| double * | trata (const double *a, double *r, int m, int n) |
| double * | trats (const double *a, const double *s, double *b, int m, int n) |
| double * | tratsa (const double *a, const double *s, double *r, int m, int n) |
| double * | trchlu (const double *a, double *b, int n) |
| double * | trchul (const double *a, double *b, int n) |
| double * | trinv (const double *t, double *s, int n) |
| double * | trla (const double *u, const double *a, double *b, int m, int n) |
| double * | trlta (const double *u, const double *a, double *b, int m, int n) |
| double * | trpck (const double *s, double *u, int n) |
| double * | trqsq (const double *q, const double *s, double *r, int m) |
| double * | trsa (const double *s, const double *a, double *b, int m, int n) |
| double * | trsinv (const double *g, double *gi, int n) |
| double * | trsmlu (const double *u, double *s, int n) |
| double * | trsmul (const double *g, double *gi, int n) |
| double * | trupck (const double *u, double *s, int m) |
| double * | trsat (const double *s, const double *a, double *b, int m, int n) |
| double * | trsequ (double *smx, int m=3, double *b=0, int n=1) |
|
|
Definition at line 41 of file TCL.h. 00041 { }
|
|
||||||||||||||||||||||||||||
|
Definition at line 270 of file TCL.h. References mxmad_0_(). 00271 {
00272 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00273 return mxmad_0_(0, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 183 of file TCL.h. References mxmad_0_(). 00184 {
00185 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00186 return mxmad_0_(0, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 276 of file TCL.h. References mxmad_0_(). 00277 {
00278 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00279 return mxmad_0_(1, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 189 of file TCL.h. References mxmad_0_(). 00190 {
00191 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad1.gif"> </P> End_Html //
00192 return mxmad_0_(1, a, q, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 282 of file TCL.h. References mxmad_0_(). 00283 {
00284 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00285 return mxmad_0_(2, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 195 of file TCL.h. References mxmad_0_(). 00196 {
00197 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad2.gif"> </P> End_Html //
00198 return mxmad_0_(2, p, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 288 of file TCL.h. References mxmad_0_(). 00289 {
00290 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00291 return mxmad_0_(3, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 201 of file TCL.h. References mxmad_0_(). 00202 {
00203 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad3.gif"> </P> End_Html //
00204 return mxmad_0_(3, p, q, c, i, j, k); }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 111 of file TCL.cxx. References TCL_MXMAD. 00112 {
00113 TCL_MXMAD(n_,a,b,c,i,j,k)
00114 return c;
00115 } /* mxmad_ */
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 104 of file TCL.cxx. References TCL_MXMAD. Referenced by mxmad(), mxmad1(), mxmad2(), mxmad3(), mxmpy(), mxmpy1(), mxmpy2(), mxmpy3(), mxmub(), mxmub1(), mxmub2(), and mxmub3(). 00105 {
00106 TCL_MXMAD(n_,a,b,c,i,j,k)
00107 return c;
00108 } /* mxmad_ */
|
|
||||||||||||||||||||||||
|
Definition at line 342 of file TCL.h. References mxmlrt_0_(). 00343 {
00344 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00345 return mxmlrt_0_(0, a, b, c, ni, nj); }
|
|
||||||||||||||||||||||||
|
Definition at line 255 of file TCL.h. References mxmlrt_0_(). 00256 {
00257 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmlrt.gif"> </P> End_Html //
00258 return mxmlrt_0_(0, a, b, x, ni, nj); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 186 of file TCL.cxx. References TCL_MXMLRT. 00187 {
00188 // Matrix Multiplication (double precision)
00189
00190 TCL_MXMLRT( n__, a, b, c, ni,nj)
00191 return c;
00192
00193 } /* mxmlrt_ */
|
|
||||||||||||||||||||||||||||
|
Definition at line 150 of file TCL.cxx. References TCL_MXMLRT. Referenced by mxmlrt(), and mxmltr(). 00151 {
00152 // Matrix Multiplication
00153 // CERN PROGLIB# F110 MXMLRT .VERSION KERNFOR 2.00 720707
00154 // ORIG. 01/01/64 RKB
00155 //BEGIN_HTML <!--
00156 /* -->
00157 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f110/top.html">F110</A>
00158 <!--*/
00159 // -->END_HTML
00160
00161
00162 // -- ENTRY MXMLRT */
00163 // -- C = A(I,J) X B(J,J) X A*(J,I) */
00164 // -- A* TANDS FOR A-TRANSPOSED */
00165 // mxmlrt (A,B,C,NI,NJ) IS EQUIVALENT TO */
00166 // CALL MXMPY (A,B,X,NI,NJ,NJ) */
00167 // CALL MXMPY1 (X,A,C,NI,NJ,NI) */
00168
00169 /* OR CALL MXMPY1 (B,A,Y,NJ,NJ,NI) */
00170 /* CALL MXMPY (A,Y,C,NI,NJ,NI) */
00171
00172
00173 // -- C = A*(I,J) X B(J,J) X A(J,I)
00174
00175 // CALL MXMLTR (A,B,C,NI,NJ) IS EQUIVALENT TO
00176 // CALL MXMPY2 (A,B,X,NI,NJ,NJ)
00177 // CALL MXMPY (X,A,C,NI,NJ,NI)
00178
00179 // OR CALL MXMPY (B,A,Y,NJ,NJ,NI)
00180 // CALL MXMPY2 (A,Y,C,NI,NJ,NI)
00181 TCL_MXMLRT( n__, a, b, c, ni,nj)
00182 return c;
00183 } /* mxmlrt_ */
|
|
||||||||||||||||||||||||
|
Definition at line 348 of file TCL.h. References mxmlrt_0_(). 00349 {
00350 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00351 return mxmlrt_0_(1, a, b, c, ni, nj); }
|
|
||||||||||||||||||||||||
|
Definition at line 261 of file TCL.h. References mxmlrt_0_(). 00262 {
00263 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmltr.gif"> </P> End_Html //
00264 return mxmlrt_0_(1, a, b, x, ni, nj); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 294 of file TCL.h. References mxmad_0_(). 00295 {
00296 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00297 return mxmad_0_(4, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 207 of file TCL.h. References mxmad_0_(). 00208 {
00209 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmpy.gif"> </P> End_Html //
00210 return mxmad_0_(4, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 300 of file TCL.h. References mxmad_0_(). 00301 {
00302 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00303 return mxmad_0_(5, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 213 of file TCL.h. References mxmad_0_(). 00214 {
00215 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmpy1.gif"> </P> End_Html //
00216 return mxmad_0_(5, a, q, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 306 of file TCL.h. References mxmad_0_(). 00307 {
00308 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00309 return mxmad_0_(6, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 219 of file TCL.h. References mxmad_0_(). 00220 {
00221 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmpy2.gif"> </P> End_Html //
00222 return mxmad_0_(6, p, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 312 of file TCL.h. References mxmad_0_(). 00313 {
00314 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00315 return mxmad_0_(7, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 225 of file TCL.h. References mxmad_0_(). 00226 {
00227 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmpy3.gif"> </P> End_Html //
00228 return mxmad_0_(7, p, q, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 318 of file TCL.h. References mxmad_0_(). 00319 {
00320 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00321 return mxmad_0_(8, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 231 of file TCL.h. References mxmad_0_(). 00232 {
00233 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmub.gif"> </P> End_Html //
00234 return mxmad_0_(8, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 324 of file TCL.h. References mxmad_0_(). 00325 {
00326 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00327 return mxmad_0_(9, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 237 of file TCL.h. References mxmad_0_(). 00238 {
00239 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmub1.gif"> </P> End_Html //
00240 return mxmad_0_(9, a, q, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 330 of file TCL.h. References mxmad_0_(). 00331 {
00332 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00333 return mxmad_0_(10, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 243 of file TCL.h. References mxmad_0_(). 00244 {
00245 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmub2.gif"> </P> End_Html //
00246 return mxmad_0_(10, p, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 336 of file TCL.h. References mxmad_0_(). 00337 {
00338 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmad.gif"> </P> End_Html //
00339 return mxmad_0_(11, a, b, c, i, j, k); }
|
|
||||||||||||||||||||||||||||
|
Definition at line 249 of file TCL.h. References mxmad_0_(). 00250 {
00251 // Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/mxpack_mxmub3.gif"> </P> End_Html //
00252 return mxmad_0_(11, p, q, c, i, j, k); }
|
|
||||||||||||||||||||
|
Definition at line 228 of file TCL.cxx. References TCL_MXTRP. 00229 {
00230 // Matrix Transposition (double precision)
00231 // CERN PROGLIB# F110 MXTRP .VERSION KERNFOR 1.0 650809
00232 // ORIG. 01/01/64 RKB
00233 //BEGIN_HTML <!--
00234 /* -->
00235 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f110/top.html">F110</A>
00236 <!--*/
00237 // -->END_HTML
00238
00239 TCL_MXTRP(a, b, i, j)
00240 return b;
00241
00242 } /* mxtrp */
|
|
||||||||||||||||||||
|
Definition at line 211 of file TCL.cxx. References TCL_MXTRP. 00212 {
00213 //
00214 // Matrix Transposition
00215 // CERN PROGLIB# F110 MXTRP .VERSION KERNFOR 1.0 650809
00216 // ORIG. 01/01/64 RKB
00217 //BEGIN_HTML <!--
00218 /* -->
00219 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f110/top.html">F110</A>
00220 <!--*/
00221 // -->END_HTML
00222
00223 TCL_MXTRP(a, b, i, j)
00224 return b;
00225 } /* mxtrp */
|
|
||||||||||||||||||||
|
Definition at line 295 of file TCL.cxx. References s(), and TCL_TRAAT. 00296 {
00297 // Symmetric Multiplication of Rectangular Matrices
00298 // CERN PROGLIB# F112 TRAAT .VERSION KERNFOR 4.15 861204
00299 // ORIG. 18/12/74 WH */
00300 // traat.F -- translated by f2c (version 19970219).
00301 //
00302 //BEGIN_HTML <!--
00303 /* -->
00304 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00305 <!--*/
00306 // -->END_HTML
00307 TCL_TRAAT(a, s, m, n)
00308 return s;
00309 } /* traat_ */
|
|
||||||||||||||||||||
|
Definition at line 277 of file TCL.cxx. References s(), and TCL_TRAAT. 00278 {
00279 //
00280 // Symmetric Multiplication of Rectangular Matrices
00281 // CERN PROGLIB# F112 TRAAT .VERSION KERNFOR 4.15 861204
00282 // ORIG. 18/12/74 WH */
00283 // traat.F -- translated by f2c (version 19970219).
00284 //
00285 //BEGIN_HTML <!--
00286 /* -->
00287 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00288 <!--*/
00289 // -->END_HTML
00290 TCL_TRAAT(a, s, m, n)
00291 return s;
00292 } /* traat_ */
|
|
||||||||||||||||||||||||
|
Definition at line 353 of file TCL.cxx. References TCL_TRAL. 00354 {
00355 // Triangular - Rectangular Multiplication
00356 // tral.F -- translated by f2c (version 19970219).
00357 // CERN PROGLIB# F112 TRAL .VERSION KERNFOR 4.15 861204 */
00358 // ORIG. 18/12/74 WH */
00359 //BEGIN_HTML <!--
00360 /* -->
00361 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00362 <!--*/
00363 // -->END_HTML
00364 TCL_TRAL(a, u, b, m, n)
00365 return b;
00366 } /* tral_ */
|
|
||||||||||||||||||||||||
|
Definition at line 337 of file TCL.cxx. References TCL_TRAL. 00338 {
00339 // Triangular - Rectangular Multiplication
00340 // CERN PROGLIB# F112 TRAL .VERSION KERNFOR 4.15 861204
00341 // ORIG. 18/12/74 WH
00342 // tral.F -- translated by f2c (version 19970219).
00343 //BEGIN_HTML <!--
00344 /* -->
00345 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00346 <!--*/
00347 // -->END_HTML
00348 TCL_TRAL(a, u, b, m, n)
00349 return b;
00350 } /* tral_ */
|
|
||||||||||||||||||||||||
|
Definition at line 409 of file TCL.cxx. References TCL_TRALT. 00410 {
00411 // Triangular - Rectangular Multiplication
00412 // CERN PROGLIB# F112 TRALT .VERSION KERNFOR 4.15 861204
00413 // ORIG. 18/12/74 WH
00414 // tralt.F -- translated by f2c (version 19970219).
00415 //BEGIN_HTML <!--
00416 /* -->
00417 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00418 <!--*/
00419 // -->END_HTML
00420 TCL_TRALT(a, u, b, m, n)
00421 return b;
00422 } /* tralt_ */
|
|
||||||||||||||||||||||||
|
Definition at line 393 of file TCL.cxx. References TCL_TRALT. 00394 {
00395 // Triangular - Rectangular Multiplication
00396 // CERN PROGLIB# F112 TRALT .VERSION KERNFOR 4.15 861204
00397 // ORIG. 18/12/74 WH
00398 // tralt.F -- translated by f2c (version 19970219).
00399 //BEGIN_HTML <!--
00400 /* -->
00401 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00402 <!--*/
00403 // -->END_HTML
00404 TCL_TRALT(a, u, b, m, n)
00405 return b;
00406 } /* tralt_ */
|
|
||||||||||||||||||||||||
|
Definition at line 472 of file TCL.cxx. 00473 {
00474 // Symmetric - Rectangular Multiplication
00475 // CERN PROGLIB# F112 TRAS .VERSION KERNFOR 4.15 861204 */
00476 // ORIG. 18/12/74 WH */
00477 // tras.F -- translated by f2c (version 19970219).
00478 //BEGIN_HTML <!--
00479 /* -->
00480 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00481 <!--*/
00482 // -->END_HTML
00483 TCL_TRAS(a, s, b, m, n)
00484 return b;
00485 } /* tras_ */
|
|
||||||||||||||||||||||||
|
Definition at line 456 of file TCL.cxx. 00457 {
00458 // Symmetric - Rectangular Multiplication
00459 // CERN PROGLIB# F112 TRAS .VERSION KERNFOR 4.15 861204 */
00460 // ORIG. 18/12/74 WH */
00461 // tras.F -- translated by f2c (version 19970219).
00462 //BEGIN_HTML <!--
00463 /* -->
00464 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00465 <!--*/
00466 // -->END_HTML
00467 TCL_TRAS(a, s, b, m, n)
00468 return b;
00469 } /* tras_ */
|
|
||||||||||||||||||||||||
|
Definition at line 542 of file TCL.cxx. References s(), and TCL_TRASAT. 00543 {
00544 // Transformation of Symmetric Matrix
00545 // CERN PROGLIB# F112 TRASAT .VERSION KERNFOR 4.15 861204 */
00546 // ORIG. 18/12/74 WH */
00547 // trasat.F -- translated by f2c (version 19970219).
00548 //BEGIN_HTML <!--
00549 /* -->
00550 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00551 <!--*/
00552 // -->END_HTML
00553 TCL_TRASAT(a, s, r__, m, n)
00554 return r__;
00555 } /* trasat_ */
|
|
||||||||||||||||||||||||
|
Definition at line 558 of file TCL.cxx. References s(), and TCL_TRASAT. 00559 {
00560 // Transformation of Symmetric Matrix
00561 // CERN PROGLIB# F112 TRASAT .VERSION KERNFOR 4.15 861204 */
00562 // ORIG. 18/12/74 WH */
00563 // trasat.F -- translated by f2c (version 19970219).
00564 //BEGIN_HTML <!--
00565 /* -->
00566 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00567 <!--*/
00568 // -->END_HTML
00569 TCL_TRASAT(a, s, r__, m, n)
00570 return r__;
00571 } /* trasat_ */
|
|
||||||||||||||||||||||||
|
Definition at line 526 of file TCL.cxx. References s(), and TCL_TRASAT. 00527 {
00528 // Transformation of Symmetric Matrix
00529 // CERN PROGLIB# F112 TRASAT .VERSION KERNFOR 4.15 861204 */
00530 // ORIG. 18/12/74 WH */
00531 // trasat.F -- translated by f2c (version 19970219).
00532 //BEGIN_HTML <!--
00533 /* -->
00534 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00535 <!--*/
00536 // -->END_HTML
00537 TCL_TRASAT(a, s, r__, m, n)
00538 return r__;
00539 } /* trasat_ */
|
|
||||||||||||||||||||
|
Definition at line 1363 of file TCL.cxx. 01364 {
01365 //BEGIN_HTML <!--
01366 /* -->
01367 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01368 <!--*/
01369 // -->END_HTML
01370
01371 /* Local variables */
01372 int i__, j, ia, mn, ir, iat;
01373 double sum;
01374
01375
01376 /* CERN PROGLIB# F112 TRATA .VERSION KERNFOR 4.15 861204 */
01377 /* ORIG. 18/12/74 WH */
01378
01379
01380 /* Parameter adjuTments */
01381 --r__; --a;
01382
01383 /* Function Body */
01384 mn = m * n;
01385 ir = 0;
01386
01387 for (i__ = 1; i__ <= m; ++i__) {
01388
01389 for (j = 1; j <= i__; ++j) {
01390 ia = i__;
01391 iat = j;
01392
01393 sum = (double)0.;
01394 do {
01395 sum += a[ia] * a[iat];
01396 ia += m;
01397 iat += m;
01398 } while (ia <= mn);
01399 ++ir;
01400 r__[ir] = sum;
01401 }
01402 }
01403
01404 return 0;
01405 } /* trata_ */
|
|
||||||||||||||||||||
|
Definition at line 576 of file TCL.cxx. 00577 {
00578 // trata.F -- translated by f2c (version 19970219).
00579 // CERN PROGLIB# F112 TRATA .VERSION KERNFOR 4.15 861204 */
00580 // ORIG. 18/12/74 WH */
00581 //BEGIN_HTML <!--
00582 /* -->
00583 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00584 <!--*/
00585 // -->END_HTML
00586
00587 /* Local variables */
00588 int i__, j, ia, mn, ir, iat;
00589 double sum;
00590
00591 /* Parameter adjuTments */
00592 --r__; --a;
00593
00594 /* Function Body */
00595 mn = m * n;
00596 ir = 0;
00597
00598 for (i__ = 1; i__ <= m; ++i__) {
00599 for (j = 1; j <= i__; ++j) {
00600 ia = i__;
00601 iat = j;
00602 sum = 0.;
00603 do {
00604 sum += a[ia] * a[iat];
00605 ia += m;
00606 iat += m;
00607 } while (ia <= mn);
00608 ++ir;
00609 r__[ir] = sum;
00610 }
00611 }
00612 ++r__;
00613 return r__;
00614 } /* trata_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1409 of file TCL.cxx. References s(). 01410 {
01411 //BEGIN_HTML <!--
01412 /* -->
01413 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01414 <!--*/
01415 // -->END_HTML
01416 /* Local variables */
01417 int inds, i__, j, k, ia, ib, is;
01418 double sum;
01419
01420
01421 /* CERN PROGLIB# F112 TRATS .VERSION KERNFOR 4.15 861204 */
01422 /* ORIG. 18/12/74 WH */
01423
01424 /* Parameter adjuTments */
01425 --b; --s; --a;
01426
01427 /* Function Body */
01428 ib = 0; inds = 0; i__ = 0;
01429
01430 do {
01431 inds += i__;
01432 ib = i__ + 1;
01433
01434 for (j = 1; j <= m; ++j) {
01435 ia = j;
01436 is = inds;
01437 sum = (double)0.;
01438 k = 0;
01439
01440 do {
01441 if (k > i__) is += k;
01442 else ++is;
01443 sum += a[ia] * s[is];
01444 ia += m;
01445 ++k;
01446 } while (k < n);
01447
01448 b[ib] = sum;
01449 ib += n;
01450 }
01451 ++i__;
01452 } while (i__ < n);
01453
01454 return 0;
01455 } /* trats_ */
|
|
||||||||||||||||||||||||
|
Definition at line 618 of file TCL.cxx. References s(). 00619 {
00620 //BEGIN_HTML <!--
00621 /* -->
00622 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00623 <!--*/
00624 // -->END_HTML
00625 /* Local variables */
00626 int inds, i__, j, k, ia, ib, is;
00627 double sum;
00628
00629 /* CERN PROGLIB# F112 TRATS .VERSION KERNFOR 4.15 861204 */
00630 /* ORIG. 18/12/74 WH */
00631
00632 /* Parameter adjuTments */
00633 --b; --s; --a;
00634
00635 /* Function Body */
00636 ib = 0; inds = 0; i__ = 0;
00637 do {
00638 inds += i__;
00639 ib = i__ + 1;
00640
00641 for (j = 1; j <= m; ++j) {
00642 ia = j;
00643 is = inds;
00644 sum = 0.;
00645 k = 0;
00646
00647 do {
00648 if (k > i__) is += k;
00649 else ++is;
00650 sum += a[ia] * s[is];
00651 ia += m;
00652 ++k;
00653 } while (k < n);
00654
00655 b[ib] = sum;
00656 ib += n;
00657 }
00658 ++i__;
00659 } while (i__ < n);
00660 ++b;
00661 return b;
00662 } /* trats_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1459 of file TCL.cxx. 01460 {
01461 //BEGIN_HTML <!--
01462 /* -->
01463 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01464 <!--*/
01465 // -->END_HTML
01466 /* Local variables */
01467 int imax, i__, j, k;
01468 int ia, ir, is, iaa, ind;
01469 double sum;
01470
01471 /* CERN PROGLIB# F112 TRATSA .VERSION KERNFOR 4.15 861204 */
01472 /* ORIG. 18/12/74 WH */
01473
01474
01475 /* Parameter adjuTments */
01476 --r__; --s; --a;
01477
01478 /* Function Body */
01479 imax = (m * m + m) / 2;
01480 vzero(&r__[1], imax);
01481 ind = 0;
01482 i__ = 0;
01483
01484 do {
01485 ind += i__;
01486 ir = 0;
01487
01488 for (j = 1; j <= m; ++j) {
01489 is = ind;
01490 ia = j;
01491 sum = (double)0.;
01492 k = 0;
01493
01494 do {
01495 if (k > i__) is += k;
01496 else ++is;
01497 sum += s[is] * a[ia];
01498 ia += m;
01499 ++k;
01500 } while (k < n);
01501 iaa = i__ * m;
01502
01503 for (k = 1; k <= j; ++k) {
01504 ++iaa;
01505 ++ir;
01506 r__[ir] += sum * a[iaa];
01507 }
01508 }
01509 ++i__;
01510 } while (i__ < n);
01511
01512 return 0;
01513 } /* tratsa_ */
|
|
||||||||||||||||||||||||
|
Definition at line 666 of file TCL.cxx. 00667 {
00668 //BEGIN_HTML <!--
00669 /* -->
00670 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00671 <!--*/
00672 // -->END_HTML
00673
00674 /* Local variables */
00675 int imax, i__, j, k;
00676 int ia, ir, is, iaa, ind;
00677 double sum;
00678
00679 /* CERN PROGLIB# F112 TRATSA .VERSION KERNFOR 4.15 861204 */
00680 /* ORIG. 18/12/74 WH */
00681
00682
00683 /* Parameter adjuTments */
00684 --r__; --s; --a;
00685
00686 /* Function Body */
00687 imax = (m * m + m) / 2;
00688 vzero(&r__[1], imax);
00689 ind = 0;
00690 i__ = 0;
00691
00692 do {
00693 ind += i__;
00694 ir = 0;
00695
00696 for (j = 1; j <= m; ++j) {
00697 is = ind;
00698 ia = j;
00699 sum = 0.;
00700 k = 0;
00701
00702 do {
00703 if (k > i__) is += k;
00704 else ++is;
00705 sum += s[is] * a[ia];
00706 ia += m;
00707 ++k;
00708 } while (k < n);
00709 iaa = i__ * m;
00710
00711 for (k = 1; k <= j; ++k) {
00712 ++iaa;
00713 ++ir;
00714 r__[ir] += sum * a[iaa];
00715 }
00716 }
00717 ++i__;
00718 } while (i__ < n);
00719 ++r__;
00720 return r__;
00721 } /* tratsa_ */
|
|
||||||||||||||||
|
Definition at line 1516 of file TCL.cxx. 01517 {
01518 // trchlu.F -- translated by f2c (version 19970219).
01519 //BEGIN_HTML <!--
01520 /* -->
01521 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01522 <!--*/
01523 // -->END_HTML
01524 /* Local variables */
01525 int ipiv, kpiv, i__, j;
01526 double r__, dc;
01527 int id, kd;
01528 double sum;
01529
01530
01531 /* CERN PROGLIB# F112 TRCHLU .VERSION KERNFOR 4.16 870601 */
01532 /* ORIG. 18/12/74 W.HART */
01533
01534
01535 /* Parameter adjuTments */
01536 --b; --a;
01537
01538 /* Function Body */
01539 ipiv = 0;
01540
01541 i__ = 0;
01542
01543 do {
01544 ++i__;
01545 ipiv += i__;
01546 kpiv = ipiv;
01547 r__ = a[ipiv];
01548
01549 for (j = i__; j <= n; ++j) {
01550 sum = 0.;
01551 if (i__ == 1) goto L40;
01552 if (r__ == 0.) goto L42;
01553 id = ipiv - i__ + 1;
01554 kd = kpiv - i__ + 1;
01555
01556 do {
01557 sum += b[kd] * b[id];
01558 ++kd; ++id;
01559 } while (id < ipiv);
01560
01561 L40:
01562 sum = a[kpiv] - sum;
01563 L42:
01564 if (j != i__) b[kpiv] = sum * r__;
01565 else {
01566 dc = TMath::Sqrt(sum);
01567 b[kpiv] = dc;
01568 if (r__ > 0.) r__ = (double)1. / dc;
01569 }
01570 kpiv += j;
01571 }
01572
01573 } while (i__ < n);
01574
01575 return 0;
01576 } /* trchlu_ */
|
|
||||||||||||||||
|
Definition at line 725 of file TCL.cxx. Referenced by AlgFitTrackMS::InvertCovMatrix(), and trsinv(). 00726 {
00727 //BEGIN_HTML <!--
00728 /* -->
00729 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00730 <!--*/
00731 // -->END_HTML
00732 /* Local variables */
00733 int ipiv, kpiv, i__, j;
00734 double r__, dc;
00735 int id, kd;
00736 double sum;
00737
00738
00739 /* CERN PROGLIB# F112 TRCHLU .VERSION KERNFOR 4.16 870601 */
00740 /* ORIG. 18/12/74 W.HART */
00741
00742
00743 /* Parameter adjuTments */
00744 --b; --a;
00745
00746 /* Function Body */
00747 ipiv = 0;
00748
00749 i__ = 0;
00750
00751 do {
00752 ++i__;
00753 ipiv += i__;
00754 kpiv = ipiv;
00755 r__ = a[ipiv];
00756
00757 for (j = i__; j <= n; ++j) {
00758 sum = 0.;
00759 if (i__ == 1) goto L40;
00760 if (r__ == 0.) goto L42;
00761 id = ipiv - i__ + 1;
00762 kd = kpiv - i__ + 1;
00763
00764 do {
00765 sum += b[kd] * b[id];
00766 ++kd; ++id;
00767 } while (id < ipiv);
00768
00769 L40:
00770 sum = a[kpiv] - sum;
00771 L42:
00772 if (j != i__) b[kpiv] = sum * r__;
00773 else {
00774 dc = TMath::Sqrt(sum);
00775 b[kpiv] = dc;
00776 if (r__ > 0.) r__ = 1. / dc;
00777 }
00778 kpiv += j;
00779 }
00780
00781 } while (i__ < n);
00782 ++b;
00783 return b;
00784 } /* trchlu_ */
|
|
||||||||||||||||
|
Definition at line 1580 of file TCL.cxx. 01581 {
01582 //BEGIN_HTML <!--
01583 /* -->
01584 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01585 <!--*/
01586 // -->END_HTML
01587 /* Local variables */
01588 int ipiv, kpiv, i__;
01589 double r__;
01590 int nTep;
01591 double dc;
01592 int id, kd;
01593 double sum;
01594
01595
01596 /* CERN PROGLIB# F112 TRCHUL .VERSION KERNFOR 4.16 870601 */
01597 /* ORIG. 18/12/74 WH */
01598
01599
01600 /* Parameter adjuTments */
01601 --b; --a;
01602
01603 /* Function Body */
01604 kpiv = (n * n + n) / 2;
01605
01606 i__ = n;
01607 do {
01608 ipiv = kpiv;
01609 r__ = a[ipiv];
01610
01611 do {
01612 sum = 0.;
01613 if (i__ == n) goto L40;
01614 if (r__ == (double)0.) goto L42;
01615 id = ipiv;
01616 kd = kpiv;
01617 nTep = i__;
01618
01619 do {
01620 kd += nTep;
01621 id += nTep;
01622 ++nTep;
01623 sum += b[id] * b[kd];
01624 } while (nTep < n);
01625
01626 L40:
01627 sum = a[kpiv] - sum;
01628 L42:
01629 if (kpiv < ipiv) b[kpiv] = sum * r__;
01630 else {
01631 dc = TMath::Sqrt(sum);
01632 b[kpiv] = dc;
01633 if (r__ > (double)0.) r__ = (double)1. / dc;
01634 }
01635 --kpiv;
01636 } while (kpiv > ipiv - i__);
01637
01638 --i__;
01639 } while (i__ > 0);
01640
01641 return 0;
01642 } /* trchul_ */
|
|
||||||||||||||||
|
Definition at line 788 of file TCL.cxx. 00789 {
00790 //BEGIN_HTML <!--
00791 /* -->
00792 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00793 <!--*/
00794 // -->END_HTML
00795 /* Local variables */
00796 int ipiv, kpiv, i__;
00797 double r__;
00798 int nTep;
00799 double dc;
00800 int id, kd;
00801 double sum;
00802
00803
00804 /* CERN PROGLIB# F112 TRCHUL .VERSION KERNFOR 4.16 870601 */
00805 /* ORIG. 18/12/74 WH */
00806
00807
00808 /* Parameter adjuTments */
00809 --b; --a;
00810
00811 /* Function Body */
00812 kpiv = (n * n + n) / 2;
00813
00814 i__ = n;
00815 do {
00816 ipiv = kpiv;
00817 r__ = a[ipiv];
00818
00819 do {
00820 sum = 0.;
00821 if (i__ == n) goto L40;
00822 if (r__ == 0.) goto L42;
00823 id = ipiv;
00824 kd = kpiv;
00825 nTep = i__;
00826
00827 do {
00828 kd += nTep;
00829 id += nTep;
00830 ++nTep;
00831 sum += b[id] * b[kd];
00832 } while (nTep < n);
00833
00834 L40:
00835 sum = a[kpiv] - sum;
00836 L42:
00837 if (kpiv < ipiv) b[kpiv] = sum * r__;
00838 else {
00839 dc = TMath::Sqrt(sum);
00840 b[kpiv] = dc;
00841 if (r__ > 0.) r__ = 1. / dc;
00842 }
00843 --kpiv;
00844 } while (kpiv > ipiv - i__);
00845
00846 --i__;
00847 } while (i__ > 0);
00848
00849 ++b;
00850 return b;
00851 } /* trchul_ */
|
|
||||||||||||||||
|
Definition at line 1645 of file TCL.cxx. References s(). 01646 {
01647 // trinv.F -- translated by f2c (version 19970219).
01648 // CERN PROGLIB# F112 TRINV .VERSION KERNFOR 4.15 861204 */
01649 // ORIG. 18/12/74 WH */
01650 //
01651 //BEGIN_HTML <!--
01652 /* -->
01653 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01654 <!--*/
01655 // -->END_HTML
01656 int lhor, ipiv, lver, j;
01657 double r__;
01658 int mx, ndTep, ind;
01659 double sum;
01660
01661 /* Parameter adjuTments */
01662 --s; --t;
01663
01664 /* Function Body */
01665 mx = (n * n + n) / 2;
01666 ipiv = mx;
01667
01668 int i = n;
01669 do {
01670 r__ = 0.;
01671 if (t[ipiv] > 0.) r__ = (double)1. / t[ipiv];
01672 s[ipiv] = r__;
01673 ndTep = n;
01674 ind = mx - n + i;
01675
01676 while (ind != ipiv) {
01677 sum = 0.;
01678 if (r__ != 0.) {
01679 lhor = ipiv;
01680 lver = ind;
01681 j = i;
01682
01683 do {
01684 lhor += j;
01685 ++lver;
01686 sum += t[lhor] * s[lver];
01687 ++j;
01688 } while (lhor < ind);
01689 }
01690 s[ind] = -sum * r__;
01691 --ndTep;
01692 ind -= ndTep;
01693 }
01694
01695 ipiv -= i;
01696 --i;
01697 } while (i > 0);
01698
01699 return 0;
01700 } /* trinv_ */
|
|
||||||||||||||||
|
Definition at line 854 of file TCL.cxx. References s(). Referenced by AlgFitTrackMS::InvertCovMatrix(), and trsinv(). 00855 {
00856 // trinv.F -- translated by f2c (version 19970219).
00857 // CERN PROGLIB# F112 TRINV .VERSION KERNFOR 4.15 861204 */
00858 // ORIG. 18/12/74 WH */
00859 //BEGIN_HTML <!--
00860 /* -->
00861 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00862 <!--*/
00863 // -->END_HTML
00864
00865 int lhor, ipiv, lver, j;
00866 double sum = 0;
00867 double r__ = 0;
00868 int mx, ndTep, ind;
00869
00870
00871 /* Parameter adjuTments */
00872 --s; --t;
00873
00874 /* Function Body */
00875 mx = (n * n + n) / 2;
00876 ipiv = mx;
00877
00878 int i = n;
00879 do {
00880 r__ = 0.;
00881 if (t[ipiv] > 0.) r__ = 1. / t[ipiv];
00882 s[ipiv] = r__;
00883 ndTep = n;
00884 ind = mx - n + i;
00885
00886 while (ind != ipiv) {
00887 sum = 0.;
00888 if (r__ != 0.) {
00889 lhor = ipiv;
00890 lver = ind;
00891 j = i;
00892
00893 do {
00894 lhor += j;
00895 ++lver;
00896 sum += t[lhor] * s[lver];
00897 ++j;
00898 } while (lhor < ind);
00899 }
00900 s[ind] = -sum * r__;
00901 --ndTep;
00902 ind -= ndTep;
00903 }
00904
00905 ipiv -= i;
00906 --i;
00907 } while (i > 0);
00908
00909 ++s;
00910 return s;
00911 } /* trinv_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1703 of file TCL.cxx. 01704 {
01705 //
01706 // trla.F -- translated by f2c (version 19970219).
01707 // CERN PROGLIB# F112 TRLA .VERSION KERNFOR 4.15 861204 */
01708 // ORIG. 18/12/74 WH */
01709 //
01710 //BEGIN_HTML <!--
01711 /* -->
01712 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01713 <!--*/
01714 // -->END_HTML
01715 int ipiv, ia, ib, iu;
01716 double sum;
01717
01718 /* Parameter adjuTments */
01719 --b; --a; --u;
01720
01721 /* Function Body */
01722 ib = m * n;
01723 ipiv = (m * m + m) / 2;
01724
01725 do {
01726 do {
01727 ia = ib;
01728 iu = ipiv;
01729
01730 sum = 0.;
01731 do {
01732 sum += a[ia] * u[iu];
01733 --iu;
01734 ia -= n;
01735 } while (ia > 0);
01736
01737 b[ib] = sum;
01738 --ib;
01739 } while (ia > 1 - n);
01740
01741 ipiv = iu;
01742 } while (iu > 0);
01743
01744 return 0;
01745 } /* trla_ */
|
|
||||||||||||||||||||||||
|
Definition at line 915 of file TCL.cxx. 00916 {
00917 int ipiv, ia, ib, iu;
00918 double sum;
00919
00920 /* CERN PROGLIB# F112 TRLA .VERSION KERNFOR 4.15 861204 */
00921 /* ORIG. 18/12/74 WH */
00922 //BEGIN_HTML <!--
00923 /* -->
00924 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00925 <!--*/
00926 // -->END_HTML
00927
00928
00929 /* Parameter adjuTments */
00930 --b; --a; --u;
00931
00932 /* Function Body */
00933 ib = m * n;
00934 ipiv = (m * m + m) / 2;
00935
00936 do {
00937 do {
00938 ia = ib;
00939 iu = ipiv;
00940
00941 sum = 0.;
00942 do {
00943 sum += a[ia] * u[iu];
00944 --iu;
00945 ia -= n;
00946 } while (ia > 0);
00947
00948 b[ib] = sum;
00949 --ib;
00950 } while (ia > 1 - n);
00951
00952 ipiv = iu;
00953 } while (iu > 0);
00954
00955 ++b;
00956 return b;
00957 } /* trla_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1748 of file TCL.cxx. 01749 {
01750 // trlta.F -- translated by f2c (version 19970219).
01751 // CERN PROGLIB# F112 TRLTA .VERSION KERNFOR 4.15 861204
01752 // ORIG. 18/12/74 WH
01753 //BEGIN_HTML <!--
01754 /* -->
01755 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01756 <!--*/
01757 // -->END_HTML
01758
01759 int ipiv, mxpn, i__, nTep, ia, ib, iu, mx;
01760 double sum;
01761
01762 /* Parameter adjuTments */
01763 --b; --a; --u;
01764
01765 /* Function Body */
01766 ipiv = 0;
01767 mx = m * n;
01768 mxpn = mx + n;
01769 ib = 0;
01770
01771 i__ = 0;
01772 do {
01773 ++i__;
01774 ipiv += i__;
01775
01776 do {
01777 iu = ipiv;
01778 nTep = i__;
01779 ++ib;
01780 ia = ib;
01781
01782 sum = 0.;
01783 do {
01784 sum += a[ia] * u[iu];
01785 ia += n;
01786 iu += nTep;
01787 ++nTep;
01788 } while (ia <= mx);
01789
01790 b[ib] = sum;
01791 } while (ia < mxpn);
01792
01793 } while (i__ < m);
01794
01795 return 0;
01796 } /* trlta_ */
|
|
||||||||||||||||||||||||
|
Definition at line 961 of file TCL.cxx. 00962 {
00963 int ipiv, mxpn, i__, nTep, ia, ib, iu, mx;
00964 double sum;
00965
00966 /* CERN PROGLIB# F112 TRLTA .VERSION KERNFOR 4.15 861204 */
00967 /* ORIG. 18/12/74 WH */
00968 //BEGIN_HTML <!--
00969 /* -->
00970 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
00971 <!--*/
00972 // -->END_HTML
00973
00974
00975 /* Parameter adjuTments */
00976 --b; --a; --u;
00977
00978 /* Function Body */
00979 ipiv = 0;
00980 mx = m * n;
00981 mxpn = mx + n;
00982 ib = 0;
00983
00984 i__ = 0;
00985 do {
00986 ++i__;
00987 ipiv += i__;
00988
00989 do {
00990 iu = ipiv;
00991 nTep = i__;
00992 ++ib;
00993 ia = ib;
00994
00995 sum = 0.;
00996 do {
00997 sum += a[ia] * u[iu];
00998 ia += n;
00999 iu += nTep;
01000 ++nTep;
01001 } while (ia <= mx);
01002
01003 b[ib] = sum;
01004 } while (ia < mxpn);
01005
01006 } while (i__ < m);
01007
01008 ++b;
01009 return b;
01010 } /* trlta_ */
|
|
||||||||||||||||
|
Definition at line 1799 of file TCL.cxx. References s(). 01800 {
01801 // trpck.F -- translated by f2c (version 19970219).
01802 // CERN PROGLIB# F112 TRPCK .VERSION KERNFOR 2.08 741218 */
01803 // ORIG. 18/12/74 WH */
01804 //BEGIN_HTML <!--
01805 /* -->
01806 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01807 <!--*/
01808 // -->END_HTML
01809 int i__, ia, ind, ipiv;
01810
01811 /* Parameter adjuTments */
01812 --u; --s;
01813
01814 /* Function Body */
01815 ia = 0;
01816 ind = 0;
01817 ipiv = 0;
01818
01819 for (i__ = 1; i__ <= n; ++i__) {
01820 ipiv += i__;
01821 do {
01822 ++ia;
01823 ++ind;
01824 u[ind] = s[ia];
01825 } while (ind < ipiv);
01826 ia = ia + n - i__;
01827 }
01828
01829 return 0;
01830 } /* trpck_ */
|
|
||||||||||||||||
|
Definition at line 1013 of file TCL.cxx. References s(). Referenced by trsequ(). 01014 {
01015 // trpck.F -- translated by f2c (version 19970219).
01016 // CERN PROGLIB# F112 TRPCK .VERSION KERNFOR 2.08 741218 */
01017 // ORIG. 18/12/74 WH */
01018 //BEGIN_HTML <!--
01019 /* -->
01020 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01021 <!--*/
01022 // -->END_HTML
01023 int i__, ia, ind, ipiv;
01024
01025 /* Parameter adjuTments */
01026 --u; --s;
01027
01028 /* Function Body */
01029 ia = 0;
01030 ind = 0;
01031 ipiv = 0;
01032
01033 for (i__ = 1; i__ <= n; ++i__) {
01034 ipiv += i__;
01035 do {
01036 ++ia;
01037 ++ind;
01038 u[ind] = s[ia];
01039 } while (ind < ipiv);
01040 ia = ia + n - i__;
01041 }
01042
01043 ++u;
01044 return u;
01045 } /* trpck_ */
|
|
||||||||||||||||||||
|
Definition at line 1833 of file TCL.cxx. 01834 {
01835 // trqsq.F -- translated by f2c (version 19970219).
01836 // CERN PROGLIB# F112 TRQSQ .VERSION KERNFOR 4.15 861204 */
01837 // ORIG. 18/12/74 WH */
01838 //BEGIN_HTML <!--
01839 /* -->
01840 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01841 <!--*/
01842 // -->END_HTML
01843
01844 int indq, inds, imax, i__, j, k, l;
01845 int iq, ir, is, iqq;
01846 double sum;
01847
01848 /* Parameter adjuTments */
01849 --r__; --s; --q;
01850
01851 /* Function Body */
01852 imax = (m * m + m) / 2;
01853 vzero(&r__[1], imax);
01854 inds = 0;
01855 i__ = 0;
01856
01857 do {
01858 inds += i__;
01859 ir = 0;
01860 indq = 0;
01861 j = 0;
01862
01863 do {
01864 indq += j;
01865 is = inds;
01866 iq = indq;
01867 sum = 0.;
01868 k = 0;
01869
01870 do {
01871 if (k > i__) is += k;
01872 else ++is;
01873
01874 if (k > j) iq += k;
01875 else ++iq;
01876
01877 sum += s[is] * q[iq];
01878 ++k;
01879 } while (k < m);
01880 iqq = inds;
01881 l = 0;
01882
01883 do {
01884 ++ir;
01885 if (l > i__) iqq += l;
01886 else ++iqq;
01887 r__[ir] += q[iqq] * sum;
01888 ++l;
01889 } while (l <= j);
01890 ++j;
01891 } while (j < m);
01892 ++i__;
01893 } while (i__ < m);
01894
01895 return 0;
01896 } /* trqsq_ */
|
|
||||||||||||||||||||
|
Definition at line 1048 of file TCL.cxx. 01049 {
01050 // trqsq.F -- translated by f2c (version 19970219).
01051 // CERN PROGLIB# F112 TRQSQ .VERSION KERNFOR 4.15 861204 */
01052 // ORIG. 18/12/74 WH */
01053 //BEGIN_HTML <!--
01054 /* -->
01055 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01056 <!--*/
01057 // -->END_HTML
01058
01059 int indq, inds, imax, i__, j, k, l;
01060 int iq, ir, is, iqq;
01061 double sum;
01062
01063 /* Parameter adjuTments */
01064 --r__; --s; --q;
01065
01066 /* Function Body */
01067 imax = (m * m + m) / 2;
01068 vzero(&r__[1], imax);
01069 inds = 0;
01070 i__ = 0;
01071
01072 do {
01073 inds += i__;
01074 ir = 0;
01075 indq = 0;
01076 j = 0;
01077
01078 do {
01079 indq += j;
01080 is = inds;
01081 iq = indq;
01082 sum = (float)0.;
01083 k = 0;
01084
01085 do {
01086 if (k > i__) is += k;
01087 else ++is;
01088
01089 if (k > j) iq += k;
01090 else ++iq;
01091
01092 sum += s[is] * q[iq];
01093 ++k;
01094 } while (k < m);
01095 iqq = inds;
01096 l = 0;
01097
01098 do {
01099 ++ir;
01100 if (l > i__) iqq += l;
01101 else ++iqq;
01102 r__[ir] += q[iqq] * sum;
01103 ++l;
01104 } while (l <= j);
01105 ++j;
01106 } while (j < m);
01107 ++i__;
01108 } while (i__ < m);
01109
01110 ++r__;
01111 return r__;
01112 } /* trqsq_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1899 of file TCL.cxx. References s(). 01900 {
01901 // trsa.F -- translated by f2c (version 19970219).
01902 // CERN PROGLIB# F112 TRSA .VERSION KERNFOR 4.15 861204 */
01903 // ORIG. 18/12/74 WH */
01904 //BEGIN_HTML <!--
01905 /* -->
01906 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01907 <!--*/
01908 // -->END_HTML
01909 /* Local variables */
01910 int inds, i__, j, k, ia, ib, is;
01911 double sum;
01912
01913 /* Parameter adjuTments */
01914 --b; --a; --s;
01915
01916 /* Function Body */
01917 inds = 0;
01918 ib = 0;
01919 i__ = 0;
01920
01921 do {
01922 inds += i__;
01923
01924 for (j = 1; j <= n; ++j) {
01925 ia = j;
01926 is = inds;
01927 sum = 0.;
01928 k = 0;
01929
01930 do {
01931 if (k > i__) is += k;
01932 else ++is;
01933 sum += s[is] * a[ia];
01934 ia += n;
01935 ++k;
01936 } while (k < m);
01937 ++ib;
01938 b[ib] = sum;
01939 }
01940 ++i__;
01941 } while (i__ < m);
01942
01943 return 0;
01944 } /* trsa_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1115 of file TCL.cxx. References s(). Referenced by trsequ(). 01116 {
01117 // trsa.F -- translated by f2c (version 19970219).
01118 // CERN PROGLIB# F112 TRSA .VERSION KERNFOR 4.15 861204 */
01119 // ORIG. 18/12/74 WH */
01120 //BEGIN_HTML <!--
01121 /* -->
01122 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01123 <!--*/
01124 // -->END_HTML
01125 /* Local variables */
01126 int inds, i__, j, k, ia, ib, is;
01127 double sum;
01128
01129 /* Parameter adjuTments */
01130 --b; --a; --s;
01131
01132 /* Function Body */
01133 inds = 0;
01134 ib = 0;
01135 i__ = 0;
01136
01137 do {
01138 inds += i__;
01139
01140 for (j = 1; j <= n; ++j) {
01141 ia = j;
01142 is = inds;
01143 sum = 0.;
01144 k = 0;
01145
01146 do {
01147 if (k > i__) is += k;
01148 else ++is;
01149 sum += s[is] * a[ia];
01150 ia += n;
01151 ++k;
01152 } while (k < m);
01153 ++ib;
01154 b[ib] = sum;
01155 }
01156 ++i__;
01157 } while (i__ < m);
01158
01159 ++b;
01160 return b;
01161 } /* trsa_ */
|
|
||||||||||||||||||||||||
|
Definition at line 2091 of file TCL.cxx. References s(). 02092 {
02093 // trsat.F -- translated by f2c (version 19970219)
02094 // CERN PROGLIB# F112 TRSAT .VERSION KERNFOR 4.15 861204
02095 // ORIG. 18/12/74 WH
02096 //BEGIN_HTML <!--
02097 /* -->
02098 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
02099 <!--*/
02100 // -->END_HTML
02101
02102 /* Local variables */
02103 int inds, i__, j, k, ia, ib, is;
02104 double sum;
02105
02106 /* Parameter adjuTments */
02107 --b; --a; --s;
02108
02109 /* Function Body */
02110 inds = 0;
02111 ib = 0;
02112 i__ = 0;
02113
02114 do {
02115 inds += i__;
02116 ia = 0;
02117
02118 for (j = 1; j <= n; ++j) {
02119 is = inds;
02120 sum = 0.;
02121 k = 0;
02122
02123 do {
02124 if (k > i__) is += k;
02125 else ++is;
02126 ++ia;
02127 sum += s[is] * a[ia];
02128 ++k;
02129 } while (k < m);
02130 ++ib;
02131 b[ib] = sum;
02132 }
02133 ++i__;
02134 } while (i__ < m);
02135
02136 return 0;
02137 } /* trsat_ */
|
|
||||||||||||||||||||||||
|
Definition at line 1308 of file TCL.cxx. References s(). 01309 {
01310 //BEGIN_HTML <!--
01311 /* -->
01312 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01313 <!--*/
01314 // -->END_HTML
01315
01316 /* Local variables */
01317 int inds, i__, j, k, ia, ib, is;
01318 double sum;
01319
01320
01321 /* CERN PROGLIB# F112 TRSAT .VERSION KERNFOR 4.15 861204 */
01322 /* ORIG. 18/12/74 WH */
01323
01324
01325 /* Parameter adjuTments */
01326 --b; --a; --s;
01327
01328 /* Function Body */
01329 inds = 0;
01330 ib = 0;
01331 i__ = 0;
01332
01333 do {
01334 inds += i__;
01335 ia = 0;
01336
01337 for (j = 1; j <= n; ++j) {
01338 is = inds;
01339 sum = 0.;
01340 k = 0;
01341
01342 do {
01343 if (k > i__) is += k;
01344 else ++is;
01345 ++ia;
01346 sum += s[is] * a[ia];
01347 ++k;
01348 } while (k < m);
01349 ++ib;
01350 b[ib] = sum;
01351 }
01352 ++i__;
01353 } while (i__ < m);
01354
01355 ++b;
01356 return b;
01357 } /* trsat_ */
|
|
||||||||||||||||||||
|
Definition at line 2168 of file TCL.cxx. References s(), trpck(), trsa(), trsinv(), trupck(), and ucopy(). 02169 {
02170 // Linear Equations, Matrix Inversion
02171 // trsequ solves the matrix equation
02172 //
02173 // SMX*x = B
02174 //
02175 // which represents a system of m simultaneous linear equations with n right-hand sides:
02176 // SMX is an unpacked symmetric matrix (all elements) (m x m)
02177 // B is an unpacked matrix of right-hand sides (n x m)
02178 //
02179 double *mem = new double[(m*(m+1))/2+m];
02180 double *v = mem;
02181 double *s = v+m;
02182 if (!b) n=0;
02183 TCL::trpck (smx,s ,m);
02184 TCL::trsinv(s ,s, m);
02185
02186 for (int i=0;i<n;i++) {
02187 TCL::trsa (s ,b+i*m, v, m, 1);
02188 TCL::ucopy (v ,b+i*m, m);}
02189 TCL::trupck(s ,smx, m);
02190 delete [] mem;
02191 return b;
02192 }
|
|
||||||||||||||||||||
|
Definition at line 2142 of file TCL.cxx. References s(), trpck(), trsa(), trsinv(), trupck(), and ucopy(). 02143 {
02144 // Linear Equations, Matrix Inversion
02145 // trsequ solves the matrix equation
02146 //
02147 // SMX*x = B
02148 //
02149 // which represents a system of m simultaneous linear equations with n right-hand sides:
02150 // SMX is an unpacked symmetric matrix (all elements) (m x m)
02151 // B is an unpacked matrix of right-hand sides (n x m)
02152 //
02153 float *mem = new float[(m*(m+1))/2+m];
02154 float *v = mem;
02155 float *s = v+m;
02156 if (!b) n=0;
02157 TCL::trpck (smx,s ,m);
02158 TCL::trsinv(s ,s, m);
02159
02160 for (int i=0;i<n;i++) {
02161 TCL::trsa (s ,b+i*m, v, m, 1);
02162 TCL::ucopy (v ,b+i*m, m);}
02163 TCL::trupck(s ,smx, m);
02164 delete [] mem;
02165 return b;
02166 }
|
|
||||||||||||||||
|
Definition at line 1947 of file TCL.cxx. References trchlu(), trinv(), and trsmul(). 01948 {
01949 // trsinv.F -- translated by f2c (version 19970219).
01950 // CERN PROGLIB# F112 TRSINV .VERSION KERNFOR 2.08 741218
01951 // ORIG. 18/12/74 WH */
01952 //BEGIN_HTML <!--
01953 /* -->
01954 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01955 <!--*/
01956 // -->END_HTML
01957
01958 /* Function Body */
01959 trchlu(g, gi, n);
01960 trinv(gi, gi, n);
01961 trsmul(gi, gi, n);
01962
01963 return 0;
01964 } /* trsinv_ */
|
|
||||||||||||||||
|
Definition at line 1164 of file TCL.cxx. References trchlu(), trinv(), and trsmul(). Referenced by trsequ(). 01165 {
01166 // trsinv.F -- translated by f2c (version 19970219).
01167 // CERN PROGLIB# F112 TRSINV .VERSION KERNFOR 2.08 741218
01168 // ORIG. 18/12/74 WH */
01169 //BEGIN_HTML <!--
01170 /* -->
01171 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01172 <!--*/
01173 // -->END_HTML
01174
01175 /* Function Body */
01176 trchlu(g, gi, n);
01177 trinv(gi, gi, n);
01178 return trsmul(gi, gi, n);
01179 } /* trsinv_ */
|
|
||||||||||||||||
|
Definition at line 1967 of file TCL.cxx. References s(). 01968 {
01969 // trsmlu.F -- translated by f2c (version 19970219).
01970 // CERN PROGLIB# F112 TRSMLU .VERSION KERNFOR 4.15 861204 */
01971 // ORIG. 18/12/74 WH */
01972 //BEGIN_HTML <!--
01973 /* -->
01974 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01975 <!--*/
01976 // -->END_HTML
01977
01978 /* Local variables */
01979 int lhor, lver, i__, k, l, ind;
01980 double sum;
01981
01982 /* Parameter adjuTments */
01983 --s; --u;
01984
01985 /* Function Body */
01986 ind = (n * n + n) / 2;
01987
01988 for (i__ = 1; i__ <= n; ++i__) {
01989 lver = ind;
01990
01991 for (k = i__; k <= n; ++k,--ind) {
01992 lhor = ind; sum = 0.;
01993 for (l = k; l <= n; ++l,--lver,--lhor)
01994 sum += u[lver] * u[lhor];
01995 s[ind] = sum;
01996 }
01997 }
01998
01999 return 0;
02000 } /* trsmlu_ */
|
|
||||||||||||||||
|
Definition at line 1182 of file TCL.cxx. References s(). 01183 {
01184 // trsmlu.F -- translated by f2c (version 19970219).
01185 // CERN PROGLIB# F112 TRSMLU .VERSION KERNFOR 4.15 861204 */
01186 // ORIG. 18/12/74 WH */
01187 //BEGIN_HTML <!--
01188 /* -->
01189 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01190 <!--*/
01191 // -->END_HTML
01192
01193 /* Local variables */
01194 int lhor, lver, i__, k, l, ind;
01195 double sum;
01196
01197 /* Parameter adjuTments */
01198 --s; --u;
01199
01200 /* Function Body */
01201 ind = (n * n + n) / 2;
01202
01203 for (i__ = 1; i__ <= n; ++i__) {
01204 lver = ind;
01205
01206 for (k = i__; k <= n; ++k,--ind) {
01207 lhor = ind; sum = 0.;
01208 for (l = k; l <= n; ++l,--lver,--lhor)
01209 sum += u[lver] * u[lhor];
01210 s[ind] = sum;
01211 }
01212 }
01213 ++s;
01214 return s;
01215 } /* trsmlu_ */
|
|
||||||||||||||||
|
Definition at line 2003 of file TCL.cxx. 02004 {
02005 // trsmul.F -- translated by f2c (version 19970219).
02006 // CERN PROGLIB# F112 TRSMUL .VERSION KERNFOR 4.15 861204 */
02007 // ORIG. 18/12/74 WH */
02008 //BEGIN_HTML <!--
02009 /* -->
02010 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
02011 <!--*/
02012 // -->END_HTML
02013
02014 /* Local variables */
02015 int lhor, lver, lpiv, i__, j, k, ind;
02016 double sum;
02017
02018 /* Parameter adjuTments */
02019 --gi; --g;
02020
02021 /* Function Body */
02022 ind = 1;
02023 lpiv = 0;
02024 for (i__ = 1; i__ <= n; ++i__) {
02025 lpiv += i__;
02026 for (j = 1; j <= i__; ++j,++ind) {
02027 lver = lpiv;
02028 lhor = ind;
02029 sum = 0.;
02030 for (k = i__; k <= n;lhor += k,lver += k,++k)
02031 sum += g[lver] * g[lhor];
02032 gi[ind] = sum;
02033 }
02034 }
02035
02036 return 0;
02037 } /* trsmul_ */
|
|
||||||||||||||||
|
Definition at line 1218 of file TCL.cxx. Referenced by trsinv(). 01219 {
01220 // trsmul.F -- translated by f2c (version 19970219).
01221 // CERN PROGLIB# F112 TRSMUL .VERSION KERNFOR 4.15 861204 */
01222 // ORIG. 18/12/74 WH */
01223 //BEGIN_HTML <!--
01224 /* -->
01225 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01226 <!--*/
01227 // -->END_HTML
01228
01229 /* Local variables */
01230 int lhor, lver, lpiv, i__, j, k, ind;
01231 double sum;
01232
01233 /* Parameter adjuTments */
01234 --gi; --g;
01235
01236 /* Function Body */
01237 ind = 1;
01238 lpiv = 0;
01239 for (i__ = 1; i__ <= n; ++i__) {
01240 lpiv += i__;
01241 for (j = 1; j <= i__; ++j,++ind) {
01242 lver = lpiv;
01243 lhor = ind;
01244 sum = 0.;
01245 for (k = i__; k <= n; lhor += k,lver += k,++k)
01246 sum += g[lver] * g[lhor];
01247 gi[ind] = sum;
01248 }
01249 }
01250 ++gi;
01251 return gi;
01252 } /* trsmul_ */
|
|
||||||||||||||||
|
Definition at line 2040 of file TCL.cxx. References s(). 02041 {
02042 // trupck.F -- translated by f2c (version 19970219).
02043 // CERN PROGLIB# F112 TRUPCK .VERSION KERNFOR 2.08 741218
02044 // ORIG. 18/12/74 WH
02045 //BEGIN_HTML <!--
02046 /* -->
02047 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
02048 <!--*/
02049 // -->END_HTML
02050
02051
02052 int i__, im, is, iu, iv, ih, m2;
02053
02054 /* Parameter adjuTments */
02055 --s; --u;
02056
02057 /* Function Body */
02058 m2 = m * m;
02059 is = m2;
02060 iu = (m2 + m) / 2;
02061 i__ = m - 1;
02062
02063 do {
02064 im = i__ * m;
02065 do {
02066 s[is] = u[iu];
02067 --is;
02068 --iu;
02069 } while (is > im);
02070 is = is - m + i__;
02071 --i__;
02072 } while (i__ >= 0);
02073
02074 is = 1;
02075 do {
02076 iv = is;
02077 ih = is;
02078 while (1) {
02079 iv += m;
02080 ++ih;
02081 if (iv > m2) break;
02082 s[ih] = s[iv];
02083 }
02084 is = is + m + 1;
02085 } while (is < m2);
02086
02087 return 0;
02088 } /* trupck_ */
|
|
||||||||||||||||
|
Definition at line 1255 of file TCL.cxx. References s(). Referenced by trsequ(). 01256 {
01257 // trupck.F -- translated by f2c (version 19970219).
01258 // CERN PROGLIB# F112 TRUPCK .VERSION KERNFOR 2.08 741218
01259 // ORIG. 18/12/74 WH
01260 //BEGIN_HTML <!--
01261 /* -->
01262 <b>see original documentation of CERNLIB package</b> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/f112/top.html">F112</A>
01263 <!--*/
01264 // -->END_HTML
01265
01266
01267 int i__, im, is, iu, iv, ih, m2;
01268
01269 /* Parameter adjuTments */
01270 --s; --u;
01271
01272 /* Function Body */
01273 m2 = m * m;
01274 is = m2;
01275 iu = (m2 + m) / 2;
01276 i__ = m - 1;
01277
01278 do {
01279 im = i__ * m;
01280 do {
01281 s[is] = u[iu];
01282 --is;
01283 --iu;
01284 } while (is > im);
01285 is = is - m + i__;
01286 --i__;
01287 } while (i__ >= 0);
01288
01289 is = 1;
01290 do {
01291 iv = is;
01292 ih = is;
01293 while (1) {
01294 iv += m;
01295 ++ih;
01296 if (iv > m2) break;
01297 s[ih] = s[iv];
01298 }
01299 is = is + m + 1;
01300 } while (is < m2);
01301
01302 ++s;
01303 return s;
01304 } /* trupck_ */
|
|
||||||||||||||||
|
Definition at line 395 of file TCL.h. 00396 {
00397 //to be documented
00398 if (n <= 0) return 0; memcpy(a,b,n*sizeof(void *)); return a;
00399 }
|
|
||||||||||||||||
|
Definition at line 388 of file TCL.h. 00389 {
00390 //to be documented
00391 if (n <= 0) return 0; memcpy(a,b,n*sizeof(double)); return a;
00392 }
|
|
||||||||||||||||
|
Definition at line 370 of file TCL.h. 00371 {
00372 //to be documented
00373 if (n <= 0) return 0;
00374 for (int i=0;i<n;i++,a++,b++) *a = float(*b);
00375 return a;
00376 }
|
|
||||||||||||||||
|
Definition at line 379 of file TCL.h. 00380 {
00381 //to be documented
00382 if (n <= 0) return 0;
00383 for (int i=0;i<n;i++,a++,b++) *a = double(*b);
00384 return a;
00385 }
|
|
||||||||||||||||
|
Definition at line 363 of file TCL.h. 00364 {
00365 //to be documented
00366 if (n <= 0) return 0; memcpy(a,b,n*sizeof(float)); return a;
00367 }
|
|
||||||||||||||||
|
Definition at line 356 of file TCL.h. Referenced by trsequ(). 00357 {
00358 //to be documented
00359 if (n <= 0) return 0; memcpy(a,b,n*sizeof(int)); return a;
00360 }
|
|
||||||||||||||||||||
|
Definition at line 430 of file TCL.h. 00431 {
00432 //to be documented
00433 if (n <= 0) return 0;
00434 for (int i=0;i<n;i++) a[i] = b[i] + c[i];
00435 return a;
00436 }
|
|
||||||||||||||||||||
|
Definition at line 421 of file TCL.h. 00422 {
00423 //to be documented
00424 if (n <= 0) return 0;
00425 for (int i=0;i<n;i++) a[i] = b[i] + c[i];
00426 return a;
00427 }
|
|
||||||||||||||||||||
|
Definition at line 412 of file TCL.h. 00413 {
00414 //to be documented
00415 if (n <= 0) return 0;
00416 for (int i=0;i<n;i++) a[i] = b[i] + c[i];
00417 return a;
00418 }
|
|
||||||||||||||||||||
|
Definition at line 403 of file TCL.h. 00404 {
00405 //to be documented
00406 if (n <= 0) return 0;
00407 for (int i=0;i<n;i++) a[i] = b[i] + c[i];
00408 return a;
00409 }
|
|
||||||||||||||||
|
Definition at line 499 of file TCL.h. 00500 {
00501 //to be documented
00502 if (n <= 0) return 0;
00503 for (int i=0;i<n;i++) x[i] = -a[i];
00504 return x;
00505 }
|
|
||||||||||||||||
|
Definition at line 491 of file TCL.h. 00492 {
00493 //to be documented
00494 if (n <= 0) return 0;
00495 for (int i=0;i<n;i++) x[i] = -a[i];
00496 return x;
00497 }
|
|
||||||||||||||||
|
Definition at line 448 of file TCL.h. 00449 {
00450 //to be documented
00451 double x=0;
00452 if (n>0)
00453 for (int i=0;i<n;i++,a++,b++) x += (*a) * (*b);
00454 return x;
00455 }
|
|
||||||||||||||||
|
Definition at line 439 of file TCL.h. 00440 {
00441 //to be documented
00442 float x=0;
00443 if (n>0)
00444 for (int i=0;i<n;i++,a++,b++) x += (*a) * (*b);
00445 return x;
00446 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 556 of file TCL.h. 00557 {
00558 //to be documented
00559 for (int i=0;i<n;i++) x[i]=a[i]*fa+b[i]*fb;
00560 return x;
00561 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 548 of file TCL.h. 00549 {
00550 //to be documented
00551 for (int i=0;i<n;i++){x[i]=a[i]*fa+b[i]*fb;};
00552 return x;
00553 }
|
|
||||||||||||||||||||||||
|
Definition at line 576 of file TCL.h. 00577 {
00578 // x = G*c
00579 for (int i=0; i<n; i++) {
00580 double sum = 0;
00581 for (int j=0; j<m; j++) sum += G[j + m*i]*c[j];
00582 x[i] = sum;
00583 }
00584 return x;
00585 }
|
|
||||||||||||||||||||||||
|
Definition at line 564 of file TCL.h. 00565 {
00566 // x = G*c
00567 for (int i=0; i<n; i++) {
00568 double sum = 0;
00569 for (int j=0; j<m; j++) sum += G[j + m*i]*c[j];
00570 x[i] = sum;
00571 }
00572 return x;
00573 }
|
|
||||||||||||||||||||||||
|
Definition at line 600 of file TCL.h. 00601 {
00602 // x = c*G
00603 for (int j=0; j<m; j++) {
00604 double sum = 0;
00605 for (int i=0; i<n; i++) sum += G[j + n*i]*c[i];
00606 x[j] = sum;
00607 }
00608 return x;
00609 }
|
|
||||||||||||||||||||||||
|
Definition at line 588 of file TCL.h. 00589 {
00590 // x = c*G
00591 for (int j=0; j<m; j++) {
00592 double sum = 0;
00593 for (int i=0; i<n; i++) sum += G[j + n*i]*c[i];
00594 x[j] = sum;
00595 }
00596 return x;
00597 }
|
|
||||||||||||||||||||
|
Definition at line 540 of file TCL.h. 00541 {
00542 //to be documented
00543 for (int i=0;i<n;i++) b[i]=scale*a[i];
00544 return b;
00545 }
|
|
||||||||||||||||||||
|
Definition at line 532 of file TCL.h. 00533 {
00534 //to be documented
00535 for (int i=0;i<n;i++) b[i]=scale*a[i];
00536 return b;
00537 }
|
|
||||||||||||||||||||
|
Definition at line 483 of file TCL.h. 00484 {
00485 //to be documented
00486 if (n <= 0) return 0;
00487 for (int i=0;i<n;i++) a[i] = b[i] - c[i];
00488 return a;
00489 }
|
|
||||||||||||||||||||
|
Definition at line 474 of file TCL.h. 00475 {
00476 //to be documented
00477 if (n <= 0) return 0;
00478 for (int i=0;i<n;i++) a[i] = b[i] - c[i];
00479 return a;
00480 }
|
|
||||||||||||||||||||
|
Definition at line 466 of file TCL.h. 00467 {
00468 //to be documented
00469 if (n <= 0) return 0;
00470 for (int i=0;i<n;i++) x[i] = a[i]-b[i];
00471 return x;
00472 }
|
|
||||||||||||||||||||
|
Definition at line 457 of file TCL.h. 00458 {
00459 //to be documented
00460 if (n <= 0) return 0;
00461 for (int i=0;i<n;i++) x[i] = a[i]-b[i];
00462 return x;
00463 }
|
|
||||||||||||
|
Definition at line 524 of file TCL.h. 00525 {
00526 //to be documented
00527 if (n1 <= 0) return 0;
00528 return (void **)memset(a,0,n1*sizeof(void *));
00529 }
|
|
||||||||||||
|
Definition at line 516 of file TCL.h. 00517 {
00518 //to be documented
00519 if (n1 <= 0) return 0;
00520 return (double *)memset(a,0,n1*sizeof(double));
00521 }
|
|
||||||||||||
|
Definition at line 508 of file TCL.h. Referenced by tratsa(), and trqsq(). 00509 {
00510 //to be documented
00511 if (n1 <= 0) return 0;
00512 return (float *)memset(a,0,n1*sizeof(float));
00513 }
|
1.3.9.1