]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/kernlib/kerngen/tcgen/trinv.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / kernlib / kerngen / tcgen / trinv.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/02/15 17:49:54 mclareni
6* Kernlib
7*
8*
9#include "kerngen/pilot.h"
10 SUBROUTINE TRINV (T,S,N)
11C
12C CERN PROGLIB# F112 TRINV .VERSION KERNFOR 4.15 861204
13C ORIG. 18/12/74 WH
14C
15#if defined(CERNLIB_INTDOUBL)
16 DOUBLE PRECISION SUM, R
17#endif
18 DIMENSION T(*),S(*)
19C
20 MX = (N*N+N)/2
21 IPIV = MX
22C
23 I = N
24 10 R = 0.
25 IF (T(IPIV).GT.0.) R=1./T(IPIV)
26 S(IPIV) = R
27 NDSTEP = N
28 IND = MX - N + I
29C
30 20 IF (IND.EQ.IPIV) GO TO 50
31 SUM = 0.
32 IF (R.EQ.0.) GO TO 40
33 LHOR = IPIV
34 LVER = IND
35 J = I
36C
37 30 LHOR = LHOR + J
38 LVER = LVER + 1
39 SUM = SUM + T(LHOR)*S(LVER)
40 J = J + 1
41 IF (LHOR.LT.IND) GO TO 30
42C
43 40 S(IND) = - SUM*R
44 NDSTEP = NDSTEP - 1
45 IND = IND - NDSTEP
46 GO TO 20
47C
48 50 IPIV = IPIV - I
49 I = I - 1
50 IF (I.GT.0) GO TO 10
51C
52 RETURN
53 END