]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/divon/nodaud.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / divon / nodaud.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/04/01 15:03:25 mclareni
6* Mathlib gen
7*
8*
9#include "gen/pilot.h"
10 SUBROUTINE NODAUD (PARENT,TNODE,NEWNOD,NEWLFT,TREE)
11 INTEGER PARENT,TNODE,NEWNOD,TREE(4,1000),SON,NEWLFT
12 INTEGER SNODES(100)
13 INTEGER PNODES,MNODES
14 IF(100.GT.100) GOTO 200
15 PNODES=0
16 MNODES=100
17 PNODES=PNODES+1
18 IF(PNODES.GT.MNODES) GOTO 160
19 SNODES(PNODES)=PARENT
20 10 IF(TNODE.GT.TREE(1,PARENT)) GOTO 40
21 IF(PNODES.LE.0) GOTO 150
22 PARENT=SNODES(PNODES)
23 IF(TREE(4,PARENT).GE.0) GOTO 20
24 SON=TREE(2,PARENT)
25 GOTO 30
26 20 SON=TREE(3,PARENT)
27 30 IF(SON.LE.0) GOTO 70
28 PARENT=SON
29 PNODES=PNODES+1
30 IF(PNODES.GT.MNODES) GOTO 160
31 SNODES(PNODES)=PARENT
32 GOTO 70
33 40 IF(PNODES.LE.0) GOTO 150
34 PARENT=SNODES(PNODES)
35 IF(TREE(4,PARENT).LE.0) GOTO 50
36 SON=TREE(2,PARENT)
37 GOTO 60
38 50 SON=TREE(3,PARENT)
39 60 IF(SON.LE.0) GOTO 70
40 PARENT=SON
41 PNODES=PNODES+1
42 IF(PNODES.GT.MNODES) GOTO 160
43 SNODES(PNODES)=PARENT
44 70 IF(SON.GE.0) GOTO 10
45 IF(TNODE.NE.-SON) GOTO 220
46 GOTO 80
47 80 IF(TREE(4,PARENT).GE.0) GOTO 100
48 IF(SON.NE.TREE(3,PARENT)) GOTO 90
49 TREE(3,PARENT)=NEWNOD
50 GOTO 120
51 90 TREE(2,PARENT)=NEWNOD
52 GOTO 120
53 100 IF(SON.NE.TREE(2,PARENT)) GOTO 110
54 TREE(2,PARENT)=NEWNOD
55 GOTO 120
56 110 TREE(3,PARENT)=NEWNOD
57 120 SON=NEWNOD
58 130 IF(TREE(2,PARENT).EQ.SON.AND.TREE(4,PARENT).LT.0.OR.TREE(3,PARENT
59 1).EQ.SON.AND.TREE(4,PARENT).GT.0) GOTO 140
60 SON=PARENT
61 PNODES=PNODES-1
62 IF(PNODES.LT.0) GOTO 180
63 IF(PNODES.LE.0) GOTO 150
64 PARENT=SNODES(PNODES)
65 GOTO 130
66 140 TREE(1,PARENT)=NEWLFT
67 150 RETURN
68 160 WRITE(6,170)
69 170 FORMAT(' NODAUD STACK OVERFLOW')
70 STOP
71 180 WRITE(6,190)
72 190 FORMAT(' NODAUD STACK UNDERFLOW')
73 STOP
74 200 WRITE(6,210)
75 210 FORMAT(' NODAUD IMPOSSIBLE')
76 STOP
77 220 WRITE(6,230) TNODE,TREE(SON,PARENT)
78 230 FORMAT(' LOOKING FOR BUCKET ',I10,' BUT FOUND ',I10)
79 STOP
80 END