]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 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 |