]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/04/01 15:02:37 mclareni | |
6 | * Mathlib gen | |
7 | * | |
8 | * | |
9 | #include "gen/pilot.h" | |
10 | SUBROUTINE ORTRAN(NM,N,LOW,IGH,A,ORT,Z) | |
11 | INTEGER I,J,N,KL,MM,MP,NM,IGH,LOW,MP1 | |
12 | REAL A(NM,IGH),ORT(IGH),Z(NM,N) | |
13 | REAL G,H | |
14 | DO 80 I = 1, N | |
15 | DO 60 J = 1, N | |
16 | 60 Z(I,J) = 0.0 | |
17 | Z(I,I) = 1.0 | |
18 | 80 CONTINUE | |
19 | KL = IGH - LOW - 1 | |
20 | IF (KL .LT. 1) GO TO 200 | |
21 | DO 140 MM = 1, KL | |
22 | MP = IGH - MM | |
23 | H = A(MP,MP-1) * ORT(MP) | |
24 | IF (H .EQ. 0.0) GO TO 140 | |
25 | MP1 = MP + 1 | |
26 | DO 100 I = MP1, IGH | |
27 | 100 ORT(I) = A(I,MP-1) | |
28 | DO 130 J = MP, IGH | |
29 | G = 0.0 | |
30 | DO 110 I = MP, IGH | |
31 | 110 G = G + ORT(I) * Z(I,J) | |
32 | G = G / H | |
33 | DO 120 I = MP, IGH | |
34 | 120 Z(I,J) = Z(I,J) + G * ORT(I) | |
35 | 130 CONTINUE | |
36 | 140 CONTINUE | |
37 | 200 RETURN | |
38 | END |