This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / f / figi2.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1996/04/01 15:02:35  mclareni
6 * Mathlib gen
7 *
8 *
9 #include "gen/pilot.h"
10       SUBROUTINE FIGI2(NM,N,T,D,E,Z,IERR)
11       INTEGER I,J,N,NM,IERR
12       REAL T(NM,3),D(N),E(N),Z(NM,N)
13       REAL H
14       IERR = 0
15       DO 100 I = 1, N
16          DO 50 J = 1, N
17    50    Z(I,J) = 0.0
18          IF (I .EQ. 1) GO TO 70
19          H = T(I,1) * T(I-1,3)
20          IF (H) 900, 60, 80
21    60    IF (T(I,1) .NE. 0.0 .OR. T(I-1,3) .NE. 0.0) GO TO 1000
22          E(I) = 0.0
23    70    Z(I,I) = 1.0
24          GO TO 90
25    80    E(I) = SQRT(H)
26          Z(I,I) = Z(I-1,I-1) * E(I) / T(I-1,3)
27    90    D(I) = T(I,2)
28   100 CONTINUE
29       GO TO 1001
30   900 IERR = N + I
31       GO TO 1001
32  1000 IERR = 2 * N + I
33  1001 RETURN
34       END