9
10 IMPLICIT NONE
11
12
13
14
15
16
17 INTEGER FRSTCL, IIL, LASTCL, MYPROC, NEEDIL, NEEDIU,
18 $ NPROCS
19 LOGICAL COLBRT
20
21
22 INTEGER PMYILS( * ), PMYIUS( * )
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 INTEGER I, NEEDIIL, NEEDIIU
75
76
77
78 neediil = needil + iil - 1
79 neediiu = neediu + iil - 1
80
81
82
83 DO 1 i = 1, nprocs
84 IF( pmyils(i).GT.neediil) GOTO 2
85 frstcl = i-1
86 1 CONTINUE
87 2 CONTINUE
88
89
90
91 DO 3 i = nprocs,1,-1
92 IF( pmyius(i).LT.neediiu ) THEN
93
94 IF( pmyius(i).GT.0 )
95 $ GOTO 4
96 ENDIF
97 lastcl = i-1
98 3 CONTINUE
99 4 CONTINUE
100
101
102 IF( (frstcl.LT.myproc).OR.(lastcl.GT.myproc) ) THEN
103 colbrt = .true.
104 ELSE
105 colbrt = .false.
106 ENDIF
107
108 RETURN